Skip to Content

Create a Basic Flow with a SOAP Endpoint

test
0 %
Create a Basic Flow with a SOAP Endpoint
Details

Create a Basic Flow with a SOAP Endpoint

August 13, 2020
Created by
November 6, 2019
Create a basic integration flow with a SOAP endpoint in SAP Cloud Platform Integration.

You will learn

  • How to create a basic integration flow
  • How to add sender and receiver channel
  • How to expose a SOAP endpoint
  • How to configure a mail receiver
  • How to deploy, execute and monitor an integration flow

Prerequisites

  • You have an SAP Cloud Platform Integration tenant.
  • You have assigned ESBMessaging.send role in the SAP Cloud Platform cockpit to the user that will be used for calling the flow. You can do this by following step 6 in the Integration Suite Onboarding Tutorial


Step 1: Launch SAP Cloud Platform Integration
  1. Launch an HTML5 compliant internet browser.

  2. Access the Web Interface using the URL: <tenant URL>/itspaces/

    If you get a security warning dialog, click yes and proceed.

    Security

    After logging in, you should finally see the following screen:

    Launching the Web Interface

    With the navigation on the left, you can switch between the following sections of the Web Interface:

    • Discover → SAP’s reference catalog.

    • Design → customer’s workspace - design time.

    • Monitor → Monitoring messages, deployed artifacts and perform other operational tasks.

Log on to answer question
Step 2: Create an integration flow
  1. Click Design to open the Designer View.

    Open Design View

    OR

    Open Design View
  2. Create an Integration Package by clicking on Create.

    Create Package

    An integration package is a container for your integration artifacts like integration flows or value mappings and supporting documents. It is a logical grouping of your integration content.

    Enter the following values:

    Field Name Value
    Name SAP Cloud Platform Integration Tutorials
    Short Description Bottom-up tutorials to teach you how to create basic to complex integration flows in SAP Cloud Platform Integration
    Version 1.0.0
    Vendor SAP
  3. Click Save.

    Create Package
  4. Add an integration flow to this package.

    • Go to the Artifacts tab.
    • Click Edit.
    • In the Add dropdown, choose Integration Flow.
    Create integration flow
  5. Choose Create.

    Field Name Value
    Name Manage Freight Logistics
    Short Description Raise a transportation request for the goods bought online to most relevant logistics vendor based on the location of the goods and the customer.

    Keep the rest of the settings as it is.

    Enter Integration Flow details
  6. Click OK.

    An integration flow is now created and added to the integration package.

    Integration Flow created
  7. Click the name of the integration flow to launch the integration flow editor.

    The system creates a skeleton flow for you by default.

    Skeleton Integration Flow created
  8. Click Edit to start adding logic to your integration flow.

    The design palette appears on the left side that provides all the process steps that can be added to the integration flow.

Log on to answer question
Step 3: Expose a SOAP endpoint
  1. Give a name to the sender system:

    • Click on the Sender.

    • Go to the properties sheet.

    • Set the name to e-Commerce Vendor.

    Set sender name
  2. Create the sender channel:

    • Click on the Sender.
    • Choose the Connector speed button.
    Sender connector
    • Drag the arrow to the Start message event.
    • Choose SOAP from the Adapter Type pop-up.
    • Choose SOAP 1.x in the next screen.
    Sender connector choose
  3. Configure the SOAP sender:

    • Click on the SOAP sender channel.
    • Go to the Properties sheet.
    • Go to the Connection tab.
    • Set Address to /submitFreightInfo.

This is the SOAP endpoint that you will expose from this integration flow. It will be prefixed with the tenant URL to get the full URL.

Sender connector configure

Log on to answer question
Step 4: Create a user credential

A User Credential is an artifact created in the secure store of SAP Cloud Platform Integration to securely store user/passwords. The credential artifact is always stored as encrypted and hence keeps the password safe.

  1. Create and deploy a credential for sending mail on behalf of a mail account:
    • Go to the Monitor view.
    • Click on the tile called Security Material.
    • Add User Credential.
    • Set Name to mailSender.
    • Configure the mail sender’s email address and passwords.
    Sender mail credentialClick Deploy.
Log on to answer question
Step 5: Add a mail receiver
  1. Give a name to the receiver system:

    • Click on the Receiver.
    • Go to the Properties sheet.
    • Set the name to Logistics Manager.
    Set receiver name
  2. Create the sender channel:

    • Click on the End message event.
    • Choose the Connector speed button.
    Receiver connector
    • Drag the arrow to the Receiver system.
    • Choose Mail from the Adapter Type pop-up.
    Receiver connector choose
  3. Configure the Mail receiver:

    • Click on the mail receiver channel.
    • Go to the Properties sheet.
    • Go to the Connection tab.
    Mail channel
  4. Enter the following values:

    Field Name Value
    Address smtp.gmail.com:587
    Proxy Type None
    Protection STARTTLS Mandatory
    Authentication Encrypted User/Password
    Credential Name mailSender
    From <Sender mail Address>
    To <Receiver mail Address>

    Finally, your flow must look like:

    Final flow
Log on to answer question
Step 6: Save, deploy and execute the flow
  1. Save the integration flow by clicking on Save.

    Flow save

    Alternatively, you can use Save as version to change the version of the integration flow. Versions are managed by the Web Interface which also allows you to rollback to saved versions.

    The system performs configuration check of all the integration flow settings that you configured so far and lists them in the Problems View. Errors and warnings are displayed.

  2. Deploy the integration flow by clicking on Deploy.

    Deploy flow

    Click Yes in the Confirmation dialog.

    Click OK in the Deployment pop-up.

    In case of an error in configuration, the system shall not allow to deploy the flow. You shall see a Validation Error.

    Deploy Error

    Refer the Problems View for more details about the reason of the failure.

    Finding Error

    The error says that the name of the sender and receiver systems should not have any space.

    Change the name of the Sender system from e-Commerce Vendor to e-CommerceVendor.

    Similarly, change the name of the Receiver system from Logistics Manager to Logistics Manager.

    Systems renamed

    Save and redeploy the integration flow.

Log on to answer question
Step 7: Check deployment status
  1. Click on Monitor to open the Monitoring View.
  2. Click on the tile for Manage Integration Content.View deployed artifacts
  3. Look for your integration flow. Make sure it is in Started state.

    Bundled deployed and started

    You can find more details about the deployed bundle, especially the exposed endpoints on the right hand pane.

Log on to answer question
Step 8: Trigger the integration flow
  1. Retrieve the endpoint URL of deployed integration flow:

    • Ensure you are in the Manage Integration Content view.
    • Locate your integration flow.
    • Make sure it is in started state.
    • Select the flow to view the endpoint details on the right hand pane.
    • Copy the endpoint URL with the speed button on the right.
    Endpoint
  2. Launch the Postman App.

    Launch Postman
  3. Configure Postman:

    Field name Value
    Verb POST
    URL \<tenant URL>/cxf/submitFreightInfo
    Authorization
    Type Basic Auth
    Username <Your user on your tenant>
    password <Password of the user>
    Body
    Format Raw, text
    Postman configuration

    Use the following input message:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dis="http://camel.apache.org/cxf/jaxws/dispatch"> <soapenv:Header/> <soapenv:Body> <orders> <order> <orderID>BS00010023</orderID> <OrderDate>11.04.2019</OrderDate> <CustomerName>Kiara</CustomerName> <CustomerLastName>Jain</CustomerLastName> <Address>23,Prime View,Redfield,Bangalore,Karnataka,560037,India</Address> <ContactNumber>0091-8437329849</ContactNumber> <items> <item> <ProductID>RPD4044543</ProductID> <ProductDescription>Wireless Mouse</ProductDescription> <Quantity>1</Quantity> </item> </items> <OrderValue>1257</OrderValue> <ShippingType>Priority 2-day</ShippingType> <SpecialPackaging>None</SpecialPackaging> <PaymentType>CoD</PaymentType> </order> </orders> </soapenv:Body> </soapenv:Envelope>

Hit Send.

You should see a response status 200 OK.

Response status

Log on to answer question
Step 9: Monitor the flow
  1. Click on Monitor to open the Monitoring View.
  2. Click on All Integration Flows tile under Monitor Message Processing.Monitor
  3. Look for your message processing. Make sure that the status of processing is Completed.

    Monitor Message
  4. You should have received a mail at the mail address you configured in the mail receiver channel.

    Mail Received
Where do you create your own integration flow in SAP Cloud Platform Integration?
×

Next Steps

Back to top