Skip to Content

HCI : Understanding the Gateway / Persist / Terminate function


Business scenario – A logistics system is sending Sales Area Information to a remote SFTP server via HCI. The message should be sent to the SFTP server only if the Sales Org field has a particular value else the flow should be terminated.

Intention – To understand the Gateway / Persist / terminate steps with an asynchronous scenario in HCI ( SOAP to SFTP ) including the testing and monitoring.

Pre-requisites

  • SOAP UI (SOAP UI 4.0.1 version or later versions)
  • Eclipse with HCI plug-ins
  • Tenant ID and access to HCI

Download Eclipse and install HCI plugins :

Download eclipse from http://eclipse.org/downloads/packages/release/Kepler/SR2  and choose the Windows 64 bit option ( based on your OS)


On the home page , Go to Help and choose ‘Install New Software’. Click Add Button and give the below URL: http://tools.hana.ondemand.com/kepler  and select ‘ Hana Cloud Integration’ option on the next screen. This completed the installation of HCI plugins in eclipse.


Note: HCI config can also be done using WEBUI apart from this eclipse option


Tenant connection :


Setup eclipse with your tenant

/wp-content/uploads/2016/08/op1_1026728.png

Create Integration Project and Iflow:

We will create the Integration Project which will hold our Iflow. Go to File -> New -> other and choose Sap Hana Cloud Integration. Select Integration Project and click next. Then create the Iflow as specified under.

/wp-content/uploads/2016/08/2_1026729.png

Configure Sender and Channels :

Click on the sender and give a name to sender system. select properties – > Basic authentication for the purpose of simplicity

/wp-content/uploads/2016/08/3_1026730.png

Import the WSDL :

Click on “src.main.resources.wsdl” – right click and import the Sales Area WSDL. We will need this in the Sender channel config.

/wp-content/uploads/2016/08/31_08_2016_01_31_54_1026731.png

We will import 2 WSDLS – one for source ( SalesArea.wsdl ) and other for target ( Sales_Area_tgt.wsdl )

Src WSDL – will have 3 fields. SalesOrg / DistrChannel / Division

Tgt WSDL – will have 4 fields SalesOrg / DistrChannel / Division / country . Country will be hard coded in mapping.

Sender SOAP channel :

   /wp-content/uploads/2016/08/31_08_2016_01_29_18_1026732.png

Address :  Specify any logical name like /SalesArea . This will be part of the endpoint which will be generated later.

URL to WSDL : click browse and select SalesArea ( Src WSDL )

Processing settings :

Standard – For Async scnearios

Robust    – For Sync scenarios where the response goes back to sender.

  /wp-content/uploads/2016/08/31_08_2016_01_37_59_1026733.png

Mapping :

Right click on “src.main.resources.mapping” – > new -> other -> HCI -> message mapping.

Select the source and target message in the mapping

/wp-content/uploads/2016/08/31_08_2016_01_45_54_1026734.png.

Complete the one to one mapping and harcode the country code to ‘US’

/wp-content/uploads/2016/08/31_08_2016_01_54_26_1026735.png

‘Console’ will automatically show any errors upon saving the mapping

/wp-content/uploads/2016/08/31_08_2016_01_55_33_1026736.png

Click on the connection between start and end . Then Right click and “Add Message Transformers” -> ” Mapping”

/wp-content/uploads/2016/08/ma_1026737.png

Then right click and assign the mapping u just created

/wp-content/uploads/2016/08/31_08_2016_02_00_13_1026738.png

Gateway config :

Requirement is that the message should go the receiver only when Sales Org = ‘A001’ else it should be terminated without any error / exception.

click on the connection between mapping and end step . Right click “Add message routin” -> “Router”

/wp-content/uploads/2016/08/route_1026739.png

Click on the connection between Gateway and End. Click on properties and put a name like ‘Salesorg’.

Condition expression : /p1:SalesArea/Salesorg=’A001′

/wp-content/uploads/2016/08/31_08_2016_02_11_50_1026740.png

Click on “Gateway” and remove “Raise Alert” and “Throw Exception” .

/wp-content/uploads/2016/08/31_08_2016_02_15_13_1026741.png

End Message :

Click on end message event from right side and drag it inside the Iflow. Then draw the connector between them.

Give the name as “NotSalesOrg” and click on “Default Route”

/wp-content/uploads/2016/08/31_08_2016_02_18_02_1026742.png

Check the namespace mapping :

Goto “Runtime configuration ” and see the right name space mapping is shown there.

/wp-content/uploads/2016/08/31_08_2016_02_20_37_1026743.png

Message persistence :

Click on the line between mapping and gateway and click on message persistece

/wp-content/uploads/2016/08/persist_1026756.png

Deploy the Iflow :

Now right click and deploy your Iflow

/wp-content/uploads/2016/08/31_08_2016_03_42_42_1026757.png

Console shows that the deployment was successful.

/wp-content/uploads/2016/08/31_08_2016_02_25_31_1026745.png

WEBUI :

You can use the tenant url to go the webui -> overview section to monitor / check your Iflows.

/wp-content/uploads/2016/08/31_08_2016_02_28_35_1026746.png

Click on All started

You will be able to see the endpoint and final Iflow. This endpoint should be used in SOAP UI to test.

/wp-content/uploads/2016/08/31_08_2016_02_31_21_1026747.png

View Integration flow – will show the final deployed Iflow

Monitor Message Processing – will be used for monitoring your messages after you test.

Final Iflow :

/wp-content/uploads/2016/08/31_08_2016_03_47_04_1026837.png



SOAP UI testing :

As you can see here endpoint is taken from the webui as previously mentioned. Also specify thee HCI user/pwd as ‘Basic authentication’

This is an Asynchronous scenario and hence no response is seen …only . HTTP  / 1.1 202 Accepted. 

/wp-content/uploads/2016/08/31_08_2016_02_36_21_1026749.png

Monitoring :

Go to web ui – > click on completed messages

/wp-content/uploads/2016/08/31_08_2016_02_39_19_1026750.png

Go to ” Message processing log” . You can see the message is COMPLETED.

/wp-content/uploads/2016/08/31_08_2016_02_41_54_1026751.png

NOTE : This Blog does not show the receiver SFTP config as it follows standard steps. The receiver channel and system have been removed from the Iflow

3 Comments
You must be Logged on to comment or reply to a post.