Xml 在xs:any中解析时,xsi:nil验证失败
我有一个模式,包含例如Xml 在xs:any中解析时,xsi:nil验证失败,xml,xsd,tibco,xml-nil,Xml,Xsd,Tibco,Xml Nil,我有一个模式,包含例如 <xsd:complexType name="mytype"> <xsd:sequence> <xsd:any maxOccurs="unbounded" processContents="skip"/> </xsd:sequence> </xsd:complexType> 。。。还有一些包含这个元素的XML <MYELEMENT xmlns = "http://www.mynamespa
<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}复杂元素不可空
这是在TIBCO 5.5设计器中执行的SOAP调用。我知道TIBCO不是世界上最知名的工具;我真正想从这个问题中得到的是,这个错误是否是预期行为,可能是因为元素有一个已定义的名称空间???或者不是
我本以为processContents=skip应该允许任何内容通过
为了完成信息,SOAP接收方可以使用名称空间。无论“MYELEMENT”是否在模式中定义,无论是否使用nillable=true,我都会遇到此错误。我从客户处收到XML,因此无法从MYELEMENT中删除xsi:nil=true。我发现这是一个TIBCO Designer 5.5错误。使用5.6或更高版本。假定MYELEMENT是类型?您可以发布完整的模式和实例吗?我已经验证了该行为不应该导致错误。any不应该关心MYELEMENT是否在模式中,即使模式已命名。问题是一个TIBCO问题。实际上我应该说的是MYELEMENT的父级必须是mytype类型。