0

我有一个包含(例如)的架构......

<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"/>

...我有一个期望返回“mytype”的 SOAP 调用。当我返回包含上述内容的 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"应该允许任何事情通过?

只是为了完成信息,名称空间http://www.mynamespace.co.uk/types可用于 SOAP 接收器。无论是否在模式中定义了“MYELEMENT”,无论是否使用 ,我都会收到此错误nillable="true"。我从客户那里收到 XML,因此无法从 MYELEMENT 中删除 xsi:nil = "true"。

4

1 回答 1

0

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

于 2011-12-05T10:58:39.643 回答