Skip to Content
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
To report this post you need to login first.

32 Comments

You must be Logged on to comment or reply to a post.

  1. Michal Krawczyk
    Hi Stefan,

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

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

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

    Regards,
    michal

    (0) 
    1. Stefan Grube Post author
      >>Additionally you must set the HTTP header parameter “SOAP action” to http://sap.com/xi/WebService/soap1.1
      >Am lost in this step. Where is this to be done?

      Your web service client has to provide the SOAP action.

      >Also, as we are sending the request directly to the Integration Engine, I guess we would not need a Sender SOAP adapter.

      Yes. The sender SOAP adapter is not needed in this scenario.

      (0) 
    1. Stefan Grube Post author
      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.

      Regards
      Stefan

      (0) 
  2. Nuno Pereira
    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

    (0) 
    1. Stefan Grube Post author
      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”.

      Regards
      Stefan

      (0) 
  3. Mikhail Koshkin
    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”
    (0) 
    1. Suraj S.R.
      As bhavesh told no CC is required but you have to include the Sender Service in your configuration (in ID)… Just add the sender service and now check…

      PS: please post questions in forum, thanks 🙂

      regards
      Suraj

      (0) 
  4. Gabriele Morgante
    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:


         
              
                   SOAP:Server
                   System Error
                   
                        
                             
                             RCVR_DETERMINATION.MESSAGE_INCOMPLETE
                             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:


         

              2001-12-17T09:30:47.0Z
         

    Thanks!

    (0) 
    1. Stefan Grube Post author
      I think this error comes, when the SOAP action is not correct. Check the WSDL for the SOAP action according to the description above.

      Regards
      Stefan

      (0) 
    2. Supriya Sawant
      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.

      Regards,
      Supriya Sawant.

      (0) 
  5. Yaki Zano
    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:
    http://milano.bezeq.com:8040/sap/xi/engine?type=entry&version=3.0&Sender.Service=BSKarat&Interface=http%3A%2F%2Fbezeq.com%2Fxi%2FMM%2FKarat%2FWebServices%5EWSTestPrincipalPropagation

    Regards,
    Yaki

    (0) 
    1. Stefan Grube Post author
      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.

      Regards
      Stefan

      (0) 
  6. Wojciech Gasiorowski
    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,
    Wojciecch

    (0) 
    1. Stefan Grube Post author
      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. 😉

      Regards
      Stefan

      (0) 
  7. Willem Daniel Hugo

    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: “http://sap.com/xi/WebService/soap1.1&rdquo;<br/><br/>I am however getting the following error on the SandBox Pi AE.<br/>“SOAP: call failed: java.io.IOException: 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/>

    (0) 
  8. Willem Daniel Hugo
    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.

    Regards
    Willie Hugo

    (0) 
  9. Praveen Gujjeti
    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………

    Regards,
    Praveen Gujjeti.

    (0) 
    1. 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………

      Regards,
      Praveen Gujjeti.

      (0) 
      1. Stefan Grube Post author
        This is not possible with PI version<7.11.

        With PI 7.11 the SOAP adapter has an XI protocol feature that you can use for that scenario.

        (0) 
  10. Rahul Thunoli
    ; 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.

    (0) 

Leave a Reply