You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Fa...@ubs.com on 2007/04/05 18:23:10 UTC

[Axis2] Trouble trying to find cookie from a non-Java web service using Axis2 client with xmlbeans binding

I am having trouble in my client code finding the cookie set by a web
service that I am trying to connect to....
 
I am using xmlbeans binding to generate stub code from the eclipse axis2
code generator.... but can't seem to get the cookie even though I have
set setManageSession(true) in both the serviceClient and
messageContext..... 
 
I have been able to connect and receive cookie in a C# client to the
same web service using CookieContainer....
 
In my client code, I have,
stub._getServiceClient().getOptions().setManageSession(true);

I get this for properties in messageContext,

{__HTTP_PROTOCOL_VERSION__=HTTP/1.0,
PROXY=org.apache.axis2.transport.http.HttpTransportProperties$ProxyPrope
rties@16a38b5}

{CHARACTER_SET_ENCODING=utf-8,
TRANSPORT_IN=org.apache.commons.httpclient.AutoCloseInputStream@b1074a,
CONTENT_WRITTEN=true}

{CHARACTER_SET_ENCODING=utf-8, TRANSPORT_IN=null, CONTENT_WRITTEN=true,
__HTTP_PROTOCOL_VERSION__=HTTP/1.0,
PROXY=org.apache.axis2.transport.http.HttpTransportProperties$ProxyPrope
rties@16a38b5}

{TRANSPORT_IN=null, __HTTP_PROTOCOL_VERSION__=HTTP/1.0,
PROXY=org.apache.axis2.transport.http.HttpTransportProperties$ProxyPrope
rties@16a38b5}

In the stub generated, I have. 

// FM Edit - begin

_messageContext.getOptions().setManageSession(true);

// FM Edit - end

// FM EDIT - BEGIN

System.out.println("ismanagesession _serviceClient = "+
_serviceClient.getOptions().isManageSession());

System.out.println("ismanagesession _messageContext = "+
_messageContext.getOptions().isManageSession());

TransportInDescription tid =
_messageContext.getOptions().getTransportIn();

if (tid!= null) {

System.out.println("got tid");

java.util.List paramList = tid.getParameters();

if (paramList!=null) {

System.out.println("got paramList");

for (int i=0; i<paramList.size(); i++){

System.out.println(paramList.get(i));

}

}

}

System.out.println(_operationClient.getOptions().getProperties().toStrin
g());

System.out.println(_operationClient.getOperationContext().getProperties(
).toString());

java.util.Map pMap = _returnMessageContext.getProperties();

System.out.println(pMap.toString());

Options mcOptions = _returnMessageContext.getOptions();

System.out.println(mcOptions.getProperties().toString());

System.out.println("getting cookies from httprequest");

javax.servlet.http.HttpServletRequest hsr =
(javax.servlet.http.HttpServletRequest)_returnMessageContext.getProperty
(HTTPConstants.MC_HTTP_SERVLETREQUEST);

if (hsr!=null) {

System.out.println("got httprequest");

javax.servlet.http.Cookie[] cookies = hsr.getCookies();

if (cookies != null) {

System.out.println("got some cookies from httprequest");

for (int i=0; i< cookies.length; i++) {

System.out.println(cookies[i].getName());

}

}

}

System.out.println("got cookies from httprequest");

System.out.println("getting cookies from hsResponse");

javax.servlet.http.HttpServletResponse hsResponse =
(javax.servlet.http.HttpServletResponse)_returnMessageContext.getPropert
y(HTTPConstants.MC_HTTP_SERVLETRESPONSE);

if (hsResponse!=null) {

System.out.println("got hsResponse");

javax.servlet.http.Cookie[] cookies = hsr.getCookies();

if (cookies != null) {

System.out.println("got some cookies from hsResponse");

for (int i=0; i< cookies.length; i++) {

System.out.println(cookies[i].getName());

}

}

}

System.out.println("got cookies from hsResponse");

System.out.println("ServiceContextID =
"+_returnMessageContext.getServiceContextID());

System.out.println("MessageID = "+_returnMessageContext.getMessageID());

System.out.println("ServiceGroupContextId =
"+_returnMessageContext.getServiceGroupContextId());

System.out.println("header cookie =
"+_returnMessageContext.getProperty(HTTPConstants.HEADER_COOKIE));

System.out.println("header cookie2 =
"+_returnMessageContext.getProperty(HTTPConstants.HEADER_COOKIE2));

System.out.println("cookie string =
"+_returnMessageContext.getProperty(HTTPConstants.COOKIE_STRING));

System.out.println("request headers =
"+_returnMessageContext.getProperty(HTTPConstants.REQUEST_HEADERS));

System.out.println("response headers =
"+_returnMessageContext.getProperty(HTTPConstants.RESPONSE_HEADERS));

System.out.println("header cookie =
"+_returnMessageContext.getServiceContext().getProperty(HTTPConstants.HE
ADER_COOKIE));

System.out.println("header cookie2 =
"+_returnMessageContext.getServiceContext().getProperty(HTTPConstants.HE
ADER_COOKIE2));

System.out.println("cookie string =
"+_returnMessageContext.getServiceContext().getProperty(HTTPConstants.CO
OKIE_STRING));

System.out.println("request headers =
"+_returnMessageContext.getServiceContext().getProperty(HTTPConstants.RE
QUEST_HEADERS));

System.out.println("response headers =
"+_returnMessageContext.getServiceContext().getProperty(HTTPConstants.RE
SPONSE_HEADERS));

System.out.println("header present =
"+_returnMessageContext.isHeaderPresent());

System.out.println(_returnEnv);

// FM EDIT - END

Faisal Memon