xsi:nil在xs:any中解析时未通过验证

时间:2011-11-28 12:30:57

标签: 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.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”。

1 个答案:

答案 0 :(得分:0)

我发现它是一个TIBCO Designer 5.5错误。使用5.6或更高版本。