2015-10-14 369 views
0

我試圖使用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> 
+0

詩篇。 wsdl是固定的。我沒有選擇將其更改爲更明智的選擇 –

+0

您可以分享您的綁定文件嗎? – ronnyfm

+0

不是真的我很害怕。不久前離開公司 –

回答

2

The issue is I'm not sure how to do this within the cxf-codegen-plugin . Can anyone point me at how to do it?

您可以在cxf-codegen-plugin<bindingFiles>屬性添加綁定文件中,這樣的相關部分:

<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> 
       <bindingFiles> 
        <bindingFile><!-- path to your file --></bindingFile> 
       </bindingFiles> 
      </configuration> 
      <goals> 
       <goal>wsdl2java</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
+0

@Tom Squires,我也面臨同樣的問題。我試圖編寫綁定文件,但仍面臨一些問題。任何人都可以提供這個綁定文件。 – Amar

+0

@Amar你沒有評論對的人,但看看[在這個問題](http://stackoverflow.com/questions/4394134/jaxb-property-value-is-already-defined-use-jaxbproperty -to-resolve-this)綁定文件。 – Tunaki