使用PHP作为客户端向Java Web服务传递并使用jsessionid
我有一个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());
}
现在的问题是如何将生成的jsessionid
cookie值传递给这个以PHP为客户端语言的Java Web服务。下面的PHP代码段不起作用。Java Web服务总是生成一个新的会话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) 个答案