私は次の問題を抱えています。
トップダウン アプローチを使用して SOAP サービスを実装しようとしています。WSDL ファイルが与えられ、それに対応する SOAP サービスを作成することになっています。
wsgen を使用して必要なファイルを生成しました。私は現在、初期テストを行い、サービスが機能することを証明しようとしていますが、うまくいきませんでした. これは、生成されたメソッドの 1 つである echo メソッドです。
@WebMethod(operationName = "Echo", action = "http://tempuri.org/echo")
@RequestWrapper(localName = "Echo", targetNamespace = "http://tempuri.org/", className = "org.tempuri.Echo")
@ResponseWrapper(localName = "EchoResponse", targetNamespace = "http://tempuri.org/", className = "org.tempuri.EchoResponse")
public void echo(@WebParam(name = "DatumTimePost", targetNamespace = "http://tempuri.org/") String dateTimePost,
@WebParam(name = "EchoResult", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.OUT) Holder<String> echoResult,
@WebParam(name = "DateTimeExt", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.OUT) Holder<String> DateTimeExt);
メソッドは Service1Soap という名前のサービスの一部であり、次の注釈があります。
@WebService(name = "Service1Soap", targetNamespace = "http://tempuri.org/")
@XmlSeeAlso({
ObjectFactory.class
})
エンドポイントを使用してサービスを公開しました。
Endpoint.publish("http://localhost:8080/ws/hello", new Service1SoapImpl());
ただし、SoapUI を使用して Echo メソッドを呼び出そうとすると、次のような応答が返されます。
<faultstring>Cannot find dispatch method for {http://tempuri.org/echo}Echo</faultstring>
SoapUI のリクエスト uri フィールドにhttp://localhost:8080/ws/helloを入力してメソッドを呼び出そうとしましたが、リクエスト自体は wsdl のインポート後に SOAPUI 自体によって生成されています。
私は自分が間違っていることに関するアイデアをほとんど使い果たしてしまったので、どんな種類の希望も大歓迎です.