Skip to Content
avatar image
Former Member

SAP PO integration with salesforce

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.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

6 Answers

  • Jan 23, 2017 at 06:23 AM
    Add comment
    10|10000 characters needed characters exceeded

  • Jan 23, 2017 at 10:19 AM

    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)

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jan 23, 2017 at 10:09 PM

    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.

    Add comment
    10|10000 characters needed characters exceeded

    • 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 .

  • avatar image
    Former Member
    Feb 06, 2017 at 03:36 PM

    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 ?

    Add comment
    10|10000 characters needed characters exceeded

  • Feb 07, 2017 at 07:01 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Feb 08, 2017 at 12:31 PM

    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?

    Add comment
    10|10000 characters needed characters exceeded