2011-12-03 11 views
4

以下のコードを使用してクライアントからCookieを設定しようとしていますが、JAXWS RI 2.2.3を使用しています。コンテキストを使用してJAXWSのHTTP要求にCookieが設定されていません。

Map<String, Object> ctxt = ((BindingProvider) portType).getRequestContext(); 
Map<String, List<String>> httpHeaders = new HashMap<String, List<String>>(); 
httpHeaders.put("Content-Encoding", Collections.singletonList("gzip")); 
httpHeaders.put("Cookie", Collections.singletonList(cookie)); 
ctxt.put(MessageContext.HTTP_REQUEST_HEADERS, httpHeaders); 

SOAPログから、Cookieが設定されていないことがわかりますが、コンテキストヘッダーに設定されています。 Cookie以外のヘッダーが設定されていますが、その理由を確認できません。 あるサービスからセッションを取得し、別のサービスに設定する必要がありますが、ここではできません。

HTTPヘッダー:{= [mysession = "529fc605-8188-7f3b-21ad-92407976d5a9";]クッキー、受け入れエンコード= [GZIP]、コンテンツエンコード= [GZIP]}

--- [HTTPリクエスト - https://10.112.83.155:443/eam/sdk/]--- Accept:text/xml、multipart/related Accept-Encoding:gzipコンテンツエンコーディング:gzip Content-Type:text/xml; charset = utf-8 []セットクッキー:vmware_soap_session = "529fc605-8188-7f3b-21ad-92407976d5a9"; SOAPAction: "urn:internaleam/2.0"ユーザエージェント:JAX-WS RI 2.2.3-b01-

答えて

2

これはJAX-WSのバグです。バグのリンク:JAX_WS-1044

現在リリースされていないJAX-WS 2.2.7で修正されました。

関連する問題