Distributed Server Session management

Hi,
I wanted to know how to maintain the session in the case when the servers are in a distributed environment, i mean the http request is sent to one server which inturn checks if any of the web-servers is free and redirects the request to it. When there are many users accessing the site simultaneously, then maintaining serverside session becomes a problem.
Any help is appreciated.
Chrs
Anidhar

There are cookies, URL rewriting, backend application servers that replicate across a cluster, etc.

Similar Messages

  • Terminal Server Session Management: why do we need a rdp session to take control of a terminal session?

    Hi all,
    As title, I have this question: why do we need a rdp session to take remote control of a terminal server session?
    I copied tsadmin and related file to a windows 8.1 pc and I'm able to see for every terminal server the list of users logged in, but the option "take control" is greyed out... why? is not possible to avoid this block?
    Thanks in advance
    Davide

    Hello, Davide_ita.
    Also tried to use RDSM to "Remote Control" user's sessions, but in this thread
    Remote Control
    with Remote Desktop Services Manager - error Access is denied (Windows Server 2012 R2)
    I get the recommendation to use RDP or Remote Assistance.
    The quote of
    TP []:
    Hi,
    You cannot remote control a session on a 2012 R2 RDSH server using Remote Desktop Services Manager.  You need to use the RDP 8.1 mstsc.exe or the RDS gui in Server Manager on 2012 R2.  The command you would use with the RDP 8.1 client would be
    this:
    mstsc /shadow:<sessionid> /control
    -TP

  • Server side session management

    Hi All,
    I am trying to achieve server side session management following is my code.
    public static void main(String[] args) {
    crmod_activity.proxy.ActivityClient myPort=null;
    try {
    myPort = new crmod_activity.proxy.ActivityClient();
    myPort.setUsername("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
    myPort.setPassword("XXXXXXXXXX");
    System.out.println("calling " + myPort.getEndpoint());
    ActivityQueryPage_Input aqi=new ActivityQueryPage_Input();
    ActivityQueryPage_Output aqo=new ActivityQueryPage_Output();
    QueryType qt=new QueryType();
    qt.set_value("");
    ListOfActivityQuery loaq=new ListOfActivityQuery();
    ActivityQuery aq=new ActivityQuery();
    aqi.setListOfActivity(loaq);
    aq.setActivity(qt);
    loaq.setStartrownum(new BigInteger("0"));
    loaq.setPagesize(new BigInteger("20"));
    loaq.setRecordcountneeded(true);
    loaq.setActivity(aq);
    aqi.setListOfActivity(loaq);
    aqi.setIncludeSubBooks("No");
    aqi.setViewMode("Manager");
    loaq.setActivity(aq);
    ListOfActivityData load = myPort.activityQueryPage("",loaq,"","LDC","false","Manager");
    System.out.println(""+load.getRecordcount());
    } catch (Exception ex) {
    ex.printStackTrace();
    Following is the exception i get
    javax.xml.rpc.soap.SOAPFaultException: Server
         at oracle.j2ee.ws.client.StreamingSender._raiseFault(StreamingSender.java:555)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:396)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
         at crmod_activity.proxy.runtime.Activity_Stub.activityQueryPage(Activity_Stub.java:142)
         at crmod_activity.proxy.ActivityClient.activityQueryPage(ActivityClient.java:107)
         at crmod_activity.proxy.ActivityClient.main(ActivityClient.java:83)
    Which is given when the code was not able to create session.
    Please advice.
    Regards,
    JM

    How would the first change break backwards compatability? You are not changing the package access or anything. You are just changing whether or not the inner class has a reference to a parent. Even if someone extended this class, would they really need a reference to the parent?
    It seems like a minor (if any) compatability issue. Please reconsider your decision to not change it.

  • VPP Distribution issues with OSX Server Profile Manager

    Hi, I have a new issue with my OSX 10.9.5 Server. I use VPP to distribute apps to users devices, when I would add a new user I would send them an invitation message through /profilemanager . All was working well until recenetly , the message still arrives in the users mailbox however when you click the "sign in" link on the "receive apps and books from xxxxx" email instead of opening through the Mac App store app it now opens Safari and connects to the profile manager server , any ideas ? it never has done this before and although I thought it was a new feature or method I can not seem to resolve the issue.

    Hi if when you are redirected back to your Mac Server you enter the user name and password of the user you are trying to receive VPP apps for i.e the Open Directory credentials it will then open the App Store providing the credentials are correctly entered so it looks like an additional layer of security. The process is click on the link in the VPP invite email, this takes you to your Mac Server profile manager, log on with your OD account, App store then opens on your Mac like it used to.

  • Bug in session manager. If you work for Sun, please take a look.

    While evaluating what it would take to transition from Iplanet 6 to Sun Webserver 6.1, I found a problem with the Sun Webserver's s1ws60 session managers. If the page is not explicitly flushed before ending, the session cookie JSESSIONID is never sent. So as long as the user continues to visit small pages, they keep getting new sessions (because they are never sent a session id, so the session manager creates a new one every time they visit). The session cookie is sent if larger pages are visited (the buffer is automatically flushes). The session cookie is also sent if out.flushBuffer() is explicitly called within the JSP. This problem was not present in IWS6.0.
    The problem has been tracked down to a combination of the code in com.iplanet.server.http.session.IWSSessionManager (found in the "plugins" directory) and the JSP's Java code generated by a component of the webserver (Catalina?). Under Iplanet, the code generated in the finally{} section of the JSP first flushed the buffer, then called releasePageContext. Under Sun Webserver, the code generated just calls releasePageContext without explicitly flushing the buffer before the call. When flushing the buffer for a non-committed response, the headers are first generated and sent, along with any cookies, including the session cookie. The server only sends the session cookie if, among other things, the session satisfies "_session.isNew()". The order of events in releasePageContext ensures that this is never true when used in combination with IWSSessionManager. I don't have the source code to verify this, but from experimentation I think this is the reason: Before the buffer is flushed, the session is saved by IWSSessionManager.update(session), which at line 498 calls "sn.unsetNew()". So the session is never isNew() when it gets around to sending the session cookie. This can be resolved by either adding an explicit buffer flush to the finally{} section of the JSP, or removing the unsetNew() call from IWSSessionManager. Since I don't know where the code that generates the JSP is (or if I can even change it), I ended up removing the sn.unsetNew() call from the update() function.
    Here's the code generated in the finally{} section using IWS6 and Sun Webserver:
    Iplanet 6
            } finally {
                if (out != null && (out instanceof org.apache.jasper.runtime.JspWriterImpl)) {
                    ((org.apache.jasper.runtime.JspWriterImpl) out).flushBuffer();
                if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
            }Sun Webserver
            } finally {
                _jspx_releaseTags(_jspx_curTag, null);
                if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
            }

    I posted a bug report on this.

  • JMF error - Format of Stream not supported in RTP Session Manager

    java.io.IOException: Format of Stream not supported in RTP Session Manager
    at com.sun.media.datasink.rtp.Handler.open(Handler.java:139)
    why this erro occors?
    I already created the DataSink.
    When I try to do this...
    dsk.open(); //here the error got
    dsk.start();     Code of server of media
    I want to sent audio (wav) like a radio, but from file. Without stop to send streaming. PullBufered
    *Class Server that you offers Streaming of midia
    public class Servidor {
    private MediaLocator ml;
    private Processor pro;
    private javax.media.protocol.DataSource ds;
    private DataSink dsk;
    private boolean codificado = false;
    //start the server service, passing the adress of media
    // ex: d:\music\music.wav
    // pass the ip and port, to make a server works
    public void iniciarServicoServidor(String end,String ip, int porta)
    try {
    //capture media
    capturarMidia(end);
    //creates processor
    criarProcessor();
    // configure the processor
    configurarProcessor();
    //setContent RAW
    descreverConteudoEnviado();
    //format the media in right RTP format
    formatRTP();
    //creat the streaming
    criarStreaming();
    //configure the server
    configurarServidor(ip, porta);
    //in this method raise the excepition
    iniciarServidor();
    //when I try to open the DataSink.open() raises the exception
    //java.io.IOException: Format of Stream not supported in RTP Session //Manager
    // at com.sun.media.datasink.rtp.Handler.open(Handler.java:139)
    } catch (RuntimeException e) {
    System.out.println("Houve um erro em iniciarServicoServidor");
    e.printStackTrace();
    public void capturarMidia(String endereco)
    try {
    System.out.println("**************************************************************");
    System.out.println("Iniciando processo de servidor de multimidia em " + Calendar.getInstance().getTime().toString());
    ml = new MediaLocator("file:///" + endereco);
    System.out.println("Midia realizada com sucesso.");
    System.out.println ("[" + "file:///" + endereco +"]");
    } catch (RuntimeException e) {
    System.out.println("Houve um erro em capturarMidia");
    e.printStackTrace ();
    public void criarProcessor()
    try {
    System.out.println("**************************************************************");
    pro = Manager.createProcessor(ml);
    System.out.println("Processor criado com sucesso.");
    System.out.println("Midia com durcao:" + pro.getDuration().getSeconds());
    } catch (NoProcessorException e) {
    System.out.println("Houve um erro em criarProcessor");
    e.printStackTrace();
    } catch (IOException e) {
    System.out.println ("Houve um erro em criarProcessor");
    e.printStackTrace();
    public void configurarProcessor()
    try {
    System.out.println("**************************************************************");
    System.out.println("Processor em estado de configura��o.");
    pro.configure();
    System.out.println("Processor configurado.");
    } catch (RuntimeException e) {
    System.out.println("Houve um erro em configurarProcessor");
    e.printStackTrace();
    public void descreverConteudoEnviado()
    try {
    System.out.println("**************************************************************");
    pro.setContentDescriptor(new ContentDescriptor(ContentDescriptor.RAW));
    System.out.println("Descritor de conteudo:" + pro.getContentDescriptor().toString());
    } catch (NotConfiguredError e) {
    System.out.println("Houve um erro em descreverConteudoEnviado");
    e.printStackTrace();
    private Format checkForVideoSizes(Format original, Format supported) {
    int width, height;
    Dimension size = ((VideoFormat)original).getSize();
    Format jpegFmt = new Format(VideoFormat.JPEG_RTP);
    Format h263Fmt = new Format(VideoFormat.H263_RTP);
    if (supported.matches(jpegFmt)) {
    // For JPEG, make sure width and height are divisible by 8.
    width = (size.width % 8 == 0 ? size.width :
    (int)(size.width / 8) * 8);
    height = (size.height % 8 == 0 ? size.height :
    (int)(size.height / 8) * 8);
    } else if (supported.matches(h263Fmt)) {
    // For H.263, we only support some specific sizes.
    if (size.width < 128) {
    width = 128;
    height = 96;
    } else if ( size.width < 176) {
    width = 176;
    height = 144;
    } else {
    width = 352;
    height = 288;
    } else {
    // We don't know this particular format. We'll just
    // leave it alone then.
    return supported;
    return (new VideoFormat(null,
    new Dimension(width, height),
    Format.NOT_SPECIFIED ,
    null,
    Format.NOT_SPECIFIED)).intersects(supported);
    public void formatRTP()
    try {
    // Program the tracks.
    TrackControl tracks[] = pro.getTrackControls();
    Format supported[];
    Format chosen;
    for (int i = 0; i < tracks.length; i++) {
    Format format = tracks.getFormat();
    if (tracks[i].isEnabled()) {
    supported = tracks[i].getSupportedFormats();
    // We've set the output content to the RAW_RTP.
    // So all the supported formats should work with RTP.
    // We'll just pick the first one.
    if (supported.length > 0) {
    if (supported[0] instanceof VideoFormat) {
    // For video formats, we should double check the
    // sizes since not all formats work in all sizes.
    chosen = checkForVideoSizes(tracks[i].getFormat(),
    supported[0]);
    } else
    chosen = supported[0];
    tracks[i].setFormat(chosen);
    System.err.println("Track " + i + " is set to transmit as:");
    System.err.println(" " + chosen);
    codificado = true;
    } else
    tracks[i].setEnabled(false);
    } else
    tracks[i].setEnabled(false);
    } catch (RuntimeException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    public void tocar()
    pro.start();
    public void criarStreaming()
    try {
    System.out.println("**************************************************************");
    if (codificado)
    System.out.println("Midia codificada...");
    System.out.println("Processor entra em estado de realize.");
    pro.realize();
    System.out.println("Processor realized.");
    System.out.println("Adquirindo o streaming a ser enviado.");
    ds = pro.getDataOutput();
    System.out.println("Streaming adquirido pronto a ser enviado.");
    } catch (NotRealizedError e) {
    System.out.println("Houve um erro em criarStreaming");
    System.out.println(e.getMessage());
    e.printStackTrace();
    catch (Exception e) {
    System.out.println(e.getMessage());
    public void configurarServidor(String ip, int porta)
    System.out.println("**************************************************************");
    String url = "rtp://" + ip + ":" + porta + "/audio/1";
    System.out.println("Servidor ira atender em " + url);
    MediaLocator mml = new MediaLocator(url);
    System.out.println("Localizador de midia ja criado");
    try {
    System.out.println("Criando um DataSink a ser enviado.");
    dsk = Manager.createDataSink(ds, mml);
    System.out.println("DataSink criado.");
    } catch (NoDataSinkException e) {
    e.printStackTrace();
    public void iniciarServidor()
    try {
    System.out.println("**************************************************************");
    dsk.open();
    System.out.println("Servidor ligado.");
    dsk.start();
    System.out.println("Servidor iniciado.");
    } catch (SecurityException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    Gives that output console.
    All methods are executed but the last doesnt works.
    The method that open the DataSink.
    What can I do?
    Iniciando processo de servidor de multimidia em Sun May 13 22:37:02 BRT 2007
    Midia realizada com sucesso.
    [file:///c:\radio.wav ]
    Processor criado com sucesso.
    Midia com durcao:9.223372036854776E9
    Processor em estado de configura��o.
    Processor configurado.
    Descritor de conteudo:RAW
    Midia codificada...
    Processor entra em estado de realize.
    Processor realized.
    Adquirindo o streaming a ser enviado.
    Streaming adquirido pronto a ser enviado.
    Servidor ira atender em rtp://127.0.0.1:22000/audio/1
    Localizador de midia ja criado
    Criando um DataSink a ser enviado.
    streams is [Lcom.sun.media.multiplexer.RawBufferMux$RawBufferSourceStream;@a0dcd9 : 1
    sink: setOutputLocator rtp://127.0.0.1:22000/audio/1
    DataSink criado.
    Track 0 is set to transmit as:
    unknown, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 176400.0 frame rate, FrameSize=32 bits
    java.io.IOException: Format of Stream not supported in RTP Session Manager
    at com.sun.media.datasink.rtp.Handler.open(Handler.java:139)
    at br.org.multimidiasi.motor.Servidor.iniciarServidor(Servidor.java:291)
    at br.org.multimidiasi.motor.Servidor.iniciarServicoServidor(Servidor.java:43)
    at br.org.multimidiasi.motor.ConsoleServidor.main(ConsoleServidor.java:30)
    Since already thanks so much.
    Exactally in this method raises erros.
    Ive tried another formats (avi, mp3) but all with the same error, what I can do?
    [code] public void iniciarServidor()
    try {
    System.out.println("**************************************************************");
    dsk.open();
    System.out.println("Servidor ligado.");
    dsk.start();
    System.out.println("Servidor iniciado.");
    } catch (SecurityException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    Track 0 is set to transmit as:
    unknown, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 176400.0 frame rate, FrameSize=32 bits
    java.io.IOException: Format of Stream not supported in RTP Session Manager
    at com.sun.media.datasink.rtp.Handler.open(Handler.java:139)
    at br.org.multimidiasi.motor.Servidor.iniciarServidor(Servidor.java:291)
    at br.org.multimidiasi.motor.Servidor.iniciarServicoServidor(Servidor.java:43)
    at br.org.multimidiasi.motor.ConsoleServidor.main(ConsoleServidor.java:30)

    unknown, 44100.0 Hz, 16-bit, Stereo,
    LittleEndian, Signed, 176400.0 frame rate,
    FrameSize=32 bits
    java.io.IOException: Format of Stream not supported
    in RTP Session Manager
    The fact that it doesn't know what the format is
    might have to do with the problem. I've had similar
    problems, and I've traced it back to missing jars and
    codecs. Have you tried running the same code locally
    without the transmission to see if you player will
    even play the file?Already and it works, I used Player to play it and play normally, I try to make it with the diferents codecs of audio and video, but no sucess.

  • Session Manager not thread safe

    We are running 6.0 web server with IWSSessionManager turned on. We have the failover set to true so that we always load from the persistent store.
    We had a situation where a frame set invoked 2 requests to the application. The logic in the session manager seems to be for each request:
    1) the session is loaded from the database.
    2) the new session overwrites the session in memory.
    3) the servlet/jsp uses that session.
    4) that session is persisted.
    Now.. if only one of the requests actually modifies the session then threadA and threadB have 2 session instances which have unique objects with the same session id. The last one to complete is stored in the database. This would result in data loss. (btw.. the code in question is IWSSessionManager.getSession(String id, ServletContext context)).
    Has anyone else seen this, or have we set up something really wacky?
    Thanks!
    -- bk

    c

  • Solaris 10 gnome session manager crashes on login

    There are two Solaris 10 servers at work that I cannot log into. At the login screen I choose Options --> Session --> Java Desktop System, Release 3
    and then try to log in. I get the following error message:
    "The GNOME session manager (process XXXXX) has crashed due to a fatal error. (Segmentation Fault). When you close this dialog, all applications will close and your session will exit. Please save all your files before closing this dialog."
    I was able to find one post on this error using google. It said that the user solved this problem by editing the LD_LIBRARY_PATH variable by moving /usr/local/lib to the beginning of the line. This didn't fix my problem. I logged in via ssh and double checked that the LD_LIBRARY_PATH change had saved.
    Other people can log into the server just fine. Just not me. I even completely wiped my home directory. Anybody know where I can find a fix for this?

    Just discovered that if one of the working users logs completely out, they cannot log back in. So this error affects everybody.

  • How to permanently turn off the Session Management alert

    Hello,
    I have a certain iView that is working through https.
    Whenever I go to this iView I receive this pop up:
    Session Management will not work!
    You can turn off this alert inside 'Support Desk' -> 'SAP Application'
    I am turning this alert off and I don't see it anymore but after we are doing a server restart it is turned on again and again I need to turn it off.
    How can I turn this alert off permanently, even after a server restart?

    yes its all a bit strange isnt it ...... the AlertSessionManagementMismatch appears to be runtime in nature - in that if you disable the session management alerting using the support desk approach - this value becomes false.  Yet a restart doesnt keep it at false.
    What I discovered is - IGNORE what you see when you edit the service - change it physically to FALSE (even if it says false) and save it. This will persist it at the next restart.
    Haydn

  • Plugin based Web Service with session management

    I am trying to make a web service in java with jax-ws that should support extensions to the service without rebuilding the project. I thought it might be possible to make a standard web service and the let each plugin create their own service, making the client side plugin point to both the standard service and the plugin specific one. This way I could have user management and such in the standard service and the more plugin specific one in an other service. The problem is though, how do I make a common session for all the services? All services are running at the same server and on the same domain name.
    I checked the HTTP headers and found out that the JSESSIONID was changing when I created a new port on the client side. I was trying to implement a SOAPHandler to edit the cookie in the HTTP header, hoping that this will lead to the same session across the services. But found it hard. It was no problem reading the "Set-cookie" header, setting the cookie on the new requests was harder, as the CookieJar object seems to be internal [1]. And the MessageContext.HTTP_REQUEST_HEADERS wasn't created at the time my handlers run. Is there an easy solution to this?
    I am not sure if my idea is a good solution to the main problem, and all other ideas are more than welcome. I hope it is possible to extend the features of my server without rebuilding the project. If anything is unclear, feel free to ask :)
    [1] com.sun.xml.internal.ws.client.http.CookieJar

    Adhir_Mehta wrote:
    Could you explain plug in scenario with one example?Ok. We have not chosen exactly how to do this, but the idea is that someone may be able to extend the functionality of our server without rebuilding the project. We thought of something like a jar file with a implementation of some abstract classes. It should at least only be necessary to redeploy the project into the web container. The problem is; how do we let the plugins extend our web interface? One solution we thought of was to let each plugin have it's own service and dynamicly link to the plugin services from the main service that we provide as standard in our server. This way we may have some kind of plugin support on the clients as well, making the client side plugins know what kind of service it needs on the server side and thus extending the functionality all together.
    Hope that explains our scenario. Feel free to comment and add new ideas :)
    Regarding session management, its not advisable to manage the session in web services since that way it will become non interoperable.The documentation we found regarding sessions and jax-ws was all doing sessions with HTTPSessions, and to let the web container handle that.
    On the server side
        @Resource
        private WebServiceContext wsContext;
        private HttpSession getSession() {
            MessageContext mc = wsContext.getMessageContext();
            return ((javax.servlet.http.HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST)).getSession();
        HttpSession session = getSession();
        session.setAttribute("User", user);On the client side
    ((BindingProvider)port).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY,true);Do you have other standard options for us on how to do session management? All ideas are more than welcome

  • Web service authentication/session management using Axis2

    I'm creating a web service using Axis2 where the client will need to login to the service and maintain a session. I'm trying to figure out a good way to do this. I've read the article on the following link:
    http://www.developer.com/services/article.php/3620661/Axis2-Session-Management.htm
    and it describes 4 main ways of doing this: Request Session Scope, Soap session scope, Transport session scope, and Application scope. However, it doesn't give much detail in actually implementing this. It says to add a parameter to services.xml like this:
    <service name="foo" scope=" transportsession">
    </service>
    but what about the actual code that goes in the server and client to actually handle the login process and verify the username/password in an SQL database on the server? I'm having a lot of trouble finding a good tuturial on this. Can anyone point me in the right direction? I'm also open to other ideas that don't necessarily directly involve Axis2.

    Session management for a web service and already answered. Locking.

  • Web Service session manager not found.

    I'm trying to understand how to use the HTTP utilities, and I'm having trouble just creating a session.  I get a Web Service session manager not found error.  I've read where the client has to support cookies.  My eventual client will be a labview VI that talks to a web server.  I llooked at the Toolsptions, but don't see anything related to cookies.  Not sure if that's what's causing this anyway, but I'm just digging.  Also, I want to eventually send http messages across TCP/IP.  Do I need to use the TCP/IP VIs (i.e. open connection, etc) or do I use the http utilities alone.  If both are needed, how does the httpRequestID and the TCP/IP connection ID correlate.
    Attachments:
    htttGetSession.vi ‏9 KB
    WebServerError.PNG ‏13 KB

    Hi can you please let me know how you resolved this issue?

  • Sending instruction directly to Siebel Communications Session Manager

    Hi.
    I am working on doing performance testing the Siebel CTI toolbar.
    I realise that the information to the CTI toolbar is coming from the Siebel Communications Session manager, which receives the information from the a CTI Middleware server.
    I want to know if I can create a stub that would send this information to the Siebel Communications Session manager, which would send the information to the CTI toolbar. Is there a set of sample commands by means of which the Siebel Commns Sessions manager receives the requests.
    Any ideas would be highly appreciated.
    Thanks.
    Krishna

    Are you positive that the CUBE is sending only 4 digits to the CUCM and that the SIP trunk in CUCM isn't configured with the Significant Digits options set to 4? I would check the SIP trunk in CUCM first. It it is configured correctly then I would use debug ccsip mess to watch the call setup flow through the CUBE. If the egress leg to CUCM shows an INVITE with only 4 digits and INVITE from the SIP provider is sending all digits then there is something in the config that you aren't showing us.
    HTH.
    -Bill (http://ucguerrilla.com)

  • Session management for a web service

    I am building a web service where the user will need to login and the application will need to maintain a persistent session. I am using Apache Axis2 for client/server communication via SOAP/XML. What would the simplest and most common way of doing this? I know I could implement session management from scratch similarly to how a browser does it, using cookies, but I'd rather use standard Java libraries for this. Am I correct in assuming that even though I'm using Axis2, the solution doesn't really have anything to do with Axis2 since Axis2 is basically just a way for the client/server to send messages to each other?
    I've read a lot of information online about this, but there's so much information that it's hard to know where to start. Basically I'm just looking for someone to point me in the right direction on what classes to use and so on. I just need a simple username password authentication and session management system for a web service.

    Container Managed Authentication. Does everything you need.

  • Session management in JAX-RCP with JWSDP 1.0_01

    Hi all,
    How can I access to the HTTP Session of the TOMCAT which run the Web Services engine?
    Browsing by the API I've found the method getHttpSession() in the interface javax.xmlrpc.server.ServletEndpointContext.
    How can get an instance which implements this interface?
    Regards,
    C�sar.

    An old thread but I have a question re session management and web services.
    The documentation for ServletEndpointContext says getHttpSession returns null if there is no HTTP session currently active and associated with the service endpoint. It further says the endpoint class should not rely on the HTTP session always being there.
    I need to ensure a session is active after a user successfully logs in. Other than spending alot of time implementing session management myself its the only way to tell whether the service requestor is allowed to use the service. Is the session not guaranteed to be active to take account of things like session timeout? Under normal circumstances where the user is sufficiently active to prevent timeout is it reasonable to assume the session will be there?

Maybe you are looking for