cancel
Showing results for 
Search instead for 
Did you mean: 

Need to dynamically switch the web service address while calling External Web Service

Former Member
0 Kudos

Hi Experts,

We've a requirement in one of the projects where we need to dynamically switch web service addresses while calling an outbound external web service from SAP PI.

To explain the requirement in detail --> We have few web services running locally on few desktops. We want to call these web services running on individual machines by calling the WSDL URL which will be different for each machine considering the IP Address which is different for every machine.

PI will get to know the IP address from CRM system and based on that we have to execute the web service running on the specific desktop.

I would like to know if anyone has ever encountered such a scenario and if it is possible to achieve this requirement.

Thanks,

Anurag

Accepted Solutions (0)

Answers (2)

Answers (2)

iaki_vila
Active Contributor
0 Kudos

Hi Aniurag,

You have the option to determine the URL dynamically at mapping level with dynamic configuration: SOAP Adapter dynamic URL configuration - Community Profiles [Read-only] - SCN Wiki

Regards.

Former Member
0 Kudos

Thanks, will try this out and will let you know the results.

BR,

Anurag

former_member190293
Active Contributor
0 Kudos

Hi Anurag!

1. You could use pre-defined interfaces and communication channels for your WS systems if you have just a few of them and their FDQN's/ip-addresses are constant. Then in receiver determination you could select receiver system according to your ECC data.

2. You could try to use Directory API to change communication channel parameters.

3. You could try to write your own SOAP client java code (just an idea ).

4. Some kind of "crazy mind" : on Windows server system(don't know how about Unix/Linux) you could try to use hosts file to set given ip-address for WS system's DNS name with java UDF or java mapping and in Communication Channel settings use that DNS name in URL string.

Regards, Evgeniy.