1 Reply Latest reply on Mar 4, 2007 12:28 AM by claprun

    wsrp session propagation problem

    karink

      Hi,
      using SAP Portal as consumer and JBoss Portal (JBoss 4.0.5GA + JBossPortal 2.6 DR1) as consumer.
      I recognized that for each remote invocation a new session is created
      on JBoss side.

      SAP stated that this depends on the answer from JBoss during
      the getServiceDescription method, where JBoss Portal (producers) says,
      that the consumer does not need to handle sent cookies from the producer.

      Here the answer from SAP:

      - JBoss answered that it requires NO cookies initialization
      (see <ns1:requiresInitCookie>none
      </ns1:requiresInitCookie>)
      - SAP does not call initCookie
      - no producer cookies are stored on the consumer
      - each consumer request is being sent without JSESSIONID and is being handled
      by a NEW session on the producer side (no session held state is used across requests).


      Here the request/response for getServiceDescription
      1. Request from SAP EP (consumer) to JBoss (Producer)

      POST /portal-wsrp/ServiceDescriptionService HTTP/1.1
      Host: Host:8082
      Content-Type: text/xml; charset=UTF-8
      Cookie: MYSAPSSO2=AjExMDAgABRwb3J0YWw6QWRtaW5
      
      Content-Length: 883
      soapaction: urn:oasis:names:tc:wsrp:v1:getServiceDescription
      
      <?xml version="1.0" encoding="utf-8"?>
      <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:wn3="http://www.w3.org/1999/XMLSchema" xmlns:wn2="http://www.w3.org/2000/10/XMLSchema"
      xmlns:wn1="http://www.w3.org/2001/XMLSchema" xmlns:wn0="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wn4="urn:oasis:names:tc:wsrp:v1:wsdl"
      xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl"><SOAP-ENV:Body><prt0:getServiceDescription x
      mlns:prt0="urn:oasis:names:tc:wsrp:v1:types"><prt0:registrationContext>
      <prt0:registrationHandle>deregistered:</prt0:registrationHandle>
      
      <prt0:registrationState>ZGVyZWdpc3RlcmVk</prt0:registrationState>
      </prt0:registrationContext>
      
      <prt0:desiredLocales>en_US</prt0:desiredLocales>
      
      <prt0:desiredLocales>fr_FR</prt0:desiredLocales></prt0:getServiceDescription></SOAP-ENV:Body></SOAP-ENV:Envelope>
      


      2. Answer from JBoss (Producer) to SAP EP (consumer)

      HTTP/1.1 200 OK
      
      Server: Apache-Coyote/1.1
      Set-Cookie: JSESSIONID=02AB7B830149EAEA023F7F3A87631361.localhost; Path=/portal-wsrp
      
      Content-Type: text/xml;charset=UTF-8
      
      Transfer-Encoding: chunked
      
      Date: Thu, 01 Mar 2007 10:16:32 GMT
      
      <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
      <env:Header></env:Header><env:Body><ns1:getServiceDescriptionResponse xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'
      xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
      
      <ns1:requiresRegistration>false
      
      </ns1:requiresRegistration>
      
      <ns1:offeredPortlets><ns1:portletHandle xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>/PortletTest.KarinsErstesTestPortlet
      
      </ns1:portletHandle>
      <ns1:markupTypes xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>
      <ns1:mimeType xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>text/html
      </ns1:mimeType>
      <ns1:modes xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>wsrp:view
      </ns1:modes>
      <ns1:modes xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>wsrp:edit
      </ns1:modes>
      <ns1:windowStates xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>wsrp:normal
      </ns1:windowStates>
      <ns1:windowStates xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>wsrp:minimized
      </ns1:windowStates>
      <ns1:windowStates xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>wsrp:maximized
      </ns1:windowStates>
      <ns1:locales xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>en
      </ns1:locales>
      </ns1:markupTypes>
      <ns1:title xml:lang='en' xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'><ns1:value xmlns:ns1='urn:oasis:names:tc:wsrp:v1:types'>Karins Test Portlet
      </ns1:value>
      </ns1:title>
      </ns1:offeredPortlets>
      <ns1:requiresInitCookie>none
      </ns1:requiresInitCookie>
      
      </ns1:getServiceDescriptionResponse>
      
      </env:Body></env:Envelope>
      
      


      Regards Karin

        • 1. Re: wsrp session propagation problem
          claprun

          We interpreted the WSRP specification as: Consumers are supposed to return ANY cookies that the producer sends REGARDLESS of whether the producer requires a call to initCookie.
          It turns out that BEA's consumer version 9.1 and earlier behaves similarly as you not SAP's consumer does.
          Since our producer relies on cookies to handle sessions, we are now requesting initCookie to be called to work around consumers that don't send the cookies we send them back. The fix is already in subversion and will be available in the upcoming version 2.4.2 and 2.6.BETA1.