cancel
Showing results for 
Search instead for 
Did you mean: 

My scenario soap to soap scenario

Former Member
0 Kudos

i am new in pi, Can u explain how to create the multiple operations at receiver side.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi k dasari ,

We have two approaches to handle the Multiple Operations at Soap Receiver Side.

Those are

Approach 1: Statically

Based on the number of Operations we have to create those many Service Interfaces and Receiver Communication channels and Receiver Agreements.

Adv: donu2019t need to create any udf.

Dis.adv: If we have create multiple Operations then we need to create multiple Service Interfaces and Receiver Communication Channels and Receiver Agreements.

Approach 2: Dynamically

By Creating Single Service Interface with multiple operations and Single Receiver Communication Channel and Receiver Agreement we can achieve this.

In the Second Approach we are going to use Dynamic Configuration Concept to get the Soap Action Dynamically from the Mapping.

Adv: we donu2019t need to create multiple comm...Channels and agreementsu2026

thanks,

sankar.s

Former Member
0 Kudos

Thanks

Answers (1)

Answers (1)

Former Member
0 Kudos

HI,

For this, we have to fill the TargetURL and the SOAPAction in Receiver Communication channel dynamically.

So, we need to write UDF in Message Mappings using DynamicConfiguration to fill the TargetURL and the SOAPAction Dynamically.

DynamicConfigurationKey keyURL = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");

DynamicConfigurationKey targetURL=DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","TServerLocation");

// access dynamic configuration

DynamicConfiguration conf = (DynamicConfiguration) container

.getTransformationParameters()

.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

conf.put(keyURL,"Soap action");

conf.put(targetURL,"target url");

return "";

In this UDF, we are filling the TargetURL in u201CTServerLocationu201D message attribute and SOAPAction in u201CTHeaderSOAPActionu201D message attribute.

So, whenever we execute this corresponding operation these values will be filled in receiver communication channel at runtime.

TargetURL- Give some dummy URL or http://

SOAPAction - *

regards,

ganesh.