jsessionid
このようなクライアントから渡された (JSESSIONID Cookie に保存された) を出力する Java Web サービスがあります。後で、このセッションから属性にアクセスできるようになります。
@Resource
private WebServiceContext context;
@WebMethod(operationName = "getContent")
public ArrayList getContent(@WebParam(name = "in") {
MessageContext mc = context.getMessageContext();
HttpSession session = ((javax.servlet.http.HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST)).getSession();
System.out.println(session.getId());
}
jsessionid
問題は、クライアント言語として PHP を使用して、生成された Cookie 値をこの Java Web サービスに渡す方法です。次の PHP スニペットは機能しません。Java Web サービスは常に新しいセッション ID を生成しています。
$SOAPClient = new SoapClient($wsdl, $options);
$SOAPClient->__setCookie("JSESSIONID", "4BFD7FC9C55472BA6BCB1863F266F31C");
$result = $SOAPClient->getContent(array("in" => "all"));
もちろん、jsessionid
値を Web サービス パラメータとして渡すことはできますが、Java セッションから格納された属性を使用したいと考えています。
JSESSIONID を使用して Java セッションを手動でロードするにはどうすればよいですか? jessionid
渡されたWeb サービス パラメータを使用してセッションをロードし、属性にアクセスする解決策はありますか?