В настоящее время я работаю над проектом wsdl / soap с использованием Java / apache cxf. В файле wsdl часть xsd содержит внешний файл xsd.
Когда я строю свой файл (используя wsdl2java) все работает нормально. Однако, когда я пытаюсь открыть веб-страницу и использовать javascript, сгенерированный cxf, у меня появляется следующая ошибка:
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? Или это ошибка?
П.С .: Я относительно новичок во всем этом, поэтому, если вам нужно что-то еще, чтобы избежать этого, или если я не достаточно ясен, просто скажите мне.
Спасибо.