使用PHP作为客户端将jsessionid传递给Java Web Service

时间:2013-07-15 13:45:35

标签: java php web-services soap

我有一个Java Web服务,应该从这样的客户端打印出传递的jsessionid(存储在JSESSIONID cookie中)。稍后应该可以访问此会话中的属性:

@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());
}

现在的问题是如何使用PHP作为客户端语言将生成的jsessionid cookie值传递给此Java Web Service。以下PHP代码段不起作用。 Java Web Service始终生成新的会话ID:

$SOAPClient = new SoapClient($wsdl, $options);
$SOAPClient->__setCookie("JSESSIONID", "4BFD7FC9C55472BA6BCB1863F266F31C");
$result = $SOAPClient->getContent(array("in" => "all"));

当然,我可以将jsessionid值作为Web服务参数传递,但我想使用Java会话中存储的属性。

使用传递的jessionid Web服务参数加载会话以访问属性是How can I manually load a Java session using a JSESSIONID?可能的解决方案吗?

0 个答案:

没有答案