axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anil Chukkapalli" <anilchukkapa...@gmail.com>
Subject Re: Axis2 Manage Session Cookie Manually
Date Tue, 24 Apr 2007 00:18:06 GMT
Jay


 Thank you for the help, documentation is weak at best. Can you tell me
which jar contains the SOAPEnvolope class. I included the jars in the lib
directory of th axis2 install. If this works i would be tempted to write an
article on interoperability of .NET and Java with session handling using
Axis2  :)  .


Thanks
Anil

On 4/23/07, James Arbo <arboj@copyright.com> wrote:
>
>  Anil,
>
>
>
> Below is the client side code that produces a valid response
> (MessageContext) from the server:
>
>
>
>           ServiceClient sender = new ServiceClient();
>
>                 OperationClient opClient = sender.createClient(
> ServiceClient.ANON_OUT_IN_OP);
>
>
>
>                 MessageContext outMsgCtx = new MessageContext();
>
>                 Options opts = outMsgCtx.getOptions();
>
>
>
>                 opts.setTo(targetEPR);
>
>                 opts.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>
>                 opts.setTimeOutInMilliSeconds(300000);
>
>                 opts.setAction("urn:sayHello");
>
>
>
>                 opts.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,true);
>
>
>
>                 outMsgCtx.setEnvelope(createSOAPEnvelope("Fred"));
>
>
>
>                 //now add the outgoing msg context to our client.
>
>                 opClient.addMessageContext(outMsgCtx);
>
>
>
>                 //make the call
>
>                 opClient.execute(true);
>
>
>
>                 /*
>
>                  * print the calls response
>
>                  */
>
>                 //retrieve the messageContext for the "in"coming response.
>
>                 MessageContext inMsgtCtx = opClient.getMessageContext("In");
>
>
>                 SOAPEnvelope response = inMsgtCtx.getEnvelope();
>
>                 System.out.println(response);
>
>
>
> Hope that helps. It took me quite a while to get an example of the http
> session and another of the soap session working. I find the documentation
> weak at best.
>
>
>
> Good luck.
>
>
>
> -Jay
>
> -----Original Message-----
> *From:* Anil Chukkapalli [mailto:anilchukkapalli@gmail.com]
> *Sent:* Monday, April 23, 2007 6:26 PM
> *To:* axis-user@ws.apache.org
> *Subject:* Re: Axis2 Manage Session Cookie Manually
>
>
>
> Hi
>
>   The problem that i am having is
>
>  MessageContext inMsgCtx = MessageContext.getCurrentMessageContext();
>
>  is returning me a null, is inMsgCtx a predefined class or an object, when
> should i call " MessageContext.getCurrentMessageContext()", i called it
> after i got the response. I am using the stub created using wsdl2java tool
> to create the stub so i had to do something in the effect of
>
>  xyzStub.OpenDBResponse response = xyzStub.OpenDB(openDB);
>
> Thank you
> Anil
>
> On 4/23/07, *James Arbo* <arboj@copyright.com> wrote:
>
> I've successfully retrieved and returned http session cookies.
>
>
>
> Here's a snippet for reading a cookie from an axis2 client:
>
>                 String incomingCookie = (String)
> inMsgCtx.getServiceContext().getProperty(HTTPConstants.COOKIE_STRING);
>
>
>
> Here's one for writing a cookie.
>
>
>
>                 /*
>
>                  * This is how to add a custom header, such as a cookie
>
>                  */
>
>                 Header hdr = new Header("Cookie","my_cookie=xyz;");
>
>                 ArrayList headers = new ArrayList();
>
>                 headers.add(hdr);
>
>                 opts = outMsgCtx.getOptions();
>
>                 opts.setProperty(HTTPConstants.HTTP_HEADERS,headers);
>
>
>
> You could do something similar to the above but the easiest way for me to
> get this working was to set the manageTransportSession=true in axis2.xmland then use
the following on the client side:
>
> opts.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,true);
>
>
>
> This tells axis to re-use the httpclient object for second, third, etc..
> requests. If this is done, the http-client remembers the JSESSIONID from the
> first request and sends it back to the server on subsequent requests.
>
>
>
>
>
> -Jay
>
>
>
>
>
> -----Original Message-----
> *From:* Anil Chukkapalli [mailto:anilchukkapalli@gmail.com]
> *Sent:* Monday, April 23, 2007 2:48 PM
> *To:* axis-user@ws.apache.org
> *Subject:* Axis2 Manage Session Cookie Manually
>
>
>
> Hi
>
>  Is there any way we can manage sessions manually using Axis2, my non java
> web service maintains session using cookies. Is there a way my Axis2 client
> can read the soap/http header to extract the session information and use the
> extracted infromation for further web service calls, example getting the
> UUID from the header and use the UUID to create a cookie in my Axis2 client
> using setProperty. I have tried using the set manage session method to true
> but that does not work.
>
>   Can you please point me to another thread that answers my question if
> you are unable to answer this question.
>
> Thanks
> Anil
>
>
>

Mime
View raw message