About Me

About Me
Working with SOA technologies , implementing solution using IBM BPM , IBM Integration Designer,IBM WODM and IBM DataPower

About me

View Mahesh Dondeti's profile on LinkedIn

upcoming posts on IBM Bluemix,Devops,Worklight,Node js.

Friday 24 June 2016

How to pass query parameters with HTTP binding in IID



How to pass query parameters  with HTTP Binding in IBM Integration Designer:-

Scenario:-

“Get Product Info HTTP Service ”  retrieves product info from  database based on product id

For example if you see below SOAP UI screenshot ,




If you observe URL (http://localhost:9082/ProcuctInfo_ProviderWeb/ProductInfo_ProviderExport?pid=M786) ,product id passed through URL instead of body ,Response got from  database

Now ,how can we  implement HTTP client service  for Get Product Info HTTP Service in IID
 
  • How  to invoke a HTTP Service  from IID?
  • How to convert client request to query parameters and Prepare target URL?

HTTP Client Module in IID:-

If  you observe below Assembly diagram, it have mediation flow and HTTP Import configured with URL without query parameter.


If you go to mediation flow ,Used "HTTPHeaderSetter primitive" to construct URL with query parameters



Using  DynamicOverrideURL in "HTTPHeaderSetter Primitive " constructed the url  ,here product id (which comes in request) set dynamically using Xpath as query parameter. Please see below



Move  DynamicOverrideURL to  SMOHeader/target/address  using mapping primitive.

Make sure  "use dynamic endpoint if set in the message header" checked for service invoke



Testing Using Integration Test Client:

Request:



 
Response:


Hope this post helps you. So far this is my best effort to explain. Please correct me if I do anything wrong.
Please post any issues/query’s related to IBM Bluemix,IBM BPM,WODM and DATAPOWER  to "
maheshitsolutions@gmail.com”.
Please share your valuable suggestions and feedback to my mail id"maheshitsolutions@gmail.com" to improve myself without fail.