Wednesday, June 4, 2014

Publishing Inbound Web Services

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.

Publishing Inbound Web Services

You can create and publish an inbound Web Service using the Inbound Web Services view, as illustrated in the following procedure. You can then use the new Inbound Web Service when generating a WSDL document.
To create a new Inbound Web Service record

  1. From the application-level menu, choose View > Site Map > Web Services Administration> Inbound Web Services view.

  2. In the Inbound Web Services list applet, create a new Inbound Web Services record.

    1. Enter the namespace for your organization's Web Services in the Namespace column.

    2. Enter the name of the inbound Web Service in the Name column.

    3. Select Active or Inactive in the Status field.
    4. NOTE:  If the Web Service is inactive, then the external applications cannot invoke the Web Service. If the status is changed, the server component running the inbound transport, such as HTTP, requires a restart for the change to take effect.

  3. Enter a description of the Web Service in the Comment column.

  4. Create a new inbound service port record in the Service Ports list applet.

    1. Enter the name of the port in the Name column.

    2. Pick the type of object published.
    3. If the required type is not available, add a new type following Step c through Step f; otherwise, move to Step g.

    4. Click New and select the implementation type (Business Service or Workflow).

    5. Select the implementation name (the business service or workflow that implements the port type).

    6. Enter a name for the new type in the Name field and click Save.

    7. Click Pick in the Inbound Web Services Pick Applet to complete the process of adding a new Type.

    8. Select the protocol or transport to publish the Web Service on.

    9. Enter the URL or queue to publish the Web Service on.
    10. NOTE:  When publishing over EAI MQSeries or EAI MSMQ, you cannot generate WSDL files.

      • The format to publish over EAI MQSeries or EAI MSMQ Server transports is:
    mq://send receive service point name@policy name
    msmq://queue name@queue machine name

    • 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.
    NOTE:  The Siebel application supports only one type of binding, SOAP_RPC, for each Inbound Web Service.

  5. Enter a description of the Port in the Comment column.

  6. In the Operations list applet, create a new operation record for the new service port you created in Step 4 and want to publish.
  7. NOTE:  Only the operations created in this step will be published and usable by applications calling the Web Service. Other business service methods will not be available to external applications and can only be used for internal business service calls.

    1. Enter the name of the Web Service operation.

    2. Select the name of the business service method in the Business Service Method column to complete the process.
    3. NOTE:  The Business Service Method column defaults to RunProcess if you have chosen Workflow Process in Step 4 as the Type for your Service Port.

Generating a WSDL File

Once you have created a new Inbound Web Service record you can generate a WSDL document, as described in the following procedure.
To generate a WSDL file


  1. Choose the inbound Web Services you want to publish and click GenerateWSDL.
  2. A WSDL file is generated that describes the Web Service.

  3. Save the generated file.

  4. Import the WSDL to the external system using one of the following utilities.------------
  5. The following will be already defaulted into this field: http://[webserver]/eai_[lang]/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1 Change to the name of the web server and to the language. For example the value of this at my implementation is as such: http://daac3cs6/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1 Click the Finish button. You or your Siebel Administrator now need to ensure that the EAI component is up and running and the web server eapps.cfg file has an entry for the virtual directory eai_. This will ensure that the web server knows where to route the web service calls to. I am not going to go into this in detail. In the Siebel UI, navigate to Administration - Business Process, query for the workflow Test Contact Import and click the Activate button. Restart the Siebel server(s) as this needs to occur for the new Integration Object to work. Navigate to Administration - Web Services > Inbound Web Services and query for Name: Test Contact Import. This is the web service that we created. Click the Generate WSDL button and save the XML file to your PC. Now we are ready to test the process. We can use a free software called soapUI that can call the web service. Download soapUI and install it. Google "Download soapUI" and you will find the link as the first in the list. Open Soap-UI and select File > New soapUI Project, then in the new project window enter the following: Project Name: TestContactImport Initial WSDL/WADL: Browse for the WSDL you saved earlier and select this. Create Requests: Once created, expand the TestContactImport project and then expand the ImportContact interface and then expand the operation under this and then double click the Request properties icon. This will display the sample XML for the web service. It will have ? characters for all field values, remove the ? from all the fields and enter data into the First Name, Last Name and Person UId fields as such: Person UId: ABC123 First Name: John Last Name: Smith Now the address bar at the top of this window is the address of the web service. Verify that this is correct, if not edit this address. Then click the green arrow button at the top left of the window, this will invoke the web service passing the XML. The result will be displayed in the right hand pane of this window. Verify that the contact has been imported.

No comments:

Post a Comment