1

WS-Addressing を使用して、いくつかの Web サービスを呼び出す必要があります。Web サービスを呼び出すとき、ReplyTo は私が実装したコールバック エンドポイントに設定されます。

クライアントは、async with を使用してターゲット WSDL から生成されます。

<enableAsyncMapping>true</enableAsyncMapping>

Asyncこれにより、次の署名を使用して各 Web サービスのバージョンが生成されます。

javax.xml.ws.Response<SampleWebServiceOutput> sampleWebService(SampleWebServiceInput input)

sampleWebServicelikeを呼び出すと、

Response<SampleWebServiceOutput> response = clientWsPort.sampleWebService(input);

リクエストが成功した場合、サーバーは返さ202 Acceptedれますが、取得方法がわかりません。

を使用するresponse.get()と、応答がコールバック URL (WSA-Addressing Reply To) に送信されるため、永久にブロックされます。

サーバーがリクエストを正常に受け入れたかどうかを確実に知る方法の手がかりはありますか?

ありがとうございました。

4

1 に答える 1

0

別の返信先アドレスを設定したときに返された応答が null 応答になるようresponse.get()です。推奨される解決策はgetResponseContext()、バインディングから呼び出される のようなものを使用することです。

于 2016-03-05T13:58:00.153 に答える