我試圖使用CXF來使用SOAP Web服務。我遇到的問題是JAXB在嘗試使用WSDL時拋出。它不喜歡的部分是:屬性「任何」已經定義。使用<jaxb:property>來解決此衝突
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax"/>
<xs:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax"/>
</xs:sequence>
它給人的錯誤:
Property "Any" is already defined. Use
<jaxb:property>
to resolve this conflict.
從閱讀其他的問題,例如this之一,它可以定義一個外部綁定文件來解決錯誤。問題是我不知道如何在cxf-codegen-plugin
內做到這一點。任何人都可以指出我該怎麼做?
這裏是我的pom.xml
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/DataGeneratorInbox.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
詩篇。 wsdl是固定的。我沒有選擇將其更改爲更明智的選擇 –
您可以分享您的綁定文件嗎? – ronnyfm
不是真的我很害怕。不久前離開公司 –