2017-02-03 2 views
0

私は現在Javaを使用しているWebサービスから消費しています。マイセットアップコードは次のようなものになります。Webサービスが接続をバインドしていますか?

Authenticator.setDefault(myAuth); 
service = new The_Service().getWSHttpBindingITheService(); 

Map<String, Object> requestContext = ((BindingProvider) service).getRequestContext(); 
Map<String, List<String>> headers = new HashMap<>(); 
headers.put("Username", Collections.singletonList(username)); 
headers.put("Password", Collections.singletonList(password)); 
requestContext.put(MessageContext.HTTP_REQUEST_HEADERS, headers); 
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url); 

をそして私はこのように消費:

TheResult r = service.getTheResult(resultId); 

これは、すべての罰金とダンディですが、この設定がどのように動作するかの私の理解が限られています。私が思っていることは:これはライブ接続ですか、それとも別々のリクエストとして機能しますか?

私が質問する理由は、再接続を処理する必要があるかどうかは不明です。失敗した場合は、連続したすべての要求が失敗するか、サービスが正常に機能していない間に失敗しますか?

答えて

1

あなたはHTTPBindingに

を使用しているようなあなたのコードから、それはあなたが「SOAPトレースを見てたときMkYong

上のようなネットワークを介して転送されているものを示してWeb上の様々な例がありますが見えますトラフィック "セクションでは、通常のHTTPリクエスト/レスポンスであることがわかります。

2つの要求を送信する場合、それらは別々の要求として処理されます。 HTTPキープアライブを使用する場合、同じ接続を使用することがあります。

連続した要求は、サーバーが稼働して正常に機能するとすぐに成功します。

関連する問題