Skip to Content

Using the SOAP inbound channel of the Integration Engine

When you have used the WSDL wizard in the Integration Directory and have clicked on “Propose URL” in the second screen, did you ever wonder, why the URL does not point to a sender SOAP adapter channel, it is the URL of the Integration Server instead?imageThe reason for this is an undocumented feature of the Integration Server. You cannot send only XI messages to the Integration Server, you have the option to send standard SOAP messages as well. This picture shows the way to send SOAP messages with help of the SOAP adapter:imageThis picture shows the feature to send SOAP messages directly to the Integration Server. The adapter engine is not used:image
You must be Logged on to comment or reply to a post.
  • Hi Stefan,

    thanks for this info :))
    everyone likes undocumented features 🙂

    >>>>The SOAP inbound channel of the adapter engine does not support attachments

    shouldn’t it be integration server
    instead of adapter engine?


    • Hi Udo,

      I don’t understand what you mean. Can you explain your scenario?
      Besides the handling of attachments, the direkt SOAP access to the Integration Builder behaves the same as the sender SOAP adapter.

      If you have general questions about the handling of web services and SOAP, post them to the XI forum.


  • Hi Stefan,

    How are you?
    We met in EDP project – Portugal, remember?

    Just to congratulate you for the very nice blog.

    One little comment:
    When you say “Only for asynchronous calls you need to change the URL inside the WSDL file with an editor and add &QualityOfService=ExactlyOnce.
    ” it shouldn’t be “…for synchronous calls..” instead?

    Best Regards
    Nuno Pereira

    • Hi Nuno,

      The default of the “Quality of Service” is “BestEffort” which implies a synchronous call.

      For an asynchronous call you have to change the QoS to “ExaclyOnce”.


  • which cc must be used between sender and XI in this case?
    i try to use this link instead of adapter and getting error “Message is incomplete. No Sender found”
  • Hi,

    when I try to do a test with XML Spy by using a WSDL document previously generated in Integration Directory, I receive a Response of this type:

                   System Error
                             Message is incomplete. No Sender found




    Why “No Sender Found”? My scenario is very simple; it have a sender channel of SOAP type and a receiver channel of JDBC Type and I have specified Receiver agreement and Determination and Interface determination and sender egreement. This is the request that XML spy generates for a SOAP Request:



    • I think this error comes, when the SOAP action is not correct. Check the WSDL for the SOAP action according to the description above.


    • Hi Gabriele,

      I am getting the same error while trying using XML Spy.

      Can you pls tell me the solution you implemented for this problem.

      Supriya Sawant.

  • Hi Stefan,

    It’s really a good blog, it might solve a problem we have.
    It a poosible that when we are using the XI to recieve Web Services the requests come directly to the Integration Engine (And not to the SOAP adapter), how can we verify whether the SOAP message goes directly to the Integration engine?

    Here is an examlpe for SOAP url that we created:


    • You can see for example in the hop list of the message whether the message comes from the adapter framework or not.
      You can also check the trace.


  • Hi Stefan,
    Very nice blog which pictures us very dangerous feature of SAP XI. If someone knows the Integration Directory landscape and knows the user and password can run any interface on the XI machine. Also it shows that ID should be controlled and secured. What do you think about it?

    Best regards,

    • Hi Wojciech,

      what you mention is nothing special for this special feature of the Integration Engine. You can always do harm, when you know the right user. 😉


  • Stefan,<br/><br/>Hi is this blog still relevant for SAP PI7.10?<br/><br/>I have set this up as a test for a scenario I have. <br/><br/>Current Scenario NOT using your Blog and working perfectly. <br/><br/>SandBox PI       Development PI<br/>–


    <br/>File > SOAP  >   SOAP > ABAP Proxy<br/><br/><br/>What I am attempting now is.<br/><br/>SandBox PI      Development PI<br/>—


    <br/><br/>File > SOAP  >  Integration Engine > ABAP Proxy<br/><br/>I am using our SAP PI Sandbox to push a SOAP message using a Receiver SOAP adapter channel.<br/>Transport Protocol: “HTTP”<br/>Message Protocol: “SOAP”<br/>Conversion Parameters:      “Do not Use SOAP Envelope”<br/><br/>Target URL: “http://<Integratio Server Host Development PI>:<Port>/sap/xi/engine?type=entry&version=3.0&Sender.Service=FigmentD&Interface=urn:figment-co-za:fleetcard:efuel_50ppm^oa_Msg50ppm&QualityOfService=ExactlyOnce&sap-user=<PIAPPLUSER>&sap-password=<PASSWORD>”<br/><br/>SOAP Action: “;<br/><br/>I am however getting the following error on the SandBox Pi AE.<br/>“SOAP: call failed: invalid content type for SOAP: TEXT/HTML; HTTP 302 MOVED TEMPORARILY”<br/><br/>Please can you assist in this matter.<br/><br/>Regards<br/>Willie Hugo<br/>

  • Stefan,

    I had the port wrong, once corrected that resolved the issue I had. Somehow if you put in the ABAP port it does not seem to work. That is another issue.

    Thanks for the blog very helpful.

    Willie Hugo

  • Can we send a SOAP message to local Integration Engine of SAP Application System(SAP ECC R/3).

    I know we can send XI SOAP message using XI adapter but I am intrested in the above topic………

    Praveen Gujjeti.

    • Hi Stefan,

      Can we send a SOAP message from SAP XI to local Integration Engine of SAP Application System (e.g.,SAP ECC R/3) using SOAP Adapter..

      I know that, we can send XI SOAP message using XI adapter, but I am interested in the above topic………

      Praveen Gujjeti.

  • ; nested exception is:
         org.xml.sax.SAXParseException: White spaces are required after keyword PUBLIC in DOCTYPE decl.

    the client has the soap action set to as told in the blog . But still getting the above error .  Tried everything possible . Would appreciate the response . Thanks.