0
我試圖讓CXF(2.7.7)使用JiBX(1.2.5)進行數據綁定。這份文件有點粗略,但有報道稱它取得了成功。一個問題是,CXF不會將配置傳遞給JiBX代碼生成器,因此如果您需要執行需要自定義的操作(例如將Joda DateTime映射到XML Schema日期),則需要能夠告訴CXF忽略特定的命名空間,然後通過單獨致電JiBX處理這些人。當使用JiBX作爲CXF數據庫時,是否包含工作?
我已經看到了使用CXF -nexclude標誌用於此目的的例子,如
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generateSources</id>
<phase>generate-sources</phase>
<goals>
<goal>wsdl2java</goal>
</goals>
<configuration>
<sourceRoot>${generated-sources.dir}/cxf</sourceRoot>
<wsdlRoot>${wsdl.dir}</wsdlRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${wsdl.dir}/GetCounters.wsdl</wsdl>
<dataBinding>jibx</dataBinding>
<extraargs>
<extraarg>-nexclude</extraarg>
<extraarg>http://www.example.com/counters/</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
</execution>
</executions>
</plugin>
我試圖內嵌和命名空間的進口版本,但-nexclude標誌沒有出現一起工作JiBX的。一種選擇可能是讓JiBX在不調用CXF插件的情況下完成整個WSDL,但顯然這會在生成的服務代碼中產生問題。一個醜陋的解決方法可能是讓JiBX重新生成該命名空間中的類的代碼,覆蓋由CXF創建的代碼。
-nexclude標誌可以工作嗎?