According to me this is the most comprehensive tutorial you can find on net about creating Siebel Outbound Web Service. You can use resources mentioned in this article and use this example to create variety of Outbound Web Services in Siebel.
This tutorial assumes that you are familiar with basics terminology and concepts of web service. If terms like SOAP, WSDL, and Integration Object are new to you then I would suggest first to go through web services introduction article available on this website
I searched on the net for Open Web Services, which I could use to demonstrate a working Outbound Web Service example and came across webservicex.net that hosts all different kind of web services that you can use.
I chose GeoIPService that enables us to look up countries by IP address / Context. I downloaded the WSDL file and started with my work in Siebel. Below are the steps that you need to follow to create outbound web service in Siebel.
Import WSDL File:
- Click on File > New Object

- Got EAI Tab and Select Web Service

- Browse for the WSDL file that you have downloaded and complete the Wizard

This will result in creation of an additional XML file and a Log File
Objects Created:
Completion of EAI Web Service Wizard will result in creation of a Business Service and few integration objects. Details of objects is given below
- GeoIPServiceSoap Business Service (CSSWSOutboundDispatcher class)

- GetGeoIP
- GetGeoIPContext
- GetGeoIPContextResponse

Compile these objects. Proceed to next step only after compilation
Create Outbound Web Service Record:
- Go to Administration – Web Service
- Click on Outbound Web Services Link

- Click on Import button

- Browse for the XML file that was created during WSDL import

- Query for GeoIPService in Name field and you should be able to see a web service record
- Go to Operations List Applet and change Authentication Type for both method to None

Now, we have working Outbound Web Service Record.
Second and the difficult part is to successfully invoke this Web Service from Siebel.
Continued…



(4 votes, average: 3.50 out of 5)






in some case you have to give a user/password, to do so you have to put some script in the generated BS :
function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{ Inputs.SetProperty(“siebel_transport_header:Authorization”,”Basic “);
return (ContinueOperation);
}
I tried downloading the GeoIP wsdl but it seems the file isn’t there anymore. If you have the copy of that WSDL can you upload or send it to my email.
Thanks
Harish
Hi Neel,
I want to do practise on this example and I am trying to download this wsdl file. but i am getting some problem. Can you please send that geoipservice.wsdl file to my mail id: nalla.siebel@yahoo.com. I will appreciate your help.
Please neel, send me that wsdl file.
Hi Neel,
Thanks for the example . I have a slightly more complex requirement . My sample request will have both header and body . In your example we have only body . I was able to create both header and body . how do i combine them into one request . is there any special syntax for calling methods that need both haeder and body tags . In my case i have two Integration Objects , one haeder and one body
Hi Neel,
Could not find the wsdl file at the location. Could you please send the wsdl file to the mail id: knk_6@yahoo.com.
–
Thanks,
Nanda