Transports and Interfaces: Siebel Enterprise Application Integration > EAI HTTP Transport > Using the EAI HTTP Transport for Inbound Integration >

Using the EAI HTTP Transport in Session Mode


The session mode uses the HTTP session cookie to retain the session information between the HTTP requests. The session mode can be viewed when a sequence of calls is supported from an HTTP application into the EAI HTTP Transport.

To use the EAI HTTP Transport in session mode

  1. Log in to the Siebel application. If successful, an HTTP session cookie named _sn is returned in an HTTP set-cookie header.
  2. Submit one or more subsequent requests.

    Each request is intended as a call to a Siebel business service or workflow depending on the configuration of the named subsystem in use. Requests must contain the session cookie (_sn) from Step 1 in either the HTTP cookie header or the URL string as a parameter.

    NOTE:  By default the Siebel Web Server Extension (SWSE) accepts the presence of the session cookie in either the HTTP header or the URL as a parameter. However, this behavior can be changed by setting the SessionTracking parameter in the SWSE configuration (eapps.cfg) file, in the [defaults] section or specific Siebel URL section. For more information on the SessionTracking parameter, see the session cookie topic in Siebel Security Guide.

  3. Log off. The request must contain the session cookie from Step 1. The cookie refers to the session to be closed.

NOTE:  For session mode inbound HTTP requests, the expiration date of the cookie sent to the client application will not be set as it is expected that this cookie will be used to send multiple requests within the same session.

Example Requests for the HTTP Protocol in Session Mode

HTTP protocol requests can be represented as URLs for HTTP GET, and as a combination of URL and request body for HTTP POST. The following topics explain in detail how each of the session mode calls is configured.

Table 22 presents each of the Login HTTP Request variables for session mode.

Table 22. Session Mode Variables
Variable
Description

webserver

URL of the Web server that has Siebel Web Engine installed, such as www.myserver.com.

path

Default is eai. Virtual path on the server referring to the specific SWE configuration.

source

Named subsystem as specified in the [HTTP Services] section in the application configuration (.cfg) file.

username

Siebel user name for the Application Object Manager login.

password

Password for the login user name above.

Login HTTP Request Example

In this example, if the call completes successfully, it will return a session cookie:

  • Using HTTP POST:

    URL = http://webserver/path/start.swe

    HTTP Body = SWEExtSource=source&SWEExtCmd=ExecuteLogin&UserName=username&Password=password

  • Example Login URL:

    http://www.example.com/eai_enu/start.swe

NOTE:  Passing user credentials in the URL is not supported in Siebel CRM version 8.2, and Siebel CRM version 8.1.1.9 and later.

Data Exchange HTTP Request Example

In this example, for the call to complete successfully, it must include the session cookie from the login:

  • Using HTTP GET:

    URL = http://webserver/path/start.swe?SWEExtData=data text

    where data text is the business service input data. Most of the time, this is the text of an XML document that on the server side is converted to a property set and passed to the business service.

    With GET requests, the XML document is included in the URL. Therefore the XML document must be URL-encoded. For example, the URL encoding for a space is %20.

    To make sure that the decoded XML document passed to the XML Converter is valid, use an escape code for any special characters (that is, use an ampersand, followed by the special character's escape characters, followed by a semi-colon) before encoding them for the URL. For more information, see the topic on special (escape) characters in XML Reference: Siebel Enterprise Application Integration.

  • Using HTTP POST:

    URL = http://webserver/path/start.swe

    HTTP Body = data text

    where data text is the business service input data. Most of the time, this is the text of an XML document that on the server side is converted to a PropertySet and passed to the business service.

    Data that is sent as part of the URL must be in Unicode format before it is encoded for the URL. POST requests can send the data without URL encoding but must include the Content-Type HTTP header. The Content-Type must specify the character set of the incoming data, for example:

    Content-Type=text/xml;charset="UTF-8"

    NOTE:  For XML messages being received by way of the Inbound HTTP Transport, only a Unicode (UTF-8 or UTF-16) format (with accordant encoding XML-processing header attribute and encoded XML data) is allowed. No ISO or Windows code pages are accepted.

  • Example Request URL:

      http://www.exampleserver.com/eai_enu/start.swe?SWEExtData=<?xml version="1.0"
      encoding="UTF-8"?>

      <SiebelMessage MessageId="" MessageType="Integration Object"
      IntObjectName="Sample Account">

      <ListofSampleAccount>

    <Account>

      <Name>A. K. Parker Distribution</Name>

      <ListOfContact>

    <Contact>

      <FirstName>Stan</FirstName>

      <LastName>Graner</LastName>

    </Contact>

      </ListOfContact>

    </Account>

      </ListofSampleAccount>

      </SiebelMessage>

Logoff HTTP Request

This request must include the session cookie from the login request.

  • Using HTTP GET:

    URL = http://webserver/path/start.swe?SWEExtCmd=Logoff

    NOTE:  Always use HTTP GET for the Logoff HTTP Request.

  • Example Logoff URL:

    http://www.example.com/eai_enu/start.swe?SWEExtCmd=Logoff

Transports and Interfaces: Siebel Enterprise Application Integration Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Legal Notices.