そこで、JaxWsDynamicClientFactory を使用して SEI クラスを動的に作成しようとしています。以下のコードを実行する
JaxWsDynamicClientFactory def = JaxWsDynamicClientFactory.newInstance();
def.createClient("http://localhost:8080/TheTestService/TestService?wsdl");
クラスを生成します:
com.mycompany.project.service.GetProducts
com.mycompany.project.service.GetStatus
ランニング:
wsdl2Java -d "C/:outputdir" "http://localhost:8080/TheTestService/TestService?wsdl"
クラスを生成する
com.mycompany.project.service.ServiceInterface
com.mycompany.project.service.GetProducts
com.mycompany.project.service.GetStatus
com.mycompany.project.service.impl.ServiceInterface
さらに、電話をかけようとすると
client.invoke("getProducts", 0);
私は得る:
org.apache.cxf.common.i18n.UncheckedException: No operation was found with the name {http://impl.service.project.mycompany.com/}getProducts.
impl.service.project.mycompany.com で getProducts という名前のものが生成されないため、これは理にかなっていると思います。しかし、私は Web サービスを書いたので、Web サービス インターフェイスにメソッド getProducts(int id) があることを知っています。
ここで何が間違っていますか?CXF のドキュメントによると、動的クライアント ファクトリは wsdl2Java ツールと同じコード ジェネレータを使用します。その場合、同じクラスが生成されないのはなぜですか?
ありがとう、
チャック