How to create and publish Inbound Web Service in Siebel based on Workflow

Inbound Web Services:

The Inbound Web Service allows an external system to call a Siebel published Web Service. You can publish a business service or a business process as a Web Service and generate a Web Service Definition Language (WSDL) file that an external system can import. The Inbound Web Services can only be published from Siebel C using SOAP-RPC binding. Source: Oracle Docs

What Is The Difference Between Web Services and APIs?

An API is an interface that allows you to build on the data and functionality of another application, while a web service is a network-based resource that fulfills a specific task. Yes, there’s overlap between the two: all web services are APIs, but not all APIs are web services.

Both web services and APIs are — at their core — very useful and very much used today. However, it’s the web services associated with SOAP and/or Service Oriented Architecture which are falling out of favor. Source: NordicApis

Process:

Prepare the workflow which will serve as Siebel inbound web service. Workflow status should be Completed, click on Active button status will changed to Completed.


If you are using EAI business service and have SiebelMessage process property, please change its data type to Integration Object.

and under Integration Object column name please provide the IO name.

How to create Inbound web service in Siebel based on Workflow?

Right click on the workflow and click on Deploy as web service.

Provide the operation name for the web service, usually I provide same as workflow name. 

For the end point URL provide the web server address and language of the application.

http://<webserver>/eai_<lang>/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1

http://siebel_uat01/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1

For authentication you need to add security header in your request (described at the last section) or you can pass application user and password in end point URL by following the below:

The URL format to publish over HTTP is:

http://webserver/eai_lang/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=username&Password=password

Where:

lang is the default language of Object Manager to handle the request.

webserver is the machine name of the Siebel Web Server.

username is the Siebel user to execute the request.

password is the password of the Siebel user.

How to deploy workflow on Siebel client?

Now we need to deploy the workflow on Siebel client side. Right click on the workflow and click on Export workflow process.

Save workflow xml in Tool's Temp folder.

Open the Siebel application and go to site map. Go to Repository Workflow Process.

Under Active Workflow detail tab click on Menu button and select the Import Process option and from the window select the workflow xml.

How to publish/ generate Inbound Web Service WSDL?

Go to site map, and go to Inbound Web Services

Find the newly created web service and click on "Generate WSDL" button.

In new browser window (for chrome) Siebel will download the wsdl file.

How to test web service through SoapUI?

Open SoapUI and click on File and select New Soap Project.

Select the wsdl file using Browse button. Select the newly download wsdl file and click Open button.

Soap will create a new Project with provided name, expand the project and double click on Request 1. SoapUi will open a request window for this service.

Now you need to add authentication in the request, so that Siebel will allow requests from this web service.

copy paste the below security header the in request.

<soapenv:Header>

<UsernameToken xmlns="http://siebel.com/webservices">######</UsernameToken>

<PasswordText xmlns="http://siebel.com/webservices">######</PasswordText>

<SessionType xmlns="http://siebel.com/webservices">Stateless</SessionType>

</soapenv:Header>

Remove the ? from all xml tags and provide the appropriate values and click on green play button.

If you are trying to test Out Bound Web Service on SoapUi and receiving the gibberish in response, go to File and than Preferences.

On SoapUI Preferences window you will find and a check box "Accept compressed response from host" try tick and untick.



See Also: