Skip to Content
Author's profile photo M. Jaspers

Dynamic address in the SOAP receiver adapter of HANA Cloud Platform, Integration Services

In most HANA Cloud Platform, Integration Services adapters it is possible to use dynamic parameters. For example, the name of the file in the SFTP adapter can be set by using the parameter CamelFileName and the URL in the HTTP adapter can be set by using CamelHTTPUri. However, with the SOAP adapter, for which we needed it in one of our iFlows, this was not possible.

Please consider the following example. We have an interface querying data on SalesForce. To be able to connect to SalesForce a session id and a URL have to be retrieved first by using a SOAP call to a login server with a fixed URL (e.g.

The SOAP call returns a server URL and a session id. The server URL contains the actual system on which the user is allowed to log on and on which the query can be executed.
The returned session id is used for authentication:

Both the session id and the URL are dynamic values. For the session id this was no problem since it is set in the envelope using a groovy script, but the URL could not be set dynamically in the SOAP adapter.

We tried putting the URL in a header parameter using a content modifier and placing the parameter in the address of the SOAP adapter but that resulted in the following error:

The only other entry that worked, without using an address in the form of https://example, was an external parameter. This did not solve our problem, since external parameters can also not be set dynamically.

We have discussed this with SAP and they have given us a solution:

The SOAP adapter address can be overwritten by using the header parameter CamelDestinationOverrideUrl.

In the iFlow we now fill this parameter with the server URL that was received from the SalesForce login server (please note that in this case it is filled from a globale variable since we have a separate iFlow that calls the login server to get the server URL and the session id):

It is still necessary to put an address in the SOAP adapter, but that can be anything (e.g. https://salesforce) since it is overwritten by the value of CamelDestinationOverrideUrl.

We hope this will help you as much as it did us.

Frank Bakermans, YourIntegration

Martin Jaspers, Q for IT BV

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Bhavesh Kantilal
      Bhavesh Kantilal

      Hello Jaspers,
      Excellent. Thanks for this tip!
      I had pointed this as a limitation in my blog : HCI -Integrating SalesForce (SFDC) using HCI -Part 2
      Have now updated the blog to point to your blog on how SOAP URL can be set dynamically!
      I hope SAP documents this in their help documentation as well.


      Author's profile photo Bhavesh Kantilal
      Bhavesh Kantilal

      I just re-checked the documentation and I dont find this in the help documentation.Hope SAP can update the document and if you have a link to them still open you can ask them to 🙂

      Dynamic Parameters


      Author's profile photo M. Jaspers
      M. Jaspers
      Blog Post Author

      Thank you!

      As far as I know it is not documented indeed.
      That’s why we asked SAP if we could write a blog about it and they agreed.

      Let’s hope the documentation gets updated soon.

      Author's profile photo K Ramesh
      K Ramesh

      Great Jaspers …

      i’ve been waiting for an answer for my thread

      and finally i found a blog where we can achieve dynamic url passing in receiver adapter. and i achieved the same for IDOC receiver adappeter.

      an final question is, do we have global  parameter for overwriting ‘credential name’ as i mentioned below?

      any how we are going to call credential name which is available as user credentials artifact, hopefully we can overwrite credential name as well.



      Author's profile photo M. Jaspers
      M. Jaspers
      Blog Post Author

      Hi Remash,

      Sorry for my late reply, I did not see your question.

      It should be possible to make the Credential Name variable using ${header.username}

      Kind regards,


      Author's profile photo K Ramesh
      K Ramesh

      Hi Jaspers.

      Thank you for your reply.

      I tried the same but it's not working, and i raised OSS to SAP for the same, and SAP also confirmed this feature is not available.





      Author's profile photo Former Member
      Former Member

      Hi Jaspers,

      I am very new to HCI and I have a similar requirement where I need to create SOAP URL dynamically based on the input message.  Could you please help me with step by step how I can do it HCI.  As per your blog CamelDestinationOverrideUrl will overwrite the SOAP address.  But where we need to pass the url to this parameter.  My requirement is like below.


      Input message contains SystemID, and It will be different each time, if SystemID=ABC then I need to route the message to one system ,like that I need to route to 4 systems.  So in this case how can I generate soap url dynamically.

      Please help me with step by step approach to achieve this.