cancel
Showing results for 
Search instead for 
Did you mean: 

SalesForce XI Integration...

HarshC
Active Participant
0 Kudos

Hi,

We are trying SalesForce-XI Integration using WSDLs. We are facing the following issues:

a. The SalesForce SOAP Calls require a session id string to be passed as part of the SOAP header. This soap header is not visible as part of the message type(only the soap body is seen). How do we pass data as part of SOAP headers using XI?

b. The Target URL for the SOAP calls is dynamic, while in XI, in the SOAP communication channels, this is Hardcoded. Can this be parameterised in anyway?

Any help regarding these is welcome.

Thanks,

Harsh

PS: Anyone who's worked on SalesForce XI Integration before?

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

<i>The Target URL for the SOAP calls is dynamic, while in XI, in the SOAP communication channels, this is Hardcoded. Can this be parameterised in anyway?</i>

Harsh,

this is possible using ADAPTER SPECIFIC IDENTIFIERS of the SOAP adapter and set the same in Message mapping.

Regards,

Bhavesh

bhavesh_kantilal
Active Contributor
0 Kudos

Following code in thee mapping can be used to set the SOAP Action and URL dynamically,

String url="url";
String action="saopaction";
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
 
DynamicConfigurationKey keyURL = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/Soap","TServerLocation");
DynamicConfigurationKey keyACTION = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/Soap","THeaderSOAPACTION");


// Set SOAP url 
conf.put(keyURL, url);
conf.put(keyACTION,action);

Let me know if it helped.

Regards,

Bhavesh

Answers (2)

Answers (2)

0 Kudos

Hi Chawla!

We encounter the same problems - but I did not succeed in dynamically changing the hardcoded parameter.

Did you succeed?

When I change the parameters in the mapping, everything works fine and inthe SXMB_MONI I see the right dynamic url, action parameters.

In the SOAP adapter I specified the chackbox "USe Adapter Specific attributes", but the adapter takes the hardcoded URL anyway.

What was your experience?

Thanks for reply,

kr MArtin

But the SAP

bhavesh_kantilal
Active Contributor
0 Kudos

Harsh,

Take a look at this document,

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873...

Part 4 ADVANCED FEATURES :

<i>4.1 SOAP Header Fields

The SOAP adapter creates the SOAP envelope. You cannot influence this procedure. If

you need to apply special tags inside the SOAP header, the only option is to create the

whole SOAP envelope during mapping, and in the case of a synchronous call, to remove

the SOAP envelope in the mapping.

In the SOAP adapter channel, select Do Not Use SOAP Envelope.

By using this parameter, you can use the SOAP adapter to send or receive non-

SOAP messages. In this case the sender SOAP adapter requires an additional

parameter nosoap=true in the URL. For example:

http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=<party>:<service>:<channel>&nosoap=true</i>

Should address a few issues..hopefully

Regards,

Bhavesh