Acknowlegements with SOAP adapter

Hello gurus,
I'm aware of the acknowledgements with the proxies. I have scenarios of SOAP-PI-Proxy and Proxy-PI-SOAP, where SOAP adapter sends or receives messages with customly developed WS.
I need to direct the WS developer team to implement acknowledgement mechanisms. As the SOAP adapter only supports system acknowledgements, how can they request acknowledgements while sending messages or how can they return them when they receive messages? Also, they need to be able to process these acknowledgements.
The WS are developed in Java, and no ccBPM is used, so I will need Java examples if this is done in the coding. Thank you for your inputs.
Kind regards,
Gökhan

Hi,
1) You can develop a common interface from SOAP --> XI --> Target for the acknowledgement part. This can be used across any SOAP --> XI --> Target scenario ....provided source and target systems are not changing....even if the systems change, the configuration needs to be done accordingly (agreements, routing).
2) Create a data structure of your need on the SOAP --> XI side...this may include all the details for a particular interface (MI name, Sender, Receiver, Scenario Name, ACK status +ve / -ve, etc).
3) Do the mapping of this structure with the necessary target structure and also do the configuration.
4) Once Config is done create a wsdl file based on the interface details and provide it to the SOAP sender team.
This wsdl file will act as a webservice for the sender side. Ask the developers to develop a scenario at their end which will trigger this WS (of XI) and will send the necessary ACK details.
In this way you will get the ACK details for a particular scenario and you will not even need to change the QoS of any scenario....The only thing needs to be taken care is by the sender system on how / when they trigger the scenario....this is purely based on your business needs....hope it helps...
Regards,
Abhishek.

Similar Messages

  • HTTP 415 Unsupported Media Type with SOAP adapter ?

    Hello All,
    Iam getting  HTTP 415 Unsupported Media Type with SOAP adapter  error while executing the scenario.
    i got one thread which have the solution. iam not getting exactly how to write message transform Bean.
    HTTP 415 Unsupported Media Type with SOAP adapter trying to put SOAP header
    Please tell me where i need to write the MessageTransformBean at sender adapter or receiver file adapter.
    Thanks and regards,
    chinna

    Hi Chinna,
    Have you checked this
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
    Regards
    Ramesh

  • Prolog with soap adapter in PI

    Dear All,
    We run a scenario Proxy=>PI=>HTTP
    The remote service accepts messages POSTed using either the form-encoded format (name, value pairs)
    or the multi-part mime format which enables the files to be passed to the web service.
    In both cases, the external service replies with a multi-part message.
    We are going to use the SOAP adapter (plain HTTP does not support attachments)
    with nosoap flagged.
    What is best approach to add a prolog before the actual XML with SOAP adapter,
    to simulate the form-encoded format?
    Example :
    USER=USER1&PASS=PASS1&DB=DB1
    In the 2nd situation, how to create the different documents before the actual XML?
    Example :
    7d924f5b0464
    Content-Disposition: form-data; name="USER"
    USER1
    7d924f5b0464
    Content-Disposition: form-data; name="PASS"
    PASS1
    7d924f5b0464
    Content-Disposition: form-data; name="DB"
    DB1
    Best regards,
    KR,
    Laurent

    Dear All,
    We run a scenario Proxy=>PI=>HTTP
    The remote service accepts messages POSTed using either the form-encoded format (name, value pairs)
    or the multi-part mime format which enables the files to be passed to the web service.
    In both cases, the external service replies with a multi-part message.
    We are going to use the SOAP adapter (plain HTTP does not support attachments)
    with nosoap flagged.
    What is best approach to add a prolog before the actual XML with SOAP adapter,
    to simulate the form-encoded format?
    Example :
    USER=USER1&PASS=PASS1&DB=DB1
    In the 2nd situation, how to create the different documents before the actual XML?
    Example :
    7d924f5b0464
    Content-Disposition: form-data; name="USER"
    USER1
    7d924f5b0464
    Content-Disposition: form-data; name="PASS"
    PASS1
    7d924f5b0464
    Content-Disposition: form-data; name="DB"
    DB1
    Best regards,
    KR,
    Laurent

  • Message Level Security with SOAP Adapter

    Hi,
    I need to use Message Level Security with my SOAP Adapter. Please let me know if anyone has done the same in the past?
    What are the steps I would need to do? How can I use WSS based security in the SOAP Adapter?

    Hi,
    Message-level security is recommended and sometimes a prerequisite for inter-enterprise communication.
    It improves communication-level security by adding security features that are particularly important for inter-enterprise
    Message-level encryption is required if message content needs to be confidential not only on the communication lines but also in intermediate message stores.
    Refer
    How to use Client Authentication with SOAP Adapter
    XML Encryption Using Web Services Security in SAP NetWeaver XI
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0650f56-7587-2910-7c99-e1b6ffbe4d50
    http://help.sap.com/saphelp_nw04/helpdata/en/a8/882a40ce93185de10000000a1550b0/frameset.htm
    Thanks
    swarup

  • Problem with SOAP Adapter receiver not receiving the proper string

    Hi friends
    I have a very simple scenario as follows using SOAP Syncronous Call
    SENDING SCENARIO
    ================
    ExternalClient --> SOAP ADAPTER --> XI -> RFC ADAPTER --> ZBAPI
    RECEIVING SCENARIO
    ==================
    ZBAPI  --> RFC ADAPTER   --> XI    -->   SOAP ADAPTER  --> ExternalClient
    Here External Client is sending a search ID and ZBAPI searches for that record and send the FirstName and LastName.
    I am using external Definitions in XSD format as follows.
    INPUT XSD is
    =========================================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://cincom.com/xi/socrates/customerSearch" targetNamespace="http://cincom.com/xi/socrates/customerSearch">
         <xsd:element name="ZBAPI_GET_NAME">
              <xsd:complexType>
                   <xsd:all>
                        <xsd:element name="ID" type="xsd:integer" minOccurs="0" />
                   </xsd:all>
              </xsd:complexType>
         </xsd:element>
    </xsd:schema>
    ===========================================
    Reciving XSD file has
    ==============================================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:socrates.cincom.com" targetNamespace="urn:socrates.cincom.com">
         <xsd:element name="ZBAPI_GET_NAME_RESPONSE">
         <xsd:complexType>
         <xsd:all>
         <xsd:element name="ADDRESSDATA" minOccurs="0">
         <xsd:complexType>
         <xsd:sequence>
         <xsd:element name="FNAME" minOccurs="0">
              <xsd:simpleType>
                   <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="20" />
                   </xsd:restriction>
              </xsd:simpleType>
         </xsd:element>
         <xsd:element name="LNAME" minOccurs="0">
              <xsd:simpleType>
                   <xsd:restriction base="xsd:string">
                        <xsd:maxLength value="20" />
                   </xsd:restriction>
              </xsd:simpleType>
         </xsd:element>
         </xsd:sequence>
         </xsd:complexType>
         </xsd:element>
         </xsd:all>
         </xsd:complexType>
         </xsd:element>
    </xsd:schema>
    =========================================================
    I HAVE TESTED THE ZBAPI AND IT WORKS WELL ON ITS OWN. ALSO I HAVE TESTED THAT THE MESSAGE SENT FROM OUTSIDE CLIENT IS REACHING BAPI. HOWEVER WHEN I GOTO 'SXMB_MONI' AND CHECK THE
    XML STRING THAT THE RECIEVER IS GETTING, I SEE JUST THE FOLLOWING TWO LINES
    ===================================
      <?xml version="1.0" encoding="UTF-8" ?>
      <ns1:ZBAPI_GET_NAME_RESPONSE xmlns:ns1="urn:socrates.cincom.com" />
    ======================================
    IF YOU NEED ANY FURTHER INFO, PLEASE LET ME KNOW.
    HOPE SOME ONE CAN GUIDE ME WITH THIS PROBLEM.
    THANKS IN ADVANCE
    RAM

    Ram
    Can you pls. confirm whether the mapping of your XSD fields & BAPI fields are in same sequence. I mean hierarchy is same or not.
    Just to verify, as you said you are using Sync scenario that means you are using ONE Sender Soap & ONE Reciever RFC adapter.
    Regards
    Lalit

  • HTTP 415 Unsupported Media Type with SOAP adapter trying to put SOAP header

    Hello,
    I am trying to put data into soap header using soap receiver adapter. Seems like building the complete soap message is the right way to go. Thus I wrote a java program to build the complete soap message (soap envelop, soap header and soap body which contains the message PI received from the sender). Mapping program works well. However when I ran the scenario, I got Error "SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 415 Unsupported Media Type" when calling the receiver's web service (the SOAP receiver adapter CC have the "Do Not use SOAP Envelop" checked). Anyone knows why I got this error? From google, seems like this error is because the http's content-type is set to other type, rather than "text/xml". However in soap CC there is no option to control this.
    The message sent to the receiver is (after mapping);
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
    <SOAP-SEC:Signature xmlns:SOAP-SEC="http://schemas.xmlsoap.org/soap/security/2000-12" MyAttr="value">My Test Value</SOAP-SEC:Signature>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <ns1:UpdateEquipment xmlns:ns1="http://mycomp.com/mywebservice">
    <ns1:EquipmentNumber>000000012345</ns1:EquipmentNumber>
    <ns1:LicensePlate>654321</ns1:LicensePlate>
    </ns1:UpdateEquipment>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Anyone can help?
    Thanks

    When you check "Do Not use SOAP Envelop", the SOAP adapter chooses application/xml instead of text/xml.
    You can change the content type with help of the MessageTransformBean. You put the bean in the module chain of the receiver channel and add the parameter Transform.ContentType = text/xml
    See
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/57/0b2c4142aef623e10000000a155106/frameset.htm

  • Problems with SOAP Adapter/Interface

    Hi Experts,
    we currently try and experiment with XI 3.0 Stack 09 and the SOAP adapter respectively.
    We started with a simple interface (foo..., see wsdl attachment) that we want to provide by XI.
    All configurations (SLD, Integration Repository, Integration Directory) should have been done accordingly as we suppose, similar to other szenarios we have already implemented.
    When we send a SOAP request based on a generated wsdl to XI we get the exception at the bottom of this text, containing e.g.
    com.sap.aii.messaging.srt.BubbleException: error during conversion [null "null"];
    com.sap.aii.messaging.util.XMLScanException: Parsing an empty source. Root element expected!
    For sending the SOAP message we used XMLSpy.
    Did someone have similar problems or can give us an working WSDL example, or some hint?
    Thanks in advance,
    Klaus Lukas
    foo.wsdl
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:p1="urn://poreceive.xi.pse.siemens.com" targetNamespace="urn://poreceive.xi.pse.siemens.com" name="foo_out_sync">
         <wsdl:types>
              <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn://poreceive.xi.pse.siemens.com" targetNamespace="urn://poreceive.xi.pse.siemens.com">
                   <xsd:element name="foo" type="foo_DT"/>
                   <xsd:complexType name="foo_DT">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                        fe0bb241d2a011d9cd15e9729ee2f568
                        </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:sequence>
                             <xsd:element name="item" type="xsd:string">
                                  <xsd:annotation>
                                       <xsd:appinfo source="http://sap.com/xi/TextID">
                                fe0bb240d2a011d9acede9729ee2f568
                                </xsd:appinfo>
                                  </xsd:annotation>
                             </xsd:element>
                        </xsd:sequence>
                   </xsd:complexType>
              </xsd:schema>
         </wsdl:types>
         <wsdl:message name="foo">
              <wsdl:part name="foo" element="p1:foo"/>
         </wsdl:message>
         <wsdl:portType name="foo_out_sync">
              <wsdl:operation name="foo_out_sync">
                   <wsdl:input message="p1:foo"/>
                   <wsdl:output message="p1:foo"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name="foo_out_syncBinding" type="p1:foo_out_sync">
              <soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name="foo_out_sync">
                   <wsdl:input>
                        <soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/>
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:service name="foo_out_syncService">
              <wsdl:port name="foo_out_syncPort" binding="p1:foo_out_syncBinding">
                   <soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
              </wsdl:port>
         </wsdl:service>
    </wsdl:definitions>
    soap message incl. error
    <?xml version="1.0"?>
    <!-- see thedocumentation -->
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP:Body>
    <SOAP:Fault>
    <faultcode>SOAP:Server</faultcode>
    <faultstring>error during
    conversion</faultstring>
    <detail>
    <s:SystemError
    xmlns:s="http://sap.com/xi/WebService/xi2.0">
    <context>XIAdapter</context>
    <code>XMLScanException</code>
    <text><![CDATA[
    com.sap.aii.af.mp.module.ModuleException
    at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process
    (XISOAPAdapterBean.java:697)
    at
    com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process
    (ModuleLocalLocalObjectImpl3.java:103)
    at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process
    (ModuleProcessorBean.java:221)
    at
    com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process
    (ModuleProcessorLocalLocalObjectImpl0.java:103)
    at com.sap.aii.af.mp.soap.web.MessageServlet.doPost
    (MessageServlet.java:543)
    at javax.servlet.http.HttpServlet.service
    (HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service
    (HttpServlet.java:853)
    at
    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet
    (HttpHandlerImpl.java:385)
    at
    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleReques
    t(HttpHandlerImpl.java:263)
    at
    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet
    (RequestAnalizer.java:340)
    at
    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet
    (RequestAnalizer.java:318)
    at
    com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebConta
    iner(RequestAnalizer.java:821)
    at
    com.sap.engine.services.httpserver.server.RequestAnalizer.handle
    (RequestAnalizer.java:239)
    at com.sap.engine.services.httpserver.server.Client.handle
    (Client.java:92)
    at com.sap.engine.services.httpserver.server.Processor.request
    (Processor.java:147)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessio
    nMessageListener.process(ApplicationSessionMessageListener.java:37)
    at
    com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner
    .run(UnorderedChannel.java:71)
    at com.sap.engine.core.thread.impl3.ActionObject.run
    (ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute
    (SingleThread.java:94)
    at com.sap.engine.core.thread.impl3.SingleThread.run
    (SingleThread.java:162)
    Caused by: com.sap.aii.messaging.srt.BubbleException: error during
    conversion [null "null"]; nested exception caused by:
    com.sap.aii.messaging.util.XMLScanException: Parsing an empty source.
    Root element expected!
    at
    com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onResponseToWS
    (XMBWebServiceExtension.java:936)
    at
    com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.invokeOnResponse
    (XMBWebServiceExtension.java:602)
    at com.sap.aii.messaging.srt.ExtensionBubble.onMessage
    (ExtensionBubble.java:58)
    at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process
    (XISOAPAdapterBean.java:576)
    ... 20 more
    Caused by: com.sap.aii.messaging.util.XMLScanException: Parsing an
    empty source. Root element expected!
    at com.sap.aii.messaging.util.StreamXMLScannerImpl.open
    (StreamXMLScannerImpl.java:104)
    at com.sap.aii.messaging.mo.DefaultItem.setData
    (DefaultItem.java:294)
    at
    com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.makeItemFromPayload
    (XMBWebServiceExtension.java:972)
    at
    com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onResponseToWS
    (XMBWebServiceExtension.java:879)
    ... 23 more
    ]]></text>
    </s:SystemError>
    </detail>
    </SOAP:Fault>
    </SOAP:Body>
    </SOAP:Envelope>

    Hi Klaus
    In your wsdl file the soap address tag (given below)
    <b><soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/></b>
    is to be edited as
    <b><soap:address location="http://xxxxxxxx:50000//XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out" /></b>
    because the soap address format should be like :
    <i>http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel</i>
    For more information :
    http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
    Hope this will be helpful.
    Regards
    Suraj

  • XIServer error raised: 503 Service Unavailable with SOAP Adapter

    Hi,
    We are getting a very strange error from a process that is working fine in 2 other environments.
    We are sending a message into the SOAP receiver adapter and are getting the following error at the Call Adapter part of the process :
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">HTTP_RESP_STATUS_CODE_NOT_OK</SAP:Code>
      <SAP:P1>503</SAP:P1>
      <SAP:P2>Service Unavailable</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Error Report&lt;/title&gt; &lt;style&gt; td {font-family : Arial, Tahoma, Helvetica, sans-serif; font-size : 14px;} A:link A:visited A:active &lt;/style&gt; &lt;/head&gt; &lt;body marginwidth=&quot;0&quot; marginheight=&quot;0&quot; leftmargin=&quot;0&quot; topmargin=&quot;0&quot; rightmargin=&quot;0&quot;&gt; &lt;table width=&quot;100%&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; align=&quot;left&quot; height=&quot;75&quot;&gt; &lt;tr bgcolor=&quot;#FFFFFF&quot;&gt; &lt;td align=&quot;left&quot; colspan=&quot;2&quot; height=&quot;48&quot;&gt;&lt;font face=&quot;Arial, Verdana, Helvetica&quot; size=&quot;4&quot; color=&quot;#666666&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;503 &amp;nbsp Service Unavailable&lt;/b&gt;&lt;/font&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor=&quot;#3F73A3&quot;&gt; &lt;td height=&quot;23&quot; width=&quot;84&quot;&gt;&lt;img width=1 height=1 border=0 alt=&quot;&quot;&gt;&lt;/td&gt; &lt;td height=&quot;23&quot;&gt;&lt;img width=1 height=1 border=0 alt=&quot;&quot;&gt;&lt;/td&gt; &lt;td align=&quot;right&quot; height=&quot;23&quot;&gt;&lt;font face=&quot;Arial, Verdana, Helvetica&quot; size=&quot;2&quot; color=&quot;#FFFFFF&quot;&gt;&lt;b&gt;SAP J2EE Engine/6.40&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr bgcolor=&quot;#9DCDFD&quot;&gt; &lt;td height=&quot;4&quot; colspan=&quot;3&quot;&gt;&lt;img width=1 height=1 border=0 alt=&quot;&quot;&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;p&gt;&lt;font face=&quot;Arial, Verdana, Helvetica&quot; size=&quot;3&quot; color=&quot;#000000&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;The requested application, AFW, is currently unavailable.&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Arial, Verdana, Helvetica&quot; size=&quot;2&quot; color=&quot;#000000&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;&lt;b&gt;&amp;nbsp;Details:&lt;/b&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&lt;PRE&gt;No details available&lt;/PRE&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/font&gt;&lt;/p&gt; &lt;/body&gt; &lt;/html&gt;</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>HTTP response contains status code 503 with the description Service Unavailable XML element Envelope missing in SOAP message header (SAP XI Extension)</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    We are on XI 3.0 SP13.
    Any suggestions ?
    Kind regards
    Colin.

    Hi Colin,
    Quick look into these-
    1) Are you able to test the WebService, because the error tells about unavailable...
    For more-
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
       /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    2) Is your SOAP Receiver COnfiguration is correct
       ~ http://help.sap.com/saphelp_nw2004s/helpdata/en/29/5bd93f130f9215e10000000a155106/content.htm
    3) Check the  wsdl is correct and try look into the input message for the Webservice(SOAP Adapter)
    Have a look into this thread-
    503 service unavailable
    Hope this helps,
    Regards,
    Moorthy

  • Problems with Soap Adapter

    Hi!
    I need to implement the following scenario:
    In SAP an user exit calls an RFC which uses a TCP/IP Connection (SM59) to the XI and sends data over this connection to it. The XI connects via a SOAP adapter my server program and sends the data in a soap stream to this server.
    This works sometimes ok and sometimes not.
    The status for those messages in the XI is "scheduled for outbound processing" with a little black arrow pointing to the right.
    The error message in the Runtime Workbench for such a job is:
    SOAP: request message entering the adapter
    SOAP: call failed
    SOAP: sending a delivery error ack ...
    SOAP: sent a delivery error ack
    How can I find out what the problem is?
    Thanks,
    Konrad

    Hi,
    When a message is scheduled for outbound processing, it is normally sent automatically.
    does it always sit at this status or does it change after a while ?
    If it is an issue with the connectivity from the Integration Server to the Adapter Framework you would get a different error message.
    If it is an issue with connectivity from the SOAP adapter to your target, you would also get a different error - it is likely to be shown as an outright failure. Plus the error shown in the message is likely to be
    "com.sap.aii.af.ra.ms.api.DeliveryException: java.net.ConnectException: Connection refused"
    Hope this helps.
    i think you need to get Basis involved to see why messages are not getting sent from the rfc queues automatically all the time.
    Cheers
    Colin.

  • Call ABAP-Proxy with SOAP adapter?

    Hi all,
    for a PI7.1-scenario I would like to use the Lookup-API in mapping. As I know I can use either RFC or SOAP channels, however I would rather call an ABAP-Proxy in my backend system instead.
    So my question is: Is it technically possible to use the SOAP-adapter to call an ABAP-Proxy?
    Your help would be appreciated, best regards
    David

    Hi Stefan,
    Interesting answer here and one that has got me curious. Hope you can help.
    1. When you say it is going to be possible to call a ABAP proxy using a  UDF in the mapping of XI ( Lookup ), would it be using the WS Adapter of PI 7.1?
    2. If 1 is yes, is there a new API code to do this, or is it the same lookup code as used previously in XI 3.0 and PI 7.0 Days?
    3. If 1 is no, can you explain maybe a little more on how this would be possible using the standard SOAP adapter of XI?
    Thanks a bunch.
    Regards
    Bhavesh

  • Flat file with soap adapter

    Hi,
      Can anybody tell me is it possible to send flat file as an atttachment via soap adapter.
    Regards,
    Dhill

    Hi Doss,
      Thank you, my user have given details as
    URL Name : https:
    xxxxx
    and
    Headers details as :
    Ent-sender:   XXXX
    Ent-receiver:  YYYY
    Ent-APRF:  ZZZZZ
    Ent-filename: client_file_name
    Please let me know how we need to specify this in receiver soap communication channel.
    Regards,
    Dhill

  • Issue with SOAP Adapter calling a Web Service

    I have built the Scenario outlined in the webblog https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3408. [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken]
    I received the following error message in XI Monitoring:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Aufruf eines Adapters
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="PARSING">ADAPTER.SOAP_EXCEPTION</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>soap fault: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SqlClient.SqlException: Procedure or Function 'Research_GetCompanyIndustry' expects parameter '@Symbol', which was not supplied. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader() at Invesbot.WebService.StockQuotes.GetQuote(String symbol) in c:Inetpubvhostsinvesbot_comwsApp_CodeStockQuotes.cs:line 81 --- End of inner exception stack trace ---</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I checked the SOAP Adapter which is green. I also checked the webblogs in the XI Forum concerning similar error messges as it doesn't seem to be a new problem. But I didn't find an answer to my issue.
    Anybody any idea what could be the issue in this case.
    Thanks in advance.
    Alex

    Hi Alex,
    in the mentioned weblog a web service "Distance" is used, but your monitor entry say, that you call the web service "StockQuotes". So I think you have put a wrong URL in your receiver SOAP adapter.
    The error comes from the web service server. It says that the request message is wrong. The element "Symbol" is missing.
    Regards
    Stefan

  • Problem with SOAP adapter

    hi,
    I am calling an external webservice which has a string parameter.I am polling my table and routing it to the SOAP adapter.It worked well until yesterday and suddenly today it is throwing the below error.Can any body help me? below is the complete error stack
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>env:ESBMessageProcessingFailed</faultcode><detail><EventName>ORAVCCSSYS.SOAPVCCS1.StatusUpdate</EventName><Cause>An unhandled exception has been thrown in the ESB system. The exception reported is: "oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html
         at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeOperation(WSIFOperation_JaxRpc.java:1717)
         at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeRequestResponseOperation(WSIFOperation_JaxRpc.java:1463)
         at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.executeRequestResponseOperation(WSIFOperation_JaxRpc.java:1185)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:507)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:430)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:447)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:184)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:112)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(EventOracleSoapProvider.java:314)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(EventOracleSoapProvider.java:187)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:539)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:430)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:447)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:184)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:112)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(EventOracleSoapProvider.java:314)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(EventOracleSoapProvider.java:187)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: org.collaxa.thirdparty.apache.wsif.WSIFException: exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html
         at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeOperation(WSIFOperation_JaxRpc.java:1717)
         at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeRequestResponseOperation(WSIFOperation_JaxRpc.java:1463)
         at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.executeRequestResponseOperation(WSIFOperation_JaxRpc.java:1185)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:507)
         ... 26 more
    </Cause></detail></env:Fault></env:Body></env:Envelope>

    i have re deployed the service in the ESB and now it is working fine. I really did not understand whats the root cause of the error.
    Can anyone please throw some light on this?
    thanks

  • Help with soap adapter

    hi,
    how can i configure the standard http user-authentication in a soap request?
    i tried to set the user-authentication field and password under the url-field, but i still get this exception:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Aufruf eines Adapters
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="HTTP">ADAPTER.HTTP_EXCEPTION</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>HTTP 401 Unauthorized</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    and this html-message in the main-attachment:
    Sie haben nicht die erforderliche Berechtigung, um die Seite anzuzeigen
    Sie verfügen nicht über die Berechtigung, dieses Verzeichnis oder diese Seite unter Verwendung der von Ihnen bereitgestellten Anmeldeinformationen anzuzeigen, weil Ihr Webbrowser ein WWW-Authenticate-Headerfeld sendet, das die Konfiguration des Webservers nicht akzeptieren kann.
    Versuchen Sie Folgendes:
    Wenn Sie Ihrer Meinung nach in der Lage sein sollten, dieses Verzeichnis bzw. diese Seite anzuzeigen, wenden Sie sich an den Websiteadministrator.
    Klicken Sie auf die Schaltfläche Aktualisieren, um es mit anderen Anmeldeinformationen erneut zu versuchen.
    HTTP Error 401.2 - Unauthorized: Access is denied due to server configuration favoring an alternate authentication method. (HTTP-Fehler 401.2 - Nicht autorisiert: Der Zugriff wurde verweigert, weil die Serverkonfiguration eine andere Authentifizierungsmethode verlangt.)
    Internetinformationsdienste (Internet Information Services oder IIS)
    it should be the simple standard authentication then this one:
    https://websmp104.sap-ag.de/notes
    thx for any help
    mfg Ronald Grafl

    Hi,
    Error: HTTP_RESP_STATUS_CODE_NOT_OK 401 Unauthorized
    Description: The request requires user authentication
    Possible Tips:
    • Check XIAPPLUSER is having this Role -SAP_XI_APPL_SERV_USER
    • If the error is in XI Adapter, then your port entry should J2EE port 5<System no>
    • If the error is in Adapter Engine
    –then have a look into SAP note- 821026, Delete the Adapter Engine cache in transaction SXI_CACHE Goto --> Cache.
    • May be wrong password for user XIISUSER
    • May be wrong password for user XIAFUSER
    – for this Check the Exchange Profile and transaction SU01, try to reset the password -Restart the J2EE Engine to activate changes in the Exchange Profile After doing this, you can restart the message
    See the below link
    HTTP* Errors /people/krishna.moorthyp/blog/2006/07/23/http-errors-in-xi
    Regards
    Chilla

  • HTTPS with SOAP adapter

    Hi
    Can someone clarify something for me:
    HTTP with SSL without client authentication -> Is the information still encrypted the same way as with certificates? Do I need to set up something on the SAP/XI side when not using certificates?
    If information still is encrypted, why are we using HTTPS with client authentication (certificates). What is the advantage of using certificates compared to user authentication?
    Thanks. Your're the best!
    regards Marianne

    Hi,
    HTTP with SSL without client authentication -> Is the information still encrypted the same way as with certificates? Do I need to set up something on the SAP/XI side when not using certificates?
    -->Encryption is differnt from  Certificates, Encryption is done to the data that we are passing and Certificates are used for authentication to particular server,so there is no point that information will be encrypted while using certificates. so even we use certifacates we need to encrypt the data.
    If information still is encrypted, why are we using HTTPS with client authentication (certificates).
    -->we use HTTPS/SOAP for secure data transfer, client authentication is same for HTTP,HTTPS or SOAP.
    What is the advantage of using certificates compared to user authentication?
    --->Traditionally, users receive access to resources from an application or system based on their user name and password. You can further augment system security by using digital certificates (instead of user names and passwords) to authenticate and authorize sessions between many server applications and users. Also, you can use Digital Certificate Manager (DCM) to associate a user's certificate with that user's iSeries user profile. The certificate then has the same authorizations and permissions as the associated profile.
    A digital certificate acts as an electronic credential and verifies that the person presenting it is truly who she claims to be. In this respect, a certificate is similar to a passport. Both establish an individual's identity, contain a unique number for identification purposes, and have a recognizable issuing authority that verifies the credential as authentic. In the case of a certificate, a Certificate Authority (CA) functions as the trusted, third party that issues the certificate and verifies it as an authentic credential.
    For authentication purposes, certificates make use of a public key and a related private key. The issuing CA binds these keys, along with other information about the certificate owner, to the certificate itself for identification purposes.
    Regards,
    Chirumamilla.sukarna

Maybe you are looking for

  • 6.1.1 Won't Open.

    I'm running 10.7.5 and eventually felt forced to upgrade to Safari 6.1.1 and it won't open, endless beachballs. I've got a number of extensions, most have been recently updated. Glims, AdBlock, Ghostery, LittleSnitch and more. I'd appreciate any advi

  • Transport issue with SLD

    Hi, On PI 7.1 EHP 1. Trying to transport an interface to Production, Prod has its own SLD. When the Basis team import the change on the Integration Builder it is failing and giving error: Communication Component | SEDCLNT316: Obligatory transport tar

  • Change message text generated from Sourcing Cockpit

    Hi, This is the scenario where the Buyer completes the Shopping Cart (complete requirement) from the Sourcing Cockpit. After this, the Shopping Cart is removed from the Sourcing Cockpit and also the system sends an email notification to the requestor

  • I want to download an app in App Store with money than they ask me my security question and I forgot it how can I do?

    I want to dowloade an apps with a money but they ask me my security question and I forgot it how can I do

  • Rejecting no longer causes picture to disappear

    Hello. All of a sudden when I hit 0 to reject a photo it stays put. It used to immediately disappear and go to the rejected photo section. Now it stays in the project. It does have an X in the corner signifying its rejected state. Thanks