Пользовательский заголовок SOAP 1.1 и атрибут mustUnderstand - PullRequest
2 голосов
/ 01 марта 2012

My WebService (совместимый со спецификацией SOAP 1.1) использует собственный тип заголовка MyHeader , определенный в xsd следующим образом:

<xs:complexType name="MyHeader">
    <xs:sequence>
       <xs:element name="MyElement1" type="xs:string"></xs:element>
       <xs:element name="MyElement2" type="xs:string"></xs:element>
    </xs:sequence>
</xs:complexType>

К сожалению, сообщение SAOP, сгенерированное "платформой AXIS 1.4", содержит MyHeader элемент, содержащий mustUnderstand = "0" атрибут:

<ns:MyHeader soapenv:mustUnderstand="0" xmlns:ns="http://....">
   <ns:MyElement1>XXX</ns:MyElement1>
   <ns:MyElement2>YYY</ns:MyElement2>
</ns:MyHeader>

Согласно спецификации SOAP mustUnderstand может быть добавлен к каждому заголовку. Однако мне кажется, что определенные таким образом элементы MyHeader не могут содержать этот атрибут, поскольку полученный XML несовместим со спецификацией XML - он не соответствует правилам XML cvc-complex -типа .

Разрешено ли добавлять mustUnderstand атрибут к этому экземпляру заголовка? Правильно ли работает AXIS Framework 1.4?

1 Ответ

0 голосов
/ 01 марта 2012

Короче говоря, поищите "удаление атрибута mustUnderstand из заголовков", и это должно помочь вам найти решение;по умолчанию этот заголовок не должен быть добавлен;если вам действительно нужно его использовать, то я бы изменил вашу схему для части заголовка, включив эти атрибуты SOAP;если вы хотите посмотреть пример, взгляните на Схема заявки WS-I (удалить использование = "запрещено").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...