cancel
Showing results for 
Search instead for 
Did you mean: 

SFDC Integration with SAP PI

anand_shankar10
Active Participant
0 Kudos

Hi Experts,

I am working on SFDC integration with SAP PO AEX.

I have gone through various posts/discussion on salesforce integration but I have still one open query and so writing this.

1. Is it always mandatory to get session ID from salesforce to proceed ahead with various calls?

2. Do we need to specify any user and password to get the session ID or we can send any constant?

3. I have seen guys using a JAVA mapping for getting the session ID in the SOAP Header. Is there any alternative as I am poor in java.

4. In SHort if anyone can provide me step by step procedure for an interface I will be really obliged as I have less time.

Thanks a ton

Anand.

Accepted Solutions (1)

Accepted Solutions (1)

iprieto
Contributor
0 Kudos

Hi,

  1. Get the session ID is mandatory for the first connection, you have to agree with SF the live time of this session is alive. When the session is dead you must to get another session id. The session ID is a mandatory parameter that it has to be included in all request to Salesforce.

  This parameter specifies the session ID returned from the login server after a successful login().       This session ID is used in all subsequent calls.

   When you sign on via the login() call, a new client session begins and a corresponding unique    session ID is generated.

   Sessions expire automatically after a predetermined length of inactivity, which can be configured in Salesforce by clicking Your Name > Setup > Security Controls. The default is 120 minutes (two hours). If you make an API call, the inactivity timer is reset to zero.

   2. The login information is attached in SOAP Body (username, password + token). This paramertes could be used as constant parameters.

   3. The best choice is made this implementation by means UDF.

   4. As Michael said the SOAP UI is your best friend for do it.

Regards.

Iván

Former Member
0 Kudos

Hi Anand,

Did you get through this?

I wanted to know is there any way we can store the session id rather than logging in every time?Since this session id is active for 120  mins by default and if we login fo revery transaction,there is a limit of 3600 calls to login() per user per hour. Exceeding this limit will result in a “Login
Rate Exceeded” error.

anand_shankar10
Active Participant
0 Kudos

Hi Mona,

We used SKYVVA tool which is deployed on salesforce and we have to configure a module in soap receiver channel which takes care of the session ID. This is just one time activity but the configuration on skyvva is a development in itself. This needs training to learn.

Thanks

Anand

0 Kudos

Sorry, is it possible to have what has been done to solve the problem in UDF? i haven't been able to solve it yet.

Thanks

Umberto

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Anand,

we are implemented SFDC integration with sap po with java code for handle session ID, we are facing some issues with java, can you explain or share a document.

thanks

Regards

Pradeep A

Former Member
0 Kudos

Hello Anand,

I've already made interfaces between SAP ECC and SFDC so I can try to share my experience with you. I've made it on a PI 7.11 dual stack but I guess it could also work on an AEX.

1. Not sure about this point, but I think it's mandatory

2. In my case, I had to specify a user/pwd. In fact, the password contains a token (linked to a SFDC user). I used parameters in PI scenario (in MM, OM and Interface Determination) to store user and password

3. In order to avoid a BPM, I created a small User Define Function which is able to connect to Salesforce with a user/token+pwd (and get sessionId in response). This solution looks much easier than Java Mapping ...

4. During my SFDC projects, I met the following difficulties:

  • I had to recreate all external definition in xsd with the whole SOAP envelop (if I use the partner or enterprise wsdl, I got http errors during SOAP calls). I use SOAPUI to capture the right SOAP format (with SOAP header, SOAP body, ...). With this configuration, I need to configure my SOAP communication channels with "Do not use SOAP envelop" checked
  • During message mapping, I use an UDF (SOAP lookup) to get sessionID and fill the corresponding field
  • I strongly advise you to work with SOAPUI to understand how the SFDC web service work

I hope it'll help ...

Regards,

Michael.

anand_shankar10
Active Participant
0 Kudos

Kindly share the UDF.

Thanks

Anand