cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PO integration with salesforce

0 Kudos

Dear Experts need your quick suggestions,

I have a scenario for integrating SAP PO(single stack) with Salesforce.IDOC-->PO-->SFDC.Here i have received an enterprise WSDL from SFDC team. The WSDL contains many methods, by using one of the "Login" method (with help of java udf) i am able to get the session ID and target url.

The problem is when i am trying to do graphical mapping, i am unable to find the suggested fields to map with IDOC fields in any of the methods. But,when i open this WSDL in any browser, i can able to see the fields under sobject classes.

Questions:

1. Do we need to get any other custom or metadata WSDL for doing mapping?

2. Client requesting to not hit the salesforce site every time for getting SessionID, unless it changes. So can we store the SessionId in PO until the new session id changed/generated?

Thanks,

Siva.

Accepted Solutions (0)

Answers (6)

Answers (6)

0 Kudos

Hi Muniyappan,

Now i have received a custom WSDL from salesforce, but when i am trying to post data to sales force i am getting error as below,

SOAP: Response message contains an errorXIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session.

When i tried to push the same message (envelope format) from SOAP UI it is working well, the fields are updating in sales force. Can you please let me know where is the difference ? reason for above error?

Muniyappan
Active Contributor
0 Kudos

Hi Siva,

You are facing issues with structure. What fields do you get when you load in soap ui/PI/browser.

Get a help from SFDC team on how to post the request to sfdc. you can ask them to provide you soap request which is tested from soap ui. you can try to format PI message similar to soap message, use graphical mapping or java mapping to achieve this.

0 Kudos

Hi,

I'm able to fetch the sessionid, but when posting the data in to sales force we are getting schema validation errors. Because i have created manually the data type and message types with exact field names how they are appearing in enterprise WSDL.

when open this WSDL in any browser I can see the actual fields (provided by sales force team for mapping) under S_objects class. but, when we loaded the same wsdl in ED, it is showing methods with standard fields only

What is the difference ?

0 Kudos

Hi Tyagi,

Thanks for your suggestion. But, still have questions

1. How did you managed to map source and target SFDC structure's ? (By java or graphical) ?

2. Since the Enterprise WSDL doesn't have any fields information, can we create a custom XSD structure in PO for doing mapping ?

Ex: I have created a project in SOAP UI, By using the "Login" method i have got the session ID and URL. Later by using "CREATE" method posted some custom soap message and it worked.

3. Should we use UDF for sending dynamic target URL to SOAP receiver channel ?

And for creating the Data base tables in java stack, Please refer the below link

https://blogs.sap.com/2016/01/18/how-to-persist-custom-data-in-sap-pi-java-table/

Thanks,

Siva.

1. Generally we use graphical mapping(if transformation can be achieved by graphical mapping).

2. No, There is no need of any custom XSD. you will get all the fields in WSDL, create object of External Definition and import wsdl file and then use this ED in mapping.

3. you can use UDF OR java mapping .

0 Kudos

Hi Siva,

1. there is no need for any other custom or metadata WSDL for mapping.

2. yes, you need to store session id and target URL received from login interface.

i). there are two ways to do this either you can store (URL & session ID) in ECC and get this details using RFC lookup.

ii). or you can store it some where on java stack that can be accessible in java mapping or udf (i am also searching for this option, But unable to find solution till now)

former_member186851
Active Contributor
0 Kudos
0 Kudos

Hi Raghuraman,

Thanks for sharing the Link. In the flow chart it was mentioned like

"Generally SFDC returns same URL every time."

Is this correct ?

Thanks,

Siva.

former_member186851
Active Contributor
0 Kudos

Hello Siva,

Pattern will similar,URL will change as per client as per my knowledge.

You can get the URL from SF team right.

0 Kudos

we will get one URL along with Enterprise WSDL, later on dynamic url will be generated...i guess.