Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Передача XML документа в SOAP / 10 сообщений из 10, страница 1 из 1
15.06.2016, 17:05
    #39256518
vjut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
Добрый вопрос.
Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача.
В связи с этим хотелось бы услышать мнение общественности.


Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной)

Какой способ является наиболее каноническим в данном случае?
...
Рейтинг: 0 / 0
15.06.2016, 18:30
    #39256585
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
vjutДобрый вопрос.
Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача.
В связи с этим хотелось бы услышать мнение общественности.


Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной)

Какой способ является наиболее каноническим в данном случае?

Не знаю...у меня проблем не было(а всё на этом построено)...
передаёте его как строковый параметр...единственное надо не забывать затенять служебные xml символы & <> и т.д.
...
Рейтинг: 0 / 0
15.06.2016, 19:07
    #39256613
vjut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
irbis_alединственное надо не забывать затенять служебные xml символы & <> и т.д.
В этом и проблема. Серьезно падает читаемость.
...
Рейтинг: 0 / 0
15.06.2016, 19:11
    #39256617
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
vjutirbis_alединственное надо не забывать затенять служебные xml символы & <> и т.д.
В этом и проблема. Серьезно падает читаемость.

Не ну если Вы глазками человеческими будите читать ,то да...а для машины всё равно.
Мой опыт... у меня ИС...
в SOAPе всего 4 метода
get_table(xml параметры) возвращает xml
execute (xml параметры)
get_blop-clob(xmk параметры) тут перевожу на base64)
И print,команда серверу напечатать документ.
...
Рейтинг: 0 / 0
16.06.2016, 07:49
    #39256750
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
vjutДобрый вопрос.
Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача.
В связи с этим хотелось бы услышать мнение общественности.


Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной)

Какой способ является наиболее каноническим в данном случае?

Главное не использовать Eny/EnyType :-)

Т.к. очень часто сталкивался, что заворачивают что-то (документ) в Eny/EnyType.
Очень часто этим грешат всякие самодельные и не очень ESB.

Поэтому если есть возможность, то просто сделайте нормальный контракт(wsdl, xsd).
В котором будет структура пересылаемых "документов".
С одной стороны повысится "читаемость", с другой стороны позволит использовать на ранних этапах отсечь кучу ошибок.
...
Рейтинг: 0 / 0
19.06.2016, 12:55
    #39258435
Vincent Vega
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
...
Рейтинг: 0 / 0
20.06.2016, 16:35
    #39259010
vjut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
Vincent Vega,

здесь 2 проблемы:
1. нельзя использовать CDATA внутри параметра.
2. А что делать если в передаваемом документе тоже есть блок CDATA?
...
Рейтинг: 0 / 0
20.06.2016, 16:44
    #39259021
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
vjutVincent Vega,

здесь 2 проблемы:
1. нельзя использовать CDATA внутри параметра.
2. А что делать если в передаваемом документе тоже есть блок CDATA?

Я вот не понял в чём чуть проблемы...
Вы используете какие-то уже готовые библиотеки?...Тогда они сами заворачивают и затеняют..
Я использую java ... и передаю xml как строку...
Мне приходит строка.к клиенту и серверу та же строка.
Всё затенение "прячется под компотом реализации" java либы.

И я думаю любая современная библиотека для soap на любом языке программирования это делает.

Другое дело если вы сам разбираете soap request(response) ...
Тогда Вас эти вещи действительно должны интересовать.
...
Рейтинг: 0 / 0
22.06.2016, 13:46
    #39260359
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
vjutVincent Vega,

здесь 2 проблемы:
1. нельзя использовать CDATA внутри параметра.
2. А что делать если в передаваемом документе тоже есть блок CDATA?

Если нельзя, но очень хочется, то можно.
Нормально все передавалось , т.е. CDATA в CDATA.
Стандартные маршаллеры/анмаршалерры все отлично экранируют.

А так.
Если у вас есть документ и есть на него контракт (xsd)
То в чем проблема?
...
Рейтинг: 0 / 0
02.07.2016, 16:52
    #39266852
locked
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача XML документа в SOAP
vjutДобрый вопрос.
Так как SOAP запрос по сути уже сам является xml документом, то встраивание ещё одного документа внутрь запроса достаточно нетривиальная задача.
В связи с этим хотелось бы услышать мнение общественности.


Передавая документ как base64 теряем в читаемости SOAP запроса. А адаптируя структуру исходного документа под запрос вносим нежелательные изменения и в некоторых случаях является недопустимой (к примеру xml подписан и любое изменение его структуры делает подпись недействительной)

Какой способ является наиболее каноническим в данном случае?
В этом случае запрос оформляется на уровне HTTP как Content-Type: Multipart/Related и твой документ идет как отдельная часть с референсом из SOAP сообщения. см сдесь
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Передача XML документа в SOAP / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]