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, then 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 in a specific Siebel URL section. For more information about the SessionTracking parameter, see the information about session cookies 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 is not set, because it is expected that this cookie is 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 20 presents each of the Login HTTP Request variables for session mode.

Table 20. Session Mode Variables
Variable
Description

webserver

URL of the Web server that has Siebel Web Server Extension (SWSE) installed, such as www.myserver.com.

path

Virtual path on the server referring to the specific SWSE configuration. The default is eai_lang, where lang is the language in which you are running the applicable Siebel Application Object Manager.

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.

NOTE:  Passing user credentials in the URL is not supported in Siebel CRM.

password

Password for the login user name above.

Login HTTP Request Example

In this example, if the call completes successfully, then it returns 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.

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 © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.