2010-12-10 33 views
44

我想創建一個使用CXF的Web服務客戶端來使用WCF Web服務。 當我使用wsdl2java時,它會生成帶有JAXBElement類型而不是String的對象。如何防止在CXF Web服務客戶端中生成JAXBElement <String>?

我讀了關於使用jaxb bindings.xml文件設置generateElementProperty =「false」來嘗試修復問題,但我正在使用的Web服務包含7個導入的模式。

如何在所有七個模式中指定generateElementProperty="false",或者是否有將其應用於所有模式的方法?

回答

60

你必須如下創建一個綁定文件,這將讓全球應用,並把它作爲 WSDL2Java的 - B「bindings.txt」「WSDL」

<jaxb:bindings version="2.1" 
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <jaxb:globalBindings generateElementProperty="false"/> 
</jaxb:bindings> 
+7

http://cxf.apache.org /docs/maven-cxf-codegen-plugin-wsdl-to-java.html有關如何使用maven插件設置綁定文件的說明。 – ScArcher2 2011-01-19 16:36:17

+1

我不知道爲什麼它不是默認行爲。 – axk 2012-12-22 17:04:40

+1

如這裏所建議的那樣,爲映射文件使用更具體的文件擴展名比如'.xml'或'.xjb'會更好一些。http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/ 2.0/tutorial/doc/JAXBUsing4.html#wp148366 – schnatterer 2014-04-11 07:18:33

相關問題