How To Invoke Inbound Web Service Locally Using Web Service Inbound Dispatcher

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.

  1. Activate the Siebel Contact ASI in the Administration - Web Services > Inbound Web Services view.


     

  2. 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:-

  1. 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.

  2. 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.

  1. In the Business Service Simulator, set the Service Name and Method Name :-

    Service Name

    Method Name

    Web Service Inbound Dispatcher

    Dispatch

  2. 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 :-

  3. 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.

    Prior to invoking, the screen should look like:-



     

  4. Invoke it, click Run:-


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 :-

  1. 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>

  2. 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>

Tags