我有一个包含(例如)...
的模式<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)
这是在TIBCO 5.5设计器中执行的SOAP调用。据我所知,TIBCO并不是世界上最知名的工具;我真正想要摆脱这个问题的是错误是否是预期的行为(可能是因为元素有一个已定义的命名空间???)。
我原以为processContents="skip"
应该允许任何事情通过?
只是为了完成信息,SOAP接收器可以使用名称空间http://www.mynamespace.co.uk/types。无论是否在模式中定义了“MYELEMENT”,无论是否有nillable="true"
,我都会收到此错误。我从客户那里收到XML,因此无法从MYELEMENT中删除xsi:nil =“true”。
答案 0 :(得分:0)
我发现它是一个TIBCO Designer 5.5错误。使用5.6或更高版本。