Microsoft Web服务和CXF客户端:JAXB无法理解"s:schema"

8 xsd wsdl web-services cxf wsdl2java

我有普通的Microsoft Web服务和普通的最新版本的CXF和Java/JDK 1.6,Eclipse等.当我运行wsdl2java时,JAXB部分抛出一个错误"由JAXB引发:未定义的元素声明:schema'"

wsdl的部分导致它看起来像:

<s:element name="GetDepartmentsResponse">
 <s:complexType>
  <s:sequence>
   <s:element minOccurs="0" maxOccurs="1" name="GetDepartmentsResult">
    <s:complexType>
     <s:sequence>
      <s:element ref="s:schema" /> 
      <s:any /> 
     </s:sequence>
    </s:complexType>
   </s:element>
  </s:sequence>
 </s:complexType>
</s:element>
Run Code Online (Sandbox Code Playgroud)

我可以<s:element ref="s:schema" />随处删除 并保留<s:any/>吗?它似乎是Java < - > Microsoft Web服务不可侵犯性的常见障碍.但我找不到CXF的任何解决方法.

谢谢

Dan*_*ulp 8

通常,您可以删除架构引用.您可能需要更改<s:any><s:any maxOccurs="2">或类似,以确保架构元素和其后的任何内容都有空间.