У меня есть схема, содержащая (например) ...
<xsd:complexType name="mytype">
<xsd:sequence>
<xsd:any maxOccurs="unbounded" processContents="skip"/>
</xsd:sequence>
</xsd:complexType>
... и некоторый XML, содержащий этот элемент ...
<MYELEMENT xmlns = "http://www.mynamespace.co.uk/types" xsi:nil = "true"/>
... У меня естьSOAP-вызов, ожидающий возврата «mytype».Когда я возвращаю XML, содержащий вышеуказанное, я получаю следующую ошибку:
, вызванную: org.xml.sax.SAXException: ошибка проверки: # cvc-elt.3.1 Элемент "{http://www.mynamespace.co.uk/types}MYELEMENT"не может быть пустым. ({com.tibco.xml.validation} COMPLEX_E_ELEMENT_NOT_NILLABLE)
Это вызов SOAP, выполняемый в конструкторе TIBCO 5.5. Я понимаю, что TIBCO не является самым известным инструментом в мире;что я действительно хочу вывести из этого вопроса, так это то, является ли ошибка ожидаемым поведением (возможно, потому что элемент имеет определенное пространство имен ???) или нет.
Я бы подумал, что processContents="skip"
должен позволятьчто-нибудь через?
Просто для завершения информации, пространству имен http://www.mynamespace.co.uk/types доступно для получателя SOAP.Я получаю эту ошибку независимо от того, определено ли 'MYELEMENT' в схеме или нет, с или безnillable="true"
. Я получаю XML от клиента и поэтому не могу удалить xsi: nil = "true" из MYELEMENT.