WS-I Базовый профиль о мыле: тело
Я немного новичок в SOAP.
В моем WSDL у меня есть message
элемент состоит из нескольких part
элементы. в binding
часть моего WSDL, если soap:body
элемент не включает в себя parts
атрибут, я получаю ошибку соответствия базового профиля WS-I BP2119:
A document-literal binding which does not specify the parts attribute, has more than one wsdl:part in the associated wsdl:message element.
Я прочитал в некоторых документах, что если нет parts
атрибут указан, считается, что все part
элементы включены в привязку, но я предполагаю, что это утверждение не учитывает соответствие базового профиля. Поэтому я добавил parts
атрибут со всеми частями сообщения:
<soap:body parts="cpName fpList" use="literal"/>
Но затем я получаю ошибку BP2111:
One or more soapbind:body element(s) in a document-literal soap:binding does not have at most one part listed in the parts attribute.
Итак, я должен указать детали, но я могу поставить только одну? Разве эти две ошибки не противоречат друг другу? Как мне сойти с рук?
Или я должен соответствовать базовому профилю? Если нет, как мне отключить эти проверки в axis2?
1 ответ
Я нашел некоторые ответы здесь: http://www.ibm.com/developerworks/library/ws-usagewsdl/
В общем, шаблон с документальной литералом не разрешает несколько частей для одного сообщения. Сообщение должно состоять только из одной части, тип которой будет элементом XS, который сам может состоять из нескольких элементов.