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?