Skip to Content

SFDC Integration with SAP PI error

Hi,

I am trying to integrate ECC with SFDC, I have created SOAP LOOKUP UDF to get the session ID, while testing interface using SOAP UI I am getting below error -

http://schemas.xmlsoap.org/soap/envelope/"> SOAP:Server Server Error http://sap.com/xi/WebService/xi2.0"> XIAdapter ADAPTER.JAVA_EXCEPTION See log trace with id: n/a

After checking CC created for SOAP LOOKUP, I observed call going for login but while getting response it is giving error -

08/02/2017 10:26:48 America/New_York9e40a760-778e-11e7-a9ec-000000827896error in response08/02/2017 10:26:48 America/New_York9e40a760-778e-11e7-a9ec-000000827896call completed08/02/2017 10:26:48 America/New_York9e40a760-778e-11e7-a9ec-000000827896Request Entering
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • Aug 02, 2017 at 02:51 PM

    Have you treid hitting the SFDC directly from SOAP UI and see what is the response ?

    You can enable Trace in your receiver SOAP LOOKUP channel and then cross the paylaod with raw data of soap ui.

    You may refer this blog

    Br,

    Manoj

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Manoj,

      Yes I did SOAP UI test and got response successfully....

      I have followed your blog as well....

      Below is my UDF -

      { String sessionId =""; try { Channel channel = LookupService.getChannel("BC_SFDC",Channel); SystemAccessor accessor = null; accessor = LookupService.getSystemAccessor(channel); String loginxml = " enterprise.soap.sforce.com\"> " + UserName + " " + Password + " "; //convert to inputsream InputStream inputStream = new ByteArrayInputStream(loginxml.getBytes()); //do a SOAP lookup with input payload Payload payload = LookupService.getXmlPayload(inputStream); Payload SOAPOutPayload = null; /*The SOAP call is made here and the response obtained is in the SOAPOutPayload.*/ SOAPOutPayload = accessor.call(payload); /* Parse the SOAPPayload to get the SOAP Response back. */ InputStream inp = SOAPOutPayload.getContent(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); /* Create DOM structure from input XML */ DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(inp); //recover session id and url to send next request to SFDC NodeList sessionId1 = document.getElementsByTagName("sessionId"); Node node = sessionId1.item(0); String url=document.getElementsByTagName("serverUrl").item(0).getTextContent(); if (node != null) { node = node.getFirstChild(); if (node != null) { sessionId = node.getNodeValue(); } } } catch(Exception e) {e.printStackTrace(); } return sessionId; }

      Do you see anything wrong here?

  • Aug 02, 2017 at 03:37 PM

    I just checked logs and found below message, may be because of this I am unable to get SessionID back from lookup channel -

    CLIENT: 44599 RESPONSE: - 974 bytes:

    http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn: fault.enterprise.soap.sforce.com" xmlns:xsi=" sf:UNSUPPORTED_CLIENT UNSUPPORTED_CLIENT" target="_blank">http://www.w3.org/2001/XMLSchema-instance"> sf:UNSUPPORTED_CLIENT UNSUPPORTED_CLIENT : TLS 1.0 has been disabled in this organization. Please use TLS 1.1 or higher when connecting to Salesforce using https. UNSUPPORTED_CLIENT TLS 1.0 has been disabled in this organization. Please use TLS 1.1 or higher when connecting to Salesforce using https. https://ap5.salesforce.com/secur/weakhttps.jsp?l=1 Stronger security is required

    Any comment on this?

    -

    Rashmi

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 02, 2017 at 04:03 PM

    I have requested Basis team for TLS issue.

    Meanwhile, can you help me in understanding if my scenario is correct.

    ESR - Created manual header for Query Req message -

    I am passing USER ID and PSWD as input to SOAP LOOKUP UDF which I have mapped to SESSION ID Field.

    Please see previous comment for UDF details..

    After this I have created 2 ICOs... 1 Dummy ICO carrying SOAP RCVR CC -

    2nd ICO - carrying actual SI details -

    SOAP CC -

    Please let me know if you find any issue at interface level...

    BR,

    Rashmi

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Rashmi,

      Everything looks fine , i believe you have set Dynamic UDF to set the URL which is coming from lookup along with session id . But i dobut if the variable url will work you need to set the dynamic URL for TServerLocation

      You exact scenario is reflected here

      Br,

      Manoj

  • Aug 03, 2017 at 06:02 AM

    Hi All,

    Could you please check above config and let me know if it needs any changes?

    BR,

    Rashmi

    Add comment
    10|10000 characters needed characters exceeded

  • Aug 13, 2017 at 06:09 PM

    Hi Manoj K,

    I am able to get sessionID... While triggering message from SOAPUI I am getting RESPONSE error message -

    SOAP: Error occurred: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Server Error

    I downloaded payload from RWB and again tested the same using SOAPUI, here I am getting response back.

    Any idea what might be causing issue now?

    BR,

    Rashmi

    Add comment
    10|10000 characters needed characters exceeded