Saturday, 25 November 2017

Create an Integration in ICS to expose SOAP service

In this blog, we'll demonstrate how we can use Integration Cloud Service to expose SOAP service. In one of my blog we have showcased how to expose REST services.

In this blog, we will create an Orchestrated integration that will be exposed as a SOAP service.

Use Case
  • Develop a SOAP service using ICS
  • Request parameter would be a user id
  • Response would be username
  • Service will return fault if user not found
Below are the steps to achieve the use case
  1. Create DB Connection
  2. Create SOAP Connection
  3. Create Orchestrated Integration
  4. Test SOAP service
Let's go ahead and achieve all the steps one by one
  1. Create DB Connection: DB connection will work as a Target point. Please check the blog how to create DB connection.
  2. Create SOAP Connection: SOAP connection will work as a Trigger point. Please check the blog how to create SOAP connection.
  3. Create Orchestrated Integration: Create an Orchestration integration using below steps:
  • Click on Create button from Integration page and select Orchestration pattern from the dialog box
  • Enter Below information and click on Create button
    • Select Application event or business object radio button
    • Enter Integration Name in What do you want to call your integration text box
    • An Identifier would be picked up automatically from Integration name, however, we can update this
    • Let the Version as it is
    • Enter the description in What does this integration do box
    • Leave the package box as it is
  • Drag SOAP_Conn on the canvas from the SOAP connection
  • Complete the SOAP wizard with some clicks Next -> Next -> Next -> Next - > Done. Once the SOAP wizard is complete, integration will look like below
  • Drag Test_DB_Conn on the canvas from the DB connection just below the Map GetUserName

  •  Enter the endpoint name and select Run a SQL Statement from What operation do you want to perform drop down then click Next

  • Enter below query then click Validate SQL Query button. Click Next  -> Done button to complete the configuration wizard

select name from xx_employee_t where id=#userId


  • Edit GetUserDetails map and map id -> userId

  • Now let's check if a user exists or not. To do so, drop the Switch activity below the DB adapter and configure if action. Put the condition, username is not blank
  • Drop the map activity in the if block and map, name -> name
  • Drop the Fault Return activity under the otherwise. A mapper will get automatically added between the otherwise and Fault Return
  • Edit the newly added mapper and you will notice that fault object that was in the WSDL will be shown automatically. Put the expression 'User doesn't exist' in the reason
Now the integration is complete. Activate the integration that will provide one WSDL once the integration is activated successfully.

Let's test the integration using SOAP UI tool.

TEST-1 : Send valid id, hit the request and notice the valid response

TEST-2 : Send invalid id, hit the request and notice fault will occur



6 comments:

  1. Where do you get the "Fault Return" activity? Is it "Scope" under actions?

    ReplyDelete
  2. Hi Sumanth, You will get fault return only when you have fault type of variable in your wsdl.

    Regards,
    Ankur

    ReplyDelete
    Replies
    1. Thanks Ankur, do you have a blog or sample IAR which has used scope action and fault handlers in ICS?

      https://docs.oracle.com/en/cloud/paas/integration-cloud-service/icsug/creating-integrations.html#GUID-CA6E2C26-1D95-4BA6-B45F-9352E9ED07CB

      Delete
    2. As such, we don't have any blog. In this blog we used switch blog, you can use scope activity instead of switch.

      Let me know, if you are able to do so.

      Regards,
      Ankur

      Delete
  3. India Data Entry Services is a trusted Amazon Bulk Product Upload Services provider to e-commerce companies and platforms. Be it e-commerce product cataloguing or Product Upload Services, since our inception in 2010, we are striving to get all best o cater global organizations. The company is strategically positioned to support big or small e-Commerce Stores working on various domains such as fashion apparels, crockery items, furniture, accessories, shoes, bags, technology and much more. We house dedicated professionals who are assigned to separate divisions that are deftly managing Ecommerce Product Data Entry Services, specification and attributes for web stores, online retailers and eCommerce catalog companies.

    ReplyDelete
  4. India eData Solutions provide ecommerce product data entry Services on affordable Price, Outsource ecommerce Product Data entry services, We are highly experienced Yahoo Store ecommerce product upload Services for ecommerce stores (Website). our dedicated team of Yahoo Store Specialists we have been managing hundreds of ecommerce bulk product upload.

    ReplyDelete