1

cxf を使用したいのですが、cxf-codegen-plugin wsdl2java を使用して Maven によって提供された WSDL からクライアント スタブを生成しようとしています。

問題は、targetNamespace の名前です。

http://ip:port/ws/EndpointName.inbound.ws:companyName

maven generate-sources フェーズは次のように失敗します。

[ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:2.7.5:wsdl2java (generate-jaxb) on project: Execution generate-jaxb of goal org.apache.cxf:cxf-codegen-plugin:2.7.5:wsdl2java failed: org.apache.cxf.tools.common.ToolException: : is not a valid char in the targetNamespace -> [Help 1]

エンドポイントは WebMethods を使用して開発されていると思います。この WS エンドポイントをホストしている会社は、targetNamespace を制御できないと言っています。

差し替えてみました

:companyName

/companyName

クライアント スタブの生成はうまくいきますが、サーバーに接続しようとするとエラーが発生します。

Caused by: javax.ejb.EJBException: javax.xml.ws.WebServiceException: Could not find service named {http://ip:port/ws/EndpointName.inbound.ws/companyName}WebServiceName in wsdl http://ip:port/ws/EndpointName.inbound.ws:companyName?WSDL

何か案が?WebMethods と互換性を持たせるには、axis2 に切り替える必要がありますか?

どうもありがとう

4

2 に答える 2

0

-validate=none を wsdl2java コマンドに追加すると、そのチェックがバイパスされると思います。

于 2013-06-27T23:17:04.740 に答える