Skip to Content
-1

UNKNOWN/APPLICATION_ERROR - application fault ECC - PI - Sales Force integration

Hi all,

I am doing a Sales force integration in SAP PI dual stack. The scenario is from SAP ECC to PI, and PI will send it to the Salesforce. It's an asynchronous scenario.

I am using a Java mapping to send, login request to salesforce. The same Java Mapping will also creates SOAP envelope. When I run the scenario end to end, session id is not coming to PI. When I check the payload in Technical routing tab in SXMB_MONI of SAP PI, I can see that sessionid node is created although empty.

The issue is with the login channel. I tried using both partner WSDL and enterprise WSDL. My SAP PI is old version, 7.0. So I am using the appropriate mapping jar files.

This is the error that I get in the communication channel monitoring of the login channel, UNKNOWN/APPLICATION_ERROR - application fault ECC - PI - Sales Force integration. In the login channel, I have maintained the SOAP action to be "login".

In the payload sending channel, I have checked the "Do not use SOAP envelope" box and also added the MessageTranformBean in the Module configurations.

Which WSDL we need to use, party WSDL or enterprise WSDL? I have tested it from SOAP UI and it is working fine.

I am not able to see the Java Mapping payload from SAP PI.

I have not added this to the code, getTrace().addDebugMessage("Message to Trace"); If I add that, can I see the logs in SXMB_MONI?

When I test the InterfaceMapping, I am not able to get sessionID from the salesforce.

I have two receiver SOAP channels. I have not used the login channel in any receiver agreement. Since this is a proxy to Webservices scenario, I have not maintained a sender agreement or sender communication channel as well.

Any inputs will be highly appreciated

Regards

Harish Babu

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Dec 04, 2017 at 06:15 AM

    Any inputs ?

    Add comment
    10|10000 characters needed characters exceeded

  • Dec 04, 2017 at 10:09 AM

    seems you are not sure what the error is? and why it is not giving session id?

    try this blog to capture the fault error. if any exceptions happens in the soap call, you can get full error description using this module to investigate further.

    https://archive.sap.com/discussions/thread/1675917

    https://blogs.sap.com/2015/07/29/soap-faults-and-webservice-faults-from-3rd-party-webservices/

    Regarding below query, you better check with salesforce team whoever shared you the wsdl file.

    Which WSDL we need to use, party WSDL or enterprise WSDL? I have tested it from SOAP UI and it is working fine.
    Add comment
    10|10000 characters needed characters exceeded

    • without that module config, you wont be able to capture the error in java map.

      for troubleshooting purpose, you can construct the soap envelope for login also and check that option.

      or create soap to soap scenario for login and test from soap ui. You can place with it to find out what is causing the error.

  • Dec 10, 2017 at 03:15 PM

    I am now trying witha different approach. I use SOAP lookup to connect to the Salesforce and get the session ID. Like I said before the PI version is 7.0.

    This is the login string that is working form SOAP UI.

    http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn: enterprise.soap.sforce.com"> username password

    This is the one that I created in SOAP lookup:

    String loginxml = " http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn: enterprise.soap.sforce.com\"> "+username+" "+password+" ";

    But I am getting this error:

    SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: No operation available for request {http://schemas.xmlsoap.org/soap/envelope/}Envelope

    I tried many versions of the login string but still it's thorwing different errors.

    Is there any way we can track the payload that PI is sending to Salesforce. Note, I am not able to install XPI inspector in the landscape.

    Is there anything that can be done to track the message in logs?

    Harish

    Add comment
    10|10000 characters needed characters exceeded