Siebel Community

Welcome to Siebel Community. In this place you can find all the topics related to Siebel. This place is dedicated to provide information about how to implement Siebel CRM application. Siebel Technical/Functional consultants can get information from basics of Siebel CRM to advanced topics like EAI, EIM, eScripting, Workflows, Assignment Manager, Actuate Reports, Territory Management. This place also included Forums and Blogs to help you further.

Tuesday, May 29, 2012

Sending and Receiving Messages with the EAI HTTP Transport

We can use the EAI HTTP Transport to send and receive messages. The following procedure illustrates how you can use EAI HTTP Transport with the SendReceive method to query employee information from the Siebel Database, send it out, echo it using the Workflow Utilities ECHO service, and send it back to the workflow to write the response back to a file.

To create a workflow process to send and receive messages
1. Create a named subsystem HTTPsendreceive_conn for subsystem HTTPSubSys with HTTPLoginMethod=GET
HTTPLoginURLTemplate="http://smthpa12.siebel.com:16007/eai_enu/start.swe?SWEExtCmd=ExecuteLogin&SWEExtSource=MyEcho&UserName=SADMIN&Password=db2"
HTTPLogoffMethod=GET
HTTPLogoffURLTemplate="http://smthpa12.siebel.com:16007/eai_enu/start.swe?SWEExtCmd=Logoff"
HTTPRequestMethod=POST
HTTPRequestURLTemplate="http://smthpa12.siebel.com:16007/eai_enu/start.swe"

2. Create a named subsystem MyEchoSubsys for subsystem EAITransportDataHandlingSubsys with
DispatchService="Workflow Utilities"
DispatchMethod=ECHO
NOTE: For details on named subsystems, see Configuring Named Subsystems and Receiver Server Components.

3. In your eai.cfg file, add the following line in the [HTTP Services] section:
MyEcho = MyEchoSubsys

4. Log in to the Siebel client as an administrator connected to the server.

5. From the application-level menu, choose View > Site Map > Business Process Administration > Workflow Processes.

6. Create a new workflow process as shown below.

7. Select the Process Properties tab and add the following properties:
Name Data Type In/Out Default String
Employee Message Hierarchy In/Out -
Employee XML Binary In/Out -
Error Code String In/Out -
Error Message String In/Out -
Object Id String In/Out 1-548
Response Binary In/Out -
8. Retrieve employee message using the EAI Siebel Adapter with the Query method to query the information from the database using the following input and output arguments:
Input Arguments Type Value Property Name Property Data Type
Output Integration Object Name Literal Sample Employee - -
Object Id Process Property - Object Id Sting
Property Name Type Value Output Argument
Employee Message Output Argument - Siebel Message
9. Convert the message to XML using the EAI XML Converter with the Integration Object Hierarchy to XML Document method and the following input and output arguments to convert the message:
Input Arguments Type Value Property Name Property Data Type
Siebel Message Process Property - Employee Message Hierarchy
Property Name Type Value Output Argument
Employee XML Output Argument - XML Document
10. Send and receive the converted XML message using the EAI HTTP Transport with the Send and Receive Response method and the following input and output arguments:
Input Arguments Type Value Property Name Property Data Type
Message Text Process Property - Employee XML String
Connection Subsystem Literal HTTPsendreceive_conn - -
Property Name Type Value Output Argument
Response Output Argument - Message Text
11. Write the message to the file using the EAI File Transport with the Send method and the following input arguments:
Input Arguments Type Value Property Name Property Data Type
Message Text Process Property - Response Binary
File Name Literal C:\SendRec.txt - -
12. Save your workflow process and test it using the Workflow Process Simulator.Examples Using HTTP Request
This section provides you with a couple of examples of using the EAI HTTP Transport in two modes: Session and Sessionless. This is to help in understanding how to use the EAI HTTP Transport in your business.
Controlling Login Sessions with Session Mode
The session mode allows control over login sessions. In this mode you log in first and open a session. Any message can be exchanged without having to log in again until you explicitly log off.
The following example shows parameters for Login, Request, and Logoff in a session mode HTTP request. Session cookies are required in a case such as this.
NOTE: You enter each of the following URLs as a continuous line of code.
 The following URL logs in to a server with passed parameters for username and password:
HTTPLoginURLTemplate = "http://$ServerPath$/start.swe?SWEExtSource=$Source$&SWEExtCmd=ExecuteLogin&User
Name=$Username$&Password=$Password$"
 The following URL passes a query string as the SWEExtData value along with the GET request:
HTTPRequestURLTemplate = "http://$ServerPath$/start.swe?SWEExtData=somedata
HTTPRequestMethod='GET'"
 The following URL logs off from the server:
HTTPLogoffURLTemplate = "http://$ServerPath$/start.swe?SWEExtCmd=Logoff"
ServerPath = "siebel1/eai"
Username = "pdavis"
Password = "1234abcd"
Source = "testdoc"
In the preceding example, the ServerPath variable value of siebel1/eai is substituted for the token $ServerPath$. The Source variable value of testdoc is substituted for the $Source$ token, the Username variable value of pdavis for the token $Username$, and the Password variable value of 1234abcd for the $Password$ token.
Any XML document represented by the entry for SWEExtData can be put into the body. This would change the sample code so that the HTTPRequestURLTemplate would read as:
HTTPRequestURLTemplate = "http://$ServerPath$/start.swe?
Sending Requests in Sessionless Mode
The following example includes a Request Method, a Request, and a Login for a sessionless mode request. In this example, the request is simply passed to the secure server using the POST command. Unlike the Session Mode example, this request sends data in the body of the request. This request does not require cookies.
HTTPRequestMethod = "POST"
HTTPRequestURLTemplate = "https://accounts.mypartner.com/server/login.asp"
HTTPRequestBodyTemplate = "Acct=ABCIntl&User=$Username$&pwd=$Password$"
Username = "acctuser"
Password = "123456789abcdefg"

No comments:

Post a Comment