This document demonstrates a method of testing an inbound web service locally (i.e. no Siebel Server/web server required). It is an alternative approach to that outlined in How To Use Local Web Service.
Activate Siebel Contact Inbound Web Service
In this document, the Siebel Contact ASI will be used as an example.
Activate the Siebel Contact ASI in the Administration - Web Services > Inbound Web Services view.
We will use binding SOAP_DOC_LITERAL (see below for examples of other bindings) :-
Generate Example SOAP Document
When invoking the Web Service Inbound Dispatcher directly, you will need to provide a correctly formed input SOAP document. If you need to create one:-
For the Siebel Contact web service in the Administration - Web Services > Inbound Web Services view, click the Generate WSDL button, you may get a download popup asking where you want to save the file. You may want to change the FileName to a meaningful value such as SiebelContact.WSDL and save the file.
Import the wsdl to the web service tool (e.g. soapui) and cut/paste the example request doc
Invoke the Web Service Inbound Dispatcher
Using the SOAP document, invoke the Web Service Inbound Dispatcher to call the Siebel Contact web service.
In the Business Service Simulator, set the Service Name and Method Name :-
Service Name
Method Name
Web Service Inbound Dispatcher
Dispatch
In the Input Arguments applet, provide a SOAP document in the Value field, an example is shown below (you should use encoding declaration UTF-16 for this test from the Business Service Simulator) :-
<?xml version="1.0" encoding="UTF-16"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi="http://siebel.com/asi/"><soapenv:Header/><soapenv:Body><asi:SiebelContactQueryById_Input> <asi:PrimaryRowId>1-W9D</asi:PrimaryRowId></asi:SiebelContactQueryById_Input></soapenv:Body></soapenv:Envelope>
Click the glyph on the Property Name, and provide the following Property information :-
Property Name
Property Value
TransportType
HTTP
SOAPAction
"document/http://siebel.com/asi/:SiebelContactQueryById"
Note : If unsure of the required soap action to set, check the wsdl for 'soapAction' and cut and paste.
Other Bindings
For either SOAP_RPC_ENCODED or SOAP_RPC_LITERAL, you can also test with the Web Service Inbound Dispatcher. For these, you should not set a SOAPAction property as for the SOAP_DOC_LITERAL example (but do set TransportType=HTTP). You can generate sample SOAP requests as above (e.g. using soapui) after generating a wsdl from Siebel with the binding set as required. Example SOAP structures are shown below :-
SOAP_RPC_ENCODED
<?xml version="1.0" encoding="UTF-16"?><soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi="http://siebel.com/asi/"><soapenv:Header/><soapenv:Body><asi:SiebelContactQueryById soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><PrimaryRowId xsi:type="xsd:string">1-W9D</PrimaryRowId></asi:SiebelContactQueryById></soapenv:Body></soapenv:Envelope>
SOAP_RPC_LITERAL
<?xml version="1.0" encoding="UTF-16"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi="http://siebel.com/asi/"><soapenv:Header/><soapenv:Body><asi:SiebelContactQueryById> <PrimaryRowId>1-W9D</PrimaryRowId></asi:SiebelContactQueryById></soapenv:Body></soapenv:Envelope>