2
我目前正在使用Java/apache cxf的wsdl/soap項目。在wsdl文件中,xsd部分包含一個xsd外部文件。
當我建立我的文件(使用wsdl2java)時,一切運行良好。然而,當我嘗試打開網頁,並使用由CXF產生的JavaScript,我有以下錯誤:在wsdl生成錯誤的Xsd選擇
May 24, 2011 11:34:32 AM org.apache.cxf.common.xmlschema.XmlSchemaUtils unsupportedConstruct
SEVERE: GROUP_CHILD
May 24, 2011 11:34:32 AM org.apache.cxf.transport.http_jetty.JettyHTTPDestination doService
WARNING: writeResponse failed:
org.apache.cxf.common.xmlschema.UnsupportedConstruct: GROUP_CHILD
...
我試圖抓住錯誤,我發現下面的塊的東西:
<xsd:complexType name="Scenario">
<xsd:sequence>
<xsd:element name="description" type="tns:Description" minOccurs="0"/>
<xsd:choice>
<xsd:element name="coordinates_center_position" type="tns:GeoCoord3D"/>
<xsd:element name="coordinates_center_position_link" type="tns:FileLink"/>
</xsd:choice>
<xsd:choice minOccurs="0">
<xsd:element name="environment_parameters" type="tns:EnvironmentParameters"/>
<xsd:element name="environment_parameters_link" type="tns:FileLink"/>
</xsd:choice>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="entity_object" type="tns:EntityObject"/>
<xsd:element name="entity_object_link" type="tns:FileLink"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
最後的選擇是產生錯誤,但如果我評論2個元素之一(註釋元素可以是任一個),錯誤消失(並且一切正常)。
我缺少cxf或xsd行爲的東西?或者這是一個錯誤?
P.S:我對所有這些東西都比較陌生,所以如果您需要其他東西來避免這種情況,或者如果我不夠清楚,請告訴我。
謝謝。
雖然這可能工作,這似乎並不等同於我。 在第二種情況下,您可以擁有a和b孩子,但仍然有效。 該選擇包括在序列中,但相反是錯誤的:) – 2011-08-22 06:33:46
我相信你的困惑來自忽略「無界」對選擇的影響;它確實允許後跟 - 仍然有效。閱讀方式如下:第一選擇,第二選擇等 – 2011-08-22 15:13:59
啊是的,我的不好,我忘記了選擇上的無界限,我的評論沒有考慮到這一點。 我會在白天試試你的解決方案,看看它是否會工作:) – 2011-08-23 06:58:58