2

非同期で呼び出す Web サービスがあります。javax.xml.ws.Response オブジェクトを返します。この Web サービス インターフェイスをモックして、同じ応答オブジェクトを返そうとしています。しかし、応答オブジェクトを構築できません。

Web サービス呼び出し:

public Response<com.company.SomeResponse> retrieveSomeValuesAsync(
        @WebParam(name = "arg0", targetNamespace = "")
        com.company.SomeRequestTO arg0
    );

だから私はこのメソッドを呼び出しています。ここで私のポイントは、javax.xml.ws.Response オブジェクトである戻りオブジェクト (Response) を構築する方法です。私はこのようなことをしようとしていましたが、うまくいきません。ClassCastException をスローします

マイコード:

Response<com.company.SomeResponse> someResponse = (Response<com.company.SomeResponse>)new com.company.SomeResponse();
4

2 に答える 2

0

JaxWsServerFactoryBean クラスを使用して SOAP エンドポイントを生成することをお勧めします。ここに JUnit ルールの実装例を掲載しました。

于 2016-10-29T14:59:26.087 に答える
0

javax.xml.ws.Responseはインターフェースです。したがって、それをモックアップするには、その実装を返す必要があります。クラスを作成し、このインターフェースを実装し、そのメソッドをオーバーライドしてから、メソッドでこのクラスのインスタンスを作成して返すだけです。

于 2013-02-02T23:07:16.270 に答える