[ http://issues.apache.org/jira/browse/AXIS-895?page=comments#action_63350 ] Gerry Gao commented on AXIS-895: --------------------------------
I have review the newest attachment, and I think there is one thing miss in it. I am using AXIS for multi cookies with my own patch to HTTPSender.java. Most parts are the same. But the only different is that my patch preserve the original cookies which are set in the previous communication. As my expercience, some app servers use cookie to maintain session, e.g. a cookie like "jsessionid=al3jf32jif8329". The tricky thing is that the app server only sends this cookie at the very first response, and will not send this cookie again in the following response. In the lastest patch, it only put all the cookie in the last response to the next request, but does not preserve the previous one. I think this maybe an issue. For example, request 1: (no Cookie) response 1: Set-Cookie: jsessionid=1001 Set-Cookie: a=a request 2: Cookie: jsessionid=1001;a=a response 2: Set-Cookie: a=a1 Set-Cookie: b=b request 3: Cookie: a=a1;b=b See, the problem shows up. We lost the cookie "jsessionid=1001" in request 3. And the app server does need this cookie to continue maintaining the session. My comment is that not only put all cookies from reponse into the next request but also preserve the original ones. > Axis doesn't maintain more than one cookie with http > ---------------------------------------------------- > > Key: AXIS-895 > URL: http://issues.apache.org/jira/browse/AXIS-895 > Project: Axis > Type: Bug > Components: Basic Architecture > Versions: 1.0-rc2 > Environment: Operating System: Windows NT/2K > Platform: PC > Reporter: Daniel Desmeules > Attachments: CommonsHTTPSender.java.from1_2-RC3.patch, > CommonsHTTPSender.java.patch, HTTPSender.java.patch, HTTPSender.java.patch > > I started testing out deployment with a load balancer (F5) which adds its own > cookie to the http requests. There is also the tomcat cookie (JSESSIONID) > added > by the server. When I send the next request from the axis client, only the > last > cookie is sent. > Output from tcpmon: > Response from first request: > HTTP/1.1 200 OK > Set-Cookie: BIGipServerEngCTI=2365653770.49695.0000; expires=Tue, 27-May-2003 > 17:54:17 GMT; path=/ > Set-Cookie: JSESSIONID=ZL9dl3tfxkRAzPtdfEVJlQ**.tomcat1; Path=/axis > Content-Type: text/xml; charset=utf-8 > Date: Tue, 27 May 2003 17:14:17 GMT > Server: Apache Coyote/1.0 > Connection: close > <?xml version="1.0" encoding="UTF-8"?> > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <ns1:newSessionResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:ns1="urn:NuanceCTI"/> > </soapenv:Body> > </soapenv:Envelope> > Next client request with maintainSession set to true: > POST /axis/services/NuanceCTI HTTP/1.0 > Content-Type: text/xml; charset=utf-8 > Accept: application/soap+xml, application/dime, multipart/related, text/* > User-Agent: Axis/1.1 > Host: 10.3.0.22 > Cache-Control: no-cache > Pragma: no-cache > SOAPAction: "" > Content-Length: 1515 > Cookie: JSESSIONID=ZL9dl3tfxkRAzPtdfEVJlQ**.tomcat1 > .... > I will try to fix it here since I need it to work soon and send the fix back > (If I find how to do that) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira