|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
Добрый вопрос. Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача. В связи с этим хотелось бы услышать мнение общественности. Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной) Какой способ является наиболее каноническим в данном случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 17:05 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
vjutДобрый вопрос. Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача. В связи с этим хотелось бы услышать мнение общественности. Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной) Какой способ является наиболее каноническим в данном случае? Не знаю...у меня проблем не было(а всё на этом построено)... передаёте его как строковый параметр...единственное надо не забывать затенять служебные xml символы & <> и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 18:30 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
irbis_alединственное надо не забывать затенять служебные xml символы & <> и т.д. В этом и проблема. Серьезно падает читаемость. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 19:07 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
vjutirbis_alединственное надо не забывать затенять служебные xml символы & <> и т.д. В этом и проблема. Серьезно падает читаемость. Не ну если Вы глазками человеческими будите читать ,то да...а для машины всё равно. Мой опыт... у меня ИС... в SOAPе всего 4 метода get_table(xml параметры) возвращает xml execute (xml параметры) get_blop-clob(xmk параметры) тут перевожу на base64) И print,команда серверу напечатать документ. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2016, 19:11 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
vjutДобрый вопрос. Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача. В связи с этим хотелось бы услышать мнение общественности. Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной) Какой способ является наиболее каноническим в данном случае? Главное не использовать Eny/EnyType :-) Т.к. очень часто сталкивался, что заворачивают что-то (документ) в Eny/EnyType. Очень часто этим грешат всякие самодельные и не очень ESB. Поэтому если есть возможность, то просто сделайте нормальный контракт(wsdl, xsd). В котором будет структура пересылаемых "документов". С одной стороны повысится "читаемость", с другой стороны позволит использовать на ранних этапах отсечь кучу ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2016, 07:49 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
Vincent Vega, здесь 2 проблемы: 1. нельзя использовать CDATA внутри параметра. 2. А что делать если в передаваемом документе тоже есть блок CDATA? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2016, 16:35 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
vjutVincent Vega, здесь 2 проблемы: 1. нельзя использовать CDATA внутри параметра. 2. А что делать если в передаваемом документе тоже есть блок CDATA? Я вот не понял в чём чуть проблемы... Вы используете какие-то уже готовые библиотеки?...Тогда они сами заворачивают и затеняют.. Я использую java ... и передаю xml как строку... Мне приходит строка.к клиенту и серверу та же строка. Всё затенение "прячется под компотом реализации" java либы. И я думаю любая современная библиотека для soap на любом языке программирования это делает. Другое дело если вы сам разбираете soap request(response) ... Тогда Вас эти вещи действительно должны интересовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2016, 16:44 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
vjutVincent Vega, здесь 2 проблемы: 1. нельзя использовать CDATA внутри параметра. 2. А что делать если в передаваемом документе тоже есть блок CDATA? Если нельзя, но очень хочется, то можно. Нормально все передавалось , т.е. CDATA в CDATA. Стандартные маршаллеры/анмаршалерры все отлично экранируют. А так. Если у вас есть документ и есть на него контракт (xsd) То в чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 13:46 |
|
Передача XML документа в SOAP
|
|||
---|---|---|---|
#18+
vjutДобрый вопрос. Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача. В связи с этим хотелось бы услышать мнение общественности. Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной) Какой способ является наиболее каноническим в данном случае? В этом случае запрос оформляется на уровне HTTP как Content-Type: Multipart/Related и твой документ идет как отдельная часть с референсом из SOAP сообщения. см сдесь ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2016, 16:52 |
|
|
start [/forum/topic.php?fid=33&fpage=9&tid=1547356]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 179ms |
0 / 0 |