You are on page 1of 22

Infosys Tech Ltd.

Inbound/Outbound Web
Service
BOK

Shwetha Iyer
Tushar Singhla
27/4/2009
INBOUND/OUTBOUND WEB SERVICE

Project : JCINXGEN
Environment : Siebel 8.0
Project Type : Integration Siebel - Fusion
Tools Required : Siebel 8.0
Target readers : Siebel Integration

Author: Shwetha Iyer, Tushar Singhla

Date written: 27-Apr-09


Date published: 29-Apr-09

Declaration
I hereby declare that this document is based on my personal experience and / or experiences of my project
members. To the best of my knowledge, this document does not contain any material that infringes the copyrights
of any other individual or organization including the customers of Infosys.

Shwetha Iyer
Tushar Singhla

Inbound/Outbound Web Service Page 2


Contents

1. Overview................................................................................................................3
2. Inbound Web service.........................................................................................5
2.1 Workflow – Inbound Router WF (Using Dispatch Method)..........................................................................................5
2.2 Inbound Router WF1 (Using ProcessAggregateRequest method).................................................................................8

3. Outbound web service.....................................................................................12


3.1 Workflow –Sync Outbound Router WF.......................................................................................................................13
3.2 Workflow –Aync Outbound Router WF.......................................................................................................................16
3.3 Workflow –Sync Outbound Router WF1.....................................................................................................................19

References......................................................................................................................22

Inbound/Outbound Web Service Page 3


1 Overview
This document gives a brief overview of Inbound and Outbound web services.

Web Services combine component-based development and Internet standards and protocols that include HTTP,
XML, Simple Object Application Protocol (SOAP), and Web Services Description Language (WSDL).A business service
or workflow process can be exposed as a web service.

Web services are of two types

 Inbound Web Service: When Siebel publishes any business service or workflow process as a web service
and external system invokes it

 Outbound Web service: Acts as a proxy to a Web Service published by an external application

Both these kinds of web services are explained in detail below.

Inbound/Outbound Web Service Page 4


2 Inbound Web service

The information below explains about a workflow being exposed as an inbound web service .

2.1 Workflow – Inbound Router WF (Using Dispatch Method)


This is a master workflow process which receives all the inbound messages from external system/middleware and modifies
them as configured in the Transforms. It then routes to the appropriate workflow. This is an asynchronous process without any
response. The subsequent Tables describe the details of the Workflow.

Figure 2-1: Workflow – Inbound Router WF

The workflow initially uses the “Purge” step to purge all existing instances of Dispatch. The workflow then uses the “Dispatch”
step to match the incoming message to the appropriate workflow using the rule set and then routes to the same.

Inbound/Outbound Web Service Page 5


2-1:- Workflow – Inbound Router WF
Workflow Process Project Business Object Workflow Mode
Name
Inbound Router WF Inbound Service Flow

2-2:- Process Properties – Inbound Router WF


Property Default Integration
Data Type In / Out
Name String Object
Error Code String In/Out
Error Message String In/Out
Object Id String In/Out 0-1
Process
String In/Out
Instance Id
Siebel Operation
String In/Out
Object Id
SiebelMessage Hierarchy In/Out
xml String In/Out

2-3:- Steps – Inbound Router WF


Business Sub Business
Business Operati
Name Type Service Proces Compone
Service Method on
Name s Name nt
Business EAI Dispatch Purge
Purge Service Service
Business EAI Dispatch Dispatch
Dispatch Service Service

2-4:-Step Details – Inbound Router WF


Step Input Output Branch Type Value Property Name Business Business

Inbound/Outbound Web Service Page 6


Name / Component Component Field
Expressio
n
Purge

Dispatch RuleSet Literal Dispatch


Rules
XMLHierarchy Process SiebelMessage
Property

EAI Dispatch Rule Sets

The Rule Set used for routing incoming messages to appropriate workflow.

2-5:- Rule Sets


Name Inactive Description
Dispatch Rules N Rule Set used for routing incoming messages to
appropriate workflow.

The following Rule checks if the Integration Object Name present in the incoming message matches with the property value,
“IO Customer Invoice” in this case.

2-6:- Rules
Search Expression Property Value Dispatch Dispatch Method
Service
/ IO Customer Invoice Workflow Process Execute Process
*/*/*/SiebelMessage@IntObjectNa Manager (Server
me Request)

If a match is found, then the following transforms are carried out. The first one extracts the SiebelMessage from the incoming
message stream. This is passed on to the workflow defined in the second step “WF Update Invoice Status”.

The above workflow can be exposed as a web service for external systems to invoke.

Inbound/Outbound Web Service Page 7


2.2 Inbound Router WF1 (Using ProcessAggregateRequest method)

The ProcessAggregateRequest method allows you to perform multiple invocations of business services in a single request. Also
this can be used for synchronous transactions where we expect a response.

Figure 2-2: Workflow – Inbound Router WF1

The example workflow uses first step as Read property set which reads a sample property set as below

<?xml version="1.0" encoding="UTF-8"?>


<?Siebel-Property-Set EscapeNames="true"?>

Inbound/Outbound Web Service Page 8


<PropertySet>
<AggregatedServiceRequest>
<BusinessServiceWrapper
BusinessServiceName="Workflow Process Manager (Server Request)"
BusinessServiceMethod="RunProcess">
<ArgumentWrapper ProcessName="WF Test123">
<SiebelMessage
MessageType="Integration Object"
IntObjectName="Product Codes IO"
IntObjectFormat="Siebel Hierarchical">
<ListOfProductCodesIo>
<InternalProduct-IssAdmin>
<Name>test12345</Name>
<Description>test</Description>
</InternalProduct-IssAdmin>
</ListOfProductCodesIo>
</SiebelMessage>
</ArgumentWrapper>
</BusinessServiceWrapper>
</AggregatedServiceRequest>
</PropertySet>

It then dispatches the same using the “ProcessAggregateRequest” method of EAI Dispatch service and stores the response in a
variable which can be further transformed.

2-7:- Workflow:- Inbound Router WF1


Workflow Process Project Business Object Workflow Mode
Name

Inbound/Outbound Web Service Page 9


Inbound Router WF Inbound Service Flow

2-8:- Process Properties – Inbound Router WF1


Integration
Property Name Data Type In / Out Default String
Object
Error Code String In/Out
Error Message String In/Out
Object Id String In/Out 0-1
Process Instance Id String In/Out
Siebel Operation Object Id String In/Out
AggregatedServiceRequest Hierarchy In/Out
OutputReponse Hierarchy In/Out
xml String In/Out

2-9:- Steps – Inbound Router WF1


Business Service Business Service Sub Process Business
Name Type Operation
Name Method Name Component
Read EAI XML Read from ReadPropSet
Property Business File
Set Service
Business EAI Dispatch ProcessAggregateRequest
Process Service Service

2-10:-Step Details – Inbound Router WF1


Step Input Output Bran Type Value Property Name Business Business
Name ch /Expression Component Component
Field

Inbound/Outbound Web Service Page 10


Read FileName Literal Reference to
Propert the xml pasted
y Set above
Aggregate Output AggregatedService
dServiceR Argume Request
equest nt
Dispatc Aggregated Process AggregatedService
h ServiceRequ Property Request
est
Aggregated Process OutputReponse
ServiceRequ Property
est

We can have multiple business services/workflows based on different conditions using ProcessAggregateRequest.

3 Outbound web service


An outbound Web Service acts as a proxy to a Web Service published by an external application. This process creates services that you can
then use in a workflow, virtual business component (VBC), run-time event, or any other mechanism within the Siebel application that can
invoke a business service.

Inbound/Outbound Web Service Page 11


The wsdl received from external application will create a business service. It may or may not create an integration object based on the XSD
used by the wsdl.

Also the proxy business service can have a method like “process” if it’s a synchronous process and method called “initiate” if its an
asynchronous process.

Whenever a wsdl is received from external system the following steps need to be followed
1. Import the wsdl in Siebel tools by navigating to File > New Object->EAI tab and select web services and specify the wsdl file location
and project name. Thie creates a proxy business service and integration object may or may not get created based on the xsd.
2. During the above process, a xml file gets created which needs to be imported in the Siebel application in the Administration – Web
Service > Outbound Web services by clicking the import button

Section 3.1 explains the process of calling a proxy business service without an IO
The XSD used for the same is as follows

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.johnsoncontrols.com/Any"
elementFormDefault="unqualified"
attributeFormDefault="unqualified">

<xs:element name="GenericMessage">
<xs:complexType>
<xs:sequence>
<xs:any processContents="skip"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

3.1 Workflow –Sync Outbound Router WF

This is workflow process which sends the outbound messages from the Siebel to external system.

Inbound/Outbound Web Service Page 12


Figure 3-1: Workflow – Sync Outbound Router WF

3-11:-Workflow – Sync Outbound Router WF


Workflow Process Project Business Object Workflow Mode
Name
Sync Outbound Synch Outbound Service Flow
Router WF

3-12:-Process Properties – Sync Outbound Router WF


Integration
Property Name Data Type In / Out Default String
Object
Error Code String In/Out
Error Message String In/Out
Object Id String In/Out
strXMLInput String In/Out
xmlh Hierarchy In/Out
wsoutput Hierarchy In/Out
ResponseXML String In/Out
ResponseHier Hierarchy In/Out

Inbound/Outbound Web Service Page 13


Siebel Message Hierarchy In/Out

3-13:- Steps – Sync Outbound Router WF


Business Service Sub Process Business
Name Type Business Service Name Operation
Method Name Component
Business IntObjHierToXMLD
Query EAI XML Converter
Service oc
XML Business XML Hierarchy Converter XMLDocToXMLHier
Converter Service
Send To Business Fusion Proxy Service process
Fusion Service

3-14:-Step Details – Sync Outbound Router WF


Step Input Output Br Type Value Property Business Business
Name an /Expression Name Component Component Field
ch
XMLCharE Literal UTF-16
Query ncoding
SiebelMess Process Siebel
age Property Message
<Val Output strXMLInput
ue> Argument
XML <Value> Process strXMLInput
Converte Property
r
XMLHie Output xmlh
rarchy Argument
Send To Request Process xmlh
Fusion Message Property
Respon Output wsoutput
se Argument
Messag

Inbound/Outbound Web Service Page 14


e

Section 3.2 explains the process of calling a proxy asynchronous business service with an IO
The XSD used for the same is as follows

<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified"


targetNamespace="http://xmlns.oracle.com/SimpleSyncProcess" xmlns="http://www.w3.org/2001/XMLSchema">
<xsd:element name="SimpleSyncProcessProcessRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Addressname" type="string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

3.2 Workflow –Aync Outbound Router WF


This workflow explains calling a proxy business service with Integration Object as an argument. It is an asynchronous process.

Inbound/Outbound Web Service Page 15


Figure 3-2: Workflow – Sync Outbound Router WF

3-15:-Workflow – Async Outbound Router WF


Workflow Process Project Business Object Workflow Mode
Name
Async Outbound Async Outbound Service Flow
Router WF

3-16:-Process Properties – Async Outbound Router WF


Default Integration
Property Name Data Type In / Out
String Object
Error Code String In/Out
Error Message String In/Out
Object Id String In/Out
SiebelMessage Hierarchy In/Out
UpdSiebelMessage Hierarchy In/Out
3-17:- Steps – Async Outbound Router WF
Business Sub
Business Service Business
Name Type Service Process Operation
Name Component
Method Name
EAI Siebel Business EAI Siebel Adapter Query

Inbound/Outbound Web Service Page 16


Adapter Service
Business EAI Data Execute
DataMap Service Transformation Engine
Address Fusion Proxy Service initiate
Update(Proxy Name
Business Business
service) Service

3-18:-Step Details – Async Outbound Router WF


Step Input Output Br Type Value Property Name Business Business
Name an /Expression Componen Component Field
ch t
OutputInt Literal Siebel
EAI ObjectNam Internal
Siebel e Integration
Adapter Object
PrimaryRo Process Object Id
wId Property
MapName Literal <Name of
the data
DataMap map>
OutputInt Literal External
ObjectNam Integration
e Object
SiebelMess Process SiebelMessage
age Property
Siebel Output UpdSiebelMessage
Messag Argumen
e t
RequestMe Process UpdSiebelMessage
Address ssage:payl Property
Update oad

Inbound/Outbound Web Service Page 17


Section 3.3 explains the process of calling a proxy synchronous business service with an IO. Note: This is assumed that Sync Outbound
Router WF1 is being called as a subprocess from other WF.
The XSD used for the same is as follows

<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified"


targetNamespace="http://xmlns.oracle.com/SimpleSyncProcess" xmlns="http://www.w3.org/2001/XMLSchema">
<xsd:element name="SimpleSyncProcessProcessRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Fname" type="string"/>
<xsd:lement name="Lname" type="string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org"
targetNamespace="http://www.example.org" elementFormDefault="qualified">
<xsd:element name="SimpleSyncProcessProcessResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="result" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

Inbound/Outbound Web Service Page 18


3.3 Workflow –Sync Outbound Router WF1

Figure 3-3: Workflow – Sync Outbound Router WF

3-19:-Workflow – Sync Outbound Router WF1


Workflow Process Project Business Object Workflow Mode
Name
Sync Outbound Async Outbound Service Flow
Router WF1

3-20:-Process Properties – Sync Outbound Router WF1


Default
Property Name Data Type In / Out Integration Object
String
Error Code String In/Out

Inbound/Outbound Web Service Page 19


Error Message String In/Out
Object Id String In/Out
Integration SimpleSyncProcessProcessResponse
wsoutput In/Out
Object
xmlh Hierarchy In/Out SimpleSyncProcessProcessRequest
xmlstring String In/Out

3-21:- Steps – Sync Outbound Router WF1


Business Business Sub Process Business
Name Type Operation
Service Name Service Method Name Component
WF XSLT SubProcess WF XSLT
XML Business EAI XML XMLDocToIntObj
Converter Service Converter Hier
Proxy SimpleSyncProces process
Business Business s
Service Service

3-22:-Step Details – Sync Outbound Router WF1


Step Input Output Br Type Value Property Name Business Business
Name an / Component Component
ch Expression Field
strXMLInp Process xmlstring
WF XSLT ut Property
xmlstri Process strXMLInput
ng Property
XML <Value> Process xmlstring
Converte Property
r
IntObjectN Literal SimpleSyn
ame cProcessPr

Inbound/Outbound Web Service Page 20


ocessRequ
est
Siebel Output xmlh
Messag Argument
e
SimpleSyn Process xmlh
cProcessRe Property
Proxy questMess
Business age:payloa
Service d
Simple Output wsoutput
SyncPr Argument
ocessR
espons
eMessa
ge:payl
oad

Inbound/Outbound Web Service Page 21


References
1. Book shelf
2. Support web

Inbound/Outbound Web Service Page 22

You might also like