SOLVED! in point (2) the line in services.xml should contain scope="transportsession" instead of scope="transport"
Thanks for your help! On Thu, May 19, 2011 at 10:44 AM, Denise Wu <[email protected]> wrote: > Hi Deepal et al., > > Following your discussion, here what I did, session management is > still not working, can you help please? > > > 1) At the client side, in the generated serviceStub.java I added the > following lines to the class constructor > > _serviceClient.getOptions().setManageSession(true); > _serviceClient.getOptions().setProperty(Constants.Configuration.ENABLE_REST, > Constants.VALUE_TRUE); > > Please note that I am not engaging the module addressing. > > 2) in the service description file services.xml I added the following line > <service name="MyService" scope="transport" > class="mypackage.service.MyServiceLifeCycle"> > Here too no ref to addressing module > > 3) at the server side in the service skeleton code and in order to > handle session information I am using the following > > MessageContext messageContext = MessageContext > .getCurrentMessageContext(); > ServiceContext sc = messageContext.getServiceContext(); > > > sc.setProperty("USERNAME", "" + username); > > > Session management is not working as the info set in "USERNAME" is > lost when the client makes 2 calls to the server. > I am missing something? > > > > On Wed, May 18, 2011 at 5:16 PM, Martin Gainty <[email protected]> wrote: >> //if Incoming Handler doesnt see a SOAP Header ...then addressing is >> disabled by returning InvocationResponse.CONTINUE >> org.apache.axis2.handlers.addressing.AddressingInHandler: >> public InvocationResponse invoke(MessageContext msgContext) throws AxisFault >> { >> <snip> >> // if there are not headers put a flag to disable addressing >> temporary >> SOAPHeader header = msgContext.getEnvelope().getHeader(); >> if (header == null) { >> return InvocationResponse.CONTINUE; >> } >> <snip> >> } >> >> //If the outgoing Handler doesnt see a SOAPHeader then a SOAPHeader is >> created from the envelope: >> org.apache.axis2.handlers.addressing.AddressingOutHandler: >> { >> private class WSAHeaderWriter >> { >> public WSAHeaderWriter(MessageContext mc, boolean isSubmissionNamespace, >> boolean addMU, >> boolean replace, boolean includeOptional, >> String role) { >> <snip> >> header = envelope.getHeader(); >> // if there is no soap header in the envelope being processed, >> add one. >> if (header == null) { >> header = factory.createSOAPHeader(envelope); >> }else{ >> </snip> >> } >> } >> >> (Stadelman is correct) >> Martin >> ______________________________________________ >> Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité >> >> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene >> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte >> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht >> dient lediglich dem Austausch von Informationen und entfaltet keine >> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von >> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. >> >> Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le >> destinataire prévu, nous te demandons avec bonté que pour satisfaire >> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie >> de ceci est interdite. Ce message sert à l'information seulement et n'aura >> pas n'importe quel effet légalement obligatoire. Étant donné que les email >> peuvent facilement être sujets à la manipulation, nous ne pouvons accepter >> aucune responsabilité pour le contenu fourni. >> >> >> >> >>> Subject: AW: Stub generated using Axis2 is unable to Maintain session >>> between RESTful service and Client >>> Date: Wed, 18 May 2011 16:45:30 +0200 >>> From: [email protected] >>> To: [email protected] >>> >>> Depal, >>> But then it does not need WS-Addressing to be engaged! Correct or Not? >>> WS-Addressing adds into SOAP-Headers! >>> Or what is the reason to engage WS-Addressing with REST if REST does not >>> have any SOAP-Headers? >>> Josef >>> >>> -----Ursprüngliche Nachricht----- >>> Von: Deepal jayasinghe [mailto:[email protected]] >>> Gesendet: Mittwoch, 18. Mai 2011 15:39 >>> An: [email protected] >>> Betreff: Re: Stub generated using Axis2 is unable to Maintain session >>> between RESTful service and Client >>> >>> Hi, >>> What type of session you are using ? are you using SOAPSession? >>> >>> If you are using SOAPSession, then it does not work with REST. In the >>> case of REST it does not send any addressing headers, so SOAPSession >>> does not work. However, if you use transport session this should work. >>> >>> Deepal >>> > Hi, >>> > >>> > I created a webservice and enabled session management on both server >>> > and client. It works FINE until I enable REST on the client by adding >>> > the 3rd line of code in the serviceStub.java. >>> > The session management stops working. >>> > >>> > // add session management >>> > _serviceClient.getOptions().setManageSession(true); >>> > _serviceClient.engageModule("addressing"); >>> > >>> > // enable REST >>> > >>> > _serviceClient.getOptions().setProperty(Constants.Configuration.ENABLE_REST, >>> > Constants.VALUE_TRUE); >>> > >>> > Again if a comment the last line of code, session management is >>> > re-enabled. >>> > >>> > Is that a bug or am I missing something? >>> > >>> > I am using: >>> > >>> > * Axis2 1.5.4 >>> > * Tomcat 7.0.8 >>> > >>> > Thanks for your help! >>> > >>> > --------------------------------------------------------------------- >>> > To unsubscribe, e-mail: [email protected] >>> > For additional commands, e-mail: [email protected] >>> > >>> > >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> > > > > -- > Wadienil. > -- Wadienil. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
