Exception handling Proxy to SOAP

Hello All,
I am working on proxy to soap scenario. it is synchronus scenario, i want to handle the errors coming from like we pass response in soartm. but structure do not have soartm. Is there any idea how to handle the errors like suppose the system is down then it should not pass the response but send a predefined error in specific format.
If anyone is having idea please tell me.
Thanks for all your help in advance.

hi,
You can use Fault messages with ABAP Proxy to capture error.
Refers to link:
http://help.sap.com/saphelp_nw04/helpdata/en/5d/a45c3cff8ca92be10000000a114084/content.htm
You can also handle exception using ALERTS. Configure your ALERTs with the help of
- Creating alert category
- Creating alert Rules for Alert category from Runtime workbench-->Alet Configuration
Refers to link:
http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/content.htm
Regards
Kasturika

Similar Messages

  • Exception handling in synchronous proxy - web service scenario

    Hi Gurus,
    I have a synchronous scenario in which SAP is sending a request via XI using SOAP and receiving a response back. As part of this scenario, I am consuming standard web service APIs provided by the third party.
    Since, every request has to contain the connecting user id and password provided by the third party, I am sending/receiving messages without SOAP envelop (achieved by clicking 'Do not use SOAP envelope' checkbox in SOAP Receiver Communication Channel).
    For this scenario, we are including the user id and password in the request message using XSLT mapping and the request number using simple message mapping.
    The fault message of the web service is being mapped to the fault message created in XI under Fault Message Types.
    The interface mapping page has got 3 tabs, one each for Request message mapping, Response message mapping and Fault message mapping.
    When I trying to test a failure scenario by giving an incorrect request number(since this is the only input parameter in gthe request message apart from user id and password), it is throwing up "MAPPING">EXCEPTION_DURING_EXECUTE error.
    Actually, for such requests, I am getting a proper fault response back from the third party which I can see in XI (in moni) as response to my request but when I am looking at the message in moni in SAP, I am only seeing "MAPPING">EXCEPTION_DURING_EXECUTE. Even I can see the exception in the trace section of my response in moni in XI.
    My feeling is that the fault message mapping is not getting executed at all.
    I also thought to do a 2:1 multimapping in which, the target side will contain the response message type created in XI but the source will contain two messages, i.e. Normal response message structure provided by third party and Fault message structure provided by third party but I am not sure whether this is possible without using BPM.
    Please suggest the best way to resolve this issue.

    The Fault message raised from 3rd party service, is structured as follow ??
    HTTP/1.1 500 Internal Server Error
    Content-Type: text/xml; charset="utf-8"
    Content-Length: nnnn
    <SOAP-ENV:Envelope
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP-ENV:Body>
           <SOAP-ENV:Fault>
               <faultcode>SOAP-ENV:Server</faultcode>
               <faultstring>Server Error</faultstring>
               <detail>
                   <e:myfaultdetails xmlns:e="Some-URI">
                     <message>My application didn't work</message>
                     <errorcode>1001</errorcode>
                   </e:myfaultdetails>
               </detail>
           </SOAP-ENV:Fault>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Take a look here:
    /people/jin.shin/blog/2007/05/21/handling-web-service-soap-fault-responses-in-sap-netweaver-xi
    and to this standard document:
    http://help.sap.com/saphelp_nwpi711/helpdata/en/48/5946db5f693912e10000000a42189b/content.htm

  • Exception handling in client proxy

    Hi
    Can someone please help me with exception handling in ABAP client proxy.

    HI
      Welcome to SDN
    Check this link you wil get information regarding ABAP Proxy  http://help.sap.com/saphelp_nw04/helpdata/en/c9/74246d8ad2447799063d39013e9a11/content.htm

  • Problem Proxy to SOAP Synchronous

    Hi Experts, I was looking for a solution to this problem, but I could not find the solution, I hope you can help me.
    I have the scenario PROXY ==> PI ==> SOAP (Synchronus).
    When the Web Service is ok, I have no problems, my problem is with the Fault Exception, because I tested it in SoapUI, and I'm getting this message.
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
       <S:Body>
          <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
             <faultcode>S:Server</faultcode>
             <faultstring>Error al insertar Domicilio en servicio Empleado</faultstring>
             <detail>
                <FaultException:FaultException xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.interacciones.com.mx/ServicioEmpleado/" xmlns:FaultException="http://www.interacciones.com.mx/ServicioEmpleado/"/>
                <ns2:exception class="mx.com.interacciones.servicioEmpleado.FaultException_Exception" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" xmlns:ns2="http://jax-ws.dev.java.net/">
                   <message>Error al insertar Domicilio en servicio Empleado</message>
                   <ns2:stackTrace>
                      <ns2:frame class="mx.com.interacciones.servicioEmpleado.ServicioEmpleadoImpl" file="ServicioEmpleadoImpl.java" line="87" method="agregarEmpleado"/>
                      <ns2:frame class="sun.reflect.GeneratedMethodAccessor267" line="unknown" method="invoke"/>
                      <ns2:frame class="sun.reflect.DelegatingMethodAccessorImpl" file="DelegatingMethodAccessorImpl.java" line="25" method="invoke"/>
                      <ns2:frame class="java.lang.reflect.Method" file="Method.java" line="597" method="invoke"/>
                      <ns2:frame class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker" file="WLSInstanceResolver.java" line="101" method="invoke"/>
                      <ns2:frame class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker" file="WLSInstanceResolver.java" line="83" method="invoke"/>
                      <ns2:frame class="com.sun.xml.ws.server.InvokerTube$2" file="InvokerTube.java" line="152" method="invoke"/>
                      <ns2:frame class="com.sun.xml.ws.server.sei.EndpointMethodHandler" file="EndpointMethodHandler.java" line="264" method="invoke"/>
                      <ns2:frame class="com.sun.xml.ws.server.sei.SEIInvokerTube" file="SEIInvokerTube.java" line="93" method="processRequest"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="604" method="__doRun"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="563" method="_doRun"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="548" method="doRun"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="445" method="runSync"/>
                      <ns2:frame class="com.sun.xml.ws.server.WSEndpointImpl$2" file="WSEndpointImpl.java" line="275" method="process"/>
                      <ns2:frame class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit" file="HttpAdapter.java" line="454" method="handle"/>
                      <ns2:frame class="com.sun.xml.ws.transport.http.HttpAdapter" file="HttpAdapter.java" line="250" method="handle"/>
                      <ns2:frame class="com.sun.xml.ws.transport.http.servlet.ServletAdapter" file="ServletAdapter.java" line="140" method="handle"/>
                      <ns2:frame class="weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke" file="HttpServletAdapter.java" line="319" method="run"/>
                      <ns2:frame class="weblogic.wsee.jaxws.HttpServletAdapter" file="HttpServletAdapter.java" line="232" method="post"/>
                      <ns2:frame class="weblogic.wsee.jaxws.JAXWSServlet" file="JAXWSServlet.java" line="310" method="doPost"/>
                      <ns2:frame class="javax.servlet.http.HttpServlet" file="HttpServlet.java" line="727" method="service"/>
                      <ns2:frame class="weblogic.wsee.jaxws.JAXWSServlet" file="JAXWSServlet.java" line="87" method="service"/>
                      <ns2:frame class="javax.servlet.http.HttpServlet" file="HttpServlet.java" line="820" method="service"/>
                      <ns2:frame class="weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction" file="StubSecurityHelper.java" line="227" method="run"/>
                      <ns2:frame class="weblogic.servlet.internal.StubSecurityHelper" file="StubSecurityHelper.java" line="125" method="invokeServlet"/>
                      <ns2:frame class="weblogic.servlet.internal.ServletStubImpl" file="ServletStubImpl.java" line="292" method="execute"/>
                      <ns2:frame class="weblogic.servlet.internal.ServletStubImpl" file="ServletStubImpl.java" line="175" method="execute"/>
                      <ns2:frame class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction" file="WebAppServletContext.java" line="3594" method="run"/>
                      <ns2:frame class="weblogic.security.acl.internal.AuthenticatedSubject" file="AuthenticatedSubject.java" line="321" method="doAs"/>
                      <ns2:frame class="weblogic.security.service.SecurityManager" file="SecurityManager.java" line="121" method="runAs"/>
                      <ns2:frame class="weblogic.servlet.internal.WebAppServletContext" file="WebAppServletContext.java" line="2202" method="securedExecute"/>
                      <ns2:frame class="weblogic.servlet.internal.WebAppServletContext" file="WebAppServletContext.java" line="2108" method="execute"/>
                      <ns2:frame class="weblogic.servlet.internal.ServletRequestImpl" file="ServletRequestImpl.java" line="1432" method="run"/>
                      <ns2:frame class="weblogic.work.ExecuteThread" file="ExecuteThread.java" line="201" method="execute"/>
                      <ns2:frame class="weblogic.work.ExecuteThread" file="ExecuteThread.java" line="173" method="run"/>
                   </ns2:stackTrace>
                </ns2:exception>
             </detail>
          </S:Fault>
       </S:Body>
    </S:Envelope>
    So, I was reading a lot of threads, those said to copy the structure, but it doest not work.
    I tried to check the "Do Not Use SOAP Envolve", but when I did that I got this error.
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 415 Unsupported Media Type
    When I unchecked I got this error.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_RecursosHumanos_ServicioEmplead~</SAP:P1>
      <SAP:P2>com.sap.aii.mappingtool.tf7.IllegalInstanceExcepti</SAP:P2>
      <SAP:P3>on: Cannot create target element /ns0:Fault. Value</SAP:P3>
      <SAP:P4>s missing in queue context. Target XSD requires a~</SAP:P4>
      <SAP:AdditionalText />
      <SAP:Stack>Runtime exception occurred during application mapping com/sap/xi/tf/_MM_RecursosHumanos_ServicioEmplead~; com.sap.aii.mappingtool.tf7.IllegalInstanceException: Cannot create target element /ns0:Fault. Values missing in queue context. Target XSD requires a~</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    I could never see the Fault Structure in PI and neither in Web Service Navigator.
    Please, I need some help.
    Thank you very much.
    Regards

    If I test it in Soap UI I get the Fault, and in WsNavigator I can see the FaultCode and FaultString as a message on the top of the page.
    I do not know what more to do.
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
       <S:Body>
          <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
             <faultcode>S:Server</faultcode>
             <faultstring>Error al insertar Domicilio en servicio Empleado</faultstring>
             <detail>
                <FaultException:FaultException xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.interacciones.com.mx/ServicioEmpleado/" xmlns:FaultException="http://www.interacciones.com.mx/ServicioEmpleado/"/>
                <ns2:exception class="mx.com.interacciones.servicioEmpleado.FaultException_Exception" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" xmlns:ns2="http://jax-ws.dev.java.net/">
                   <message>Error al insertar Domicilio en servicio Empleado</message>
                   <ns2:stackTrace>
                      <ns2:frame class="mx.com.interacciones.servicioEmpleado.ServicioEmpleadoImpl" file="ServicioEmpleadoImpl.java" line="87" method="agregarEmpleado"/>
                      <ns2:frame class="sun.reflect.NativeMethodAccessorImpl" file="NativeMethodAccessorImpl.java" line="native" method="invoke0"/>
                      <ns2:frame class="sun.reflect.NativeMethodAccessorImpl" file="NativeMethodAccessorImpl.java" line="39" method="invoke"/>
                      <ns2:frame class="sun.reflect.DelegatingMethodAccessorImpl" file="DelegatingMethodAccessorImpl.java" line="25" method="invoke"/>
                      <ns2:frame class="java.lang.reflect.Method" file="Method.java" line="597" method="invoke"/>
                      <ns2:frame class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker" file="WLSInstanceResolver.java" line="101" method="invoke"/>
                      <ns2:frame class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker" file="WLSInstanceResolver.java" line="83" method="invoke"/>
                      <ns2:frame class="com.sun.xml.ws.server.InvokerTube$2" file="InvokerTube.java" line="152" method="invoke"/>
                      <ns2:frame class="com.sun.xml.ws.server.sei.EndpointMethodHandler" file="EndpointMethodHandler.java" line="264" method="invoke"/>
                      <ns2:frame class="com.sun.xml.ws.server.sei.SEIInvokerTube" file="SEIInvokerTube.java" line="93" method="processRequest"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="604" method="__doRun"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="563" method="_doRun"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="548" method="doRun"/>
                      <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="445" method="runSync"/>
                      <ns2:frame class="com.sun.xml.ws.server.WSEndpointImpl$2" file="WSEndpointImpl.java" line="275" method="process"/>
                      <ns2:frame class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit" file="HttpAdapter.java" line="454" method="handle"/>
                      <ns2:frame class="com.sun.xml.ws.transport.http.HttpAdapter" file="HttpAdapter.java" line="250" method="handle"/>
                      <ns2:frame class="com.sun.xml.ws.transport.http.servlet.ServletAdapter" file="ServletAdapter.java" line="140" method="handle"/>
                      <ns2:frame class="weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke" file="HttpServletAdapter.java" line="319" method="run"/>
                      <ns2:frame class="weblogic.wsee.jaxws.HttpServletAdapter" file="HttpServletAdapter.java" line="232" method="post"/>
                      <ns2:frame class="weblogic.wsee.jaxws.JAXWSServlet" file="JAXWSServlet.java" line="310" method="doPost"/>
                      <ns2:frame class="javax.servlet.http.HttpServlet" file="HttpServlet.java" line="727" method="service"/>
                      <ns2:frame class="weblogic.wsee.jaxws.JAXWSServlet" file="JAXWSServlet.java" line="87" method="service"/>
                      <ns2:frame class="javax.servlet.http.HttpServlet" file="HttpServlet.java" line="820" method="service"/>
                      <ns2:frame class="weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction" file="StubSecurityHelper.java" line="227" method="run"/>
                      <ns2:frame class="weblogic.servlet.internal.StubSecurityHelper" file="StubSecurityHelper.java" line="125" method="invokeServlet"/>
                      <ns2:frame class="weblogic.servlet.internal.ServletStubImpl" file="ServletStubImpl.java" line="292" method="execute"/>
                      <ns2:frame class="weblogic.servlet.internal.ServletStubImpl" file="ServletStubImpl.java" line="175" method="execute"/>
                      <ns2:frame class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction" file="WebAppServletContext.java" line="3594" method="run"/>
                      <ns2:frame class="weblogic.security.acl.internal.AuthenticatedSubject" file="AuthenticatedSubject.java" line="321" method="doAs"/>
                      <ns2:frame class="weblogic.security.service.SecurityManager" file="SecurityManager.java" line="121" method="runAs"/>
                      <ns2:frame class="weblogic.servlet.internal.WebAppServletContext" file="WebAppServletContext.java" line="2202" method="securedExecute"/>
                      <ns2:frame class="weblogic.servlet.internal.WebAppServletContext" file="WebAppServletContext.java" line="2108" method="execute"/>
                      <ns2:frame class="weblogic.servlet.internal.ServletRequestImpl" file="ServletRequestImpl.java" line="1432" method="run"/>
                      <ns2:frame class="weblogic.work.ExecuteThread" file="ExecuteThread.java" line="201" method="execute"/>
                      <ns2:frame class="weblogic.work.ExecuteThread" file="ExecuteThread.java" line="173" method="run"/>
                   </ns2:stackTrace>
                </ns2:exception>
             </detail>
          </S:Fault>
       </S:Body>
    </S:Envelope>

  • Exception handling with fault message type not working

    Hi,
    I have a sync proxy to proxy scenario and I have created a fault MT and specified in the outbound and Inbound service interface...
    *In Inbound proxy I have the following code--*......
    RAISE EXCEPTION TYPE z_cx_test_fault
    EXPORTING
    standard = l_standard_data.
    In the sender side abap code which calls the outbound proxy I have the follwing code -
    CATCH cx_ai_system_fault INTO lo_cx_ai_system_fault.
    txt = lo_cx_ai_system_fault->get_text( ).
    WRITE txt.
    CATCH z_cx_test_fault INTO lo_cx_test_fault.
    txt = lo_cx_standard_message_fault->get_text( ).
    WRITE txt.
    CATCH cx_ai_application_fault INTO lo_cx_ai_application_fault.
    txt = lo_cx_ai_application_fault->get_text( ).
    WRITE txt.
    when i test the inbound proxy separately I get the custom fault message properly...
    however when i run the proxy to proxy sync scenario and the custom exceptionz_cx_test_fault  is raised inside the receiver proxy .......control goes to CATCH cx_ai_application_fault    and not CATCH  z_cx_test_fault .
    I understand that cx_ai_application_fault is the super class of all the exception class but why does control go to its exception handling when a custom exception is raised...
    Edited by: hema T on Feb 26, 2012 1:16 PM
    Edited by: hema T on Feb 26, 2012 1:17 PM

    Hi
    I tried changing the sequence also but it did not work...
    I can see an appropriate response coming from the receiver in SXMB_MONI of PI...this response has the "fault response "
    "fault detail" data that I want.....however when the control goes to the sender why does it go to CATCH CX_AI_APPLICATION_FAULT and not not my CATCH z_cx_test_fault .
    My observation - If I change the scenario to SOAP to Proxy sync..then the sender SOAP client gets the appropriate custom fault message back.
    Edited by: hema T on Feb 27, 2012 1:17 PM
    Edited by: hema T on Feb 27, 2012 1:17 PM

  • Error while invoking the ABAP Proxy via SOAP Adapter

    Hi,
    My scenario involves SOAP Client invoking a webservice hosted in PI which in turn invokes the ABAP Proxy asyncronously.
    SOAP Client -> PI -> ECC (ABAP Proxy) . This works fine.
    Next , I have exposed the ECC Service Interface as webservice using SOA Manager transaction. Now, once the service is created using SOAManager, i replaced the XI Adapter with SOAP Adapter and provided the target URL as the URL provided by the SOAManager.
    SOAP Client -> PI -> ECC (ABAP Proxy via SOAP Adapter)
    With this approach, i am encountering the below error message
    2009-05-29 12:17:55 Error Adapter Framework caught exception: null
    2009-05-29 12:17:55 Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException.
    Any ideas on the above errror message? Any pointers or inputs will be appreciated.
    Thanks,
    Vinayak Kamath

    > 2009-05-29 12:17:55 Error Adapter Framework caught exception: null
    > 2009-05-29 12:17:55 Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException.
    This is a generic error message which does not have any information about the error which has occurred.
    Do you see any error messages in the SOAP client?
    Regards
    Stefan

  • Error in SOAP receiver channel in Synchronous Proxy to SOAP scenario

    Hi all,
    We are experiencing an issue with a synchronous Proxy to SOAP scenario. Getting below error message in the SOAP receiver communication channel for the response message.
    SOAP: Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
    Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error encountered while executing mapping: com.sap.aii.af.service.mapping.MappingException: com.sap.aii.utilxi.misc.api.ResourceException: Could not determine mapping steps for message 1364b76e-ecbf-11e4-85f4-000023acfde6.
    We are running PI 7.4.
    Any help is appreciated.
    Thanks,
    Pushpa

    Hi,
    Seems the Receiver Webservice is not reachable. Did you try to test it using SOAP UI tool.
    1. Test a fresh message from local SOAP UI tool.
    2. Pick 3rd party WSDL file and Import in SOAP UI tool.
    3. Put some dummy data for mandatory fields
    4. Trigger it msg and ckh if you get successful / response msg.
    5. Check if firewall is open and that URL is not blocked.
    Hope it helps
    Regards,
    Azhar

  • PROXY to SOAP ; HTTP403 error in PI 7.1

    Hi team,
    it was proxy to HTTP scenario. Receiver : webportal . We have chnged it to Proxy to SOAP ,due to HTTP does not support multi message generation . I have checked Do NOT USE SOAP Envelope in SOAP rcv channel. Pls find the config details.
    Adapter Type: SOAP
    Trans.protocal: HTTP
    Mess.Protocal: SOAP1.1
    Do not use SOAP envelope : Checked
    Now Im getting error in RWB .
    "Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 403 Access denied"
    I checked with the basis people- they confirmed - some request hitting the site. but unable to read the content . they specified HTTP header should contain the content type : text/xml . If I checked "Do not use SOAP envelope " , I guess the content type is application/xml etc.
    so how can I change the HTTP content type to text/xml. OR any other reason tfor this error.
    thnaks
    Drumi.

    Hello,
    I checked with the basis people- they confirmed - some request hitting the site. but unable to read the content . they specified HTTP header should contain the content type : text/xml . If I checked "Do not use SOAP envelope " , I guess the content type is application/xml etc.
    so how can I change the HTTP content type to text/xml. OR any other reason tfor this error.
    The content type when Do Not Use SOAP Envelope is checked defaults to application/xml. To change it to the correct content type, use the MessageTransformBean for your requirement.
    ProcessingSequence                         ModuleName           Type     ModuleKey
    1          localejbs/AF_Modules/MessageTransformBean            LEB      0
    2          sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean LEB      soap
    Module Configuration
    ModuleKey                ParameterName                ParameterValue
    0                      Transform.ContentType          text/xml
    For more info, see http://help.sap.com/saphelp_nwpi711/helpdata/en/57/0b2c4142aef623e10000000a155106/frameset.htm
    Check also if you are passing credentials in your Receiver.
    Hope this helps
    Mark

  • Error "soap fault: No operation available for request" in proxy to soap Scenario

    Hi Experts,
    Unable to trace the below error when pushing the message from RWB while testing the PROXY to SOAP interface
      Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: 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.
    Thank you very much if any one provided the solution
    Regards,
    Yugandhar 

    Hi Yugandhar,
    Check the below thread,
    Connecting from SAP PI To Salesforce
    Regards
    RK N.

  • Error in Proxy to SOAP synchronous scenario

    Hi Gurus,
    Hope you are doing well. I have a Proxy to SOAP synchronous interface interacting with an external system (system outside the firewall/landscape of my company).
    When I am trying to post the request message from XI, I am getting the following error.
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs
    In the WSDL provided by the external application, i.e. receiver WSDL, there is no attribute/field with the name 'IncludeExceptionDetailInFaults' and there is no fault string defined.
    Where is this error being thrown up? Is it a network/firewall error that XI is unable to determine?
    Please provide an answer as soon as possible.
    regards
    Debansu

    Hi,
    i think it is the problem in the WSDL provider system, because it is throwing the Error with some string".NET",
    do the below steps for investigating the issue
    1)try pinging the URL provided in the WSDL from internet explorer.
    2)if it is successfull, try to push one message from SOAP UI to by importing that WSDL, if you get any error then it is problem in the end system.
    Thank You,
    Madhav

  • Error in synchronous( abap proxy to soap)scenario

    Hi experts,
    My scenario is synchronous abap proxy to sysnchronous soap. for proxy I am using business system name as ERDCLNT220 and soap business system name as BS_HRS_DEV
    configuration steps are
    1. only client proxy to soap scenario I have done.
    communication channels: only receiver soap adapter. no proxy sender communication channel for client proxy.
    Already we have RFC destination connection and connection type H for proxy to xi.
    1.Is it required RFC destination connection for xi to server proxy.
    2.Is it required receiver proxy communication channel for server proxy?.
    i HAVE TESTED THIS INTERFACE. I am able to send the request. But I am not able to receive the response from soap webservice message .
    error is:
    SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson
    exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson
    Error Adapter Framework caught exception: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson
    Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson. Setting message to status failed.
    Kindly help me.
    advance thanks
    thanks and regards
    elton
    Edited by: eltonsaranya on May 9, 2011 10:27 AM

    Your exception message shows problem at the webservice side.
    Check the following:
    a) you need two mappings one for proxy req to soap request and other soap response to proxy response
    b) You need to create service interfaces both sender and receiver synchronous .
    c) communication channel  QOS is best effort for both sender and receiver
    d) I dont see problem in soap configuration. Bcuz you are able to ping and while getting response from the method getPerson it fails.
    f) See your SOAP response structure matches with WSDL provided.
    g) You can also test outside PI.. I meant testing via soap client tool like SOAPUI  for that web service. So that you know whether problem exists on the target system or not.
    Hope that helps.

  • Integration Process exception handling & alerts, Java

    Hello,
    I would like to enhance my basic scenarios fool proof and with as much Java as possible.
    I have set up several asynchronous and synchronous File to SOAP transfers between systems A and B
    using PI70 including my own Java mapping classes and PI's AF_Modules beans. They work just fine.
    I have not designed my own Integration Processes yet, so execution is based on channel settings and availability timing.
    I have learned this aproach may be exposed to general faults resulting manual monitoring and repairing.
    For example server problems at receiver side can result data losses as sender channel just keeps removing source
    files like normally, as the process would be better to just stop right there and alert or something.
    My question is, is the "Enterprise services Builders" Integration Process & Graphical definition screen the one and only tool to 
    customize whole process exception handling and alerts in PI, and Java is not an option?
    Appreciate your advice on this.
    Kind regards m

    Hi m,
    Strange Name
    >>I have learned this aproach may be exposed to general faults resulting manual monitoring and repairing. For example server problems at receiver side can result data losses as sender channel just keeps removing source  files like normally, as the process would be better to just stop right there and alert or something.
    If you are looking to handle this particular scenario, then we have the alert mechanism and CCMS monitoring. There you will come to know whether the end system down or not.
    Also in addition to this you can write your own java (in message mapping, as modules, java mapping) /abap code (as abap mapping, user exit in standard functions etc) for providing more details in error scenarios. But you need to validate whether the maintenance/development cost for the code is justified in your scenarios
    Regards
    Suraj

  • Exception Handling in RH_RELATION_MAINTAIN

    can we use Try...Catch Blocks for Exception Handling in RH_RELATION_MAINTAIN.....coz i need to Track the Status message
    coz most of the times it doesn't CATCH and Exception........and i need to send the status msg via Proxy n PI to the JAVA based system............
    So i need to Catch the Exception ................Pls assist................:)
    FORM create_a008 USING l_pernr l_plans l_begda
                     CHANGING l_success.
      CALL FUNCTION 'RH_RELATION_MAINTAIN'
        EXPORTING
          act_fcode           = 'INSE'
          act_plvar           = '01'
          act_otype           = 'S'
          act_objid           = l_plans
          act_istat           = '1'
          act_rsign           = 'A'
          act_relat           = '008'
          act_sclas           = 'P'
          act_sobid           = l_pernr
          act_begda           = l_begda
          act_endda           = '99991231'
        EXCEPTIONS
          maintainance_failed = 1
          OTHERS              = 2.
      IF sy-subrc EQ 0.
        l_success = 'X'.
      ELSE.
        CLEAR : l_success.
      ENDIF.
    ENDFORM.

    sdf

  • Exception handling in CE Visual Composer 7.1

    Hi,
    I have modeled a CAF Business Object and a custom Find operation which looks for a custom key. After that, I have exposed that operation as Web service and consumed it in Visual Composer. It is working perfectly as long as the search key exists in the Business Object backend table. When an arbitrart search term e.g. 1234 which does not exist is given, an error message is displayed and the program logic is halted.
    Error occured while executing the service: Error in connection: Could not execute Web service, consult your administrator
    My requirement is that, is it possible for me to display a custom message such as "The ID does not exist. Please enter a valid ID".
    Besides, is it possbile to bypass this service call if it is not working? In my scenario, this service is actually used to search for any existing data for a selected Customer. If there is no data, the user can proceed with a new definition. So, the above mentioned exception blocks the program flow and the user is not able to continue.
    Thanks in advance for any suggestions or ideas.
    Regards,
    Joon Meng

    I am not aware exception handling features of VC but instead of raising SOAP Fault you can also transfer log message which is user friendly to display.
    Another thing, instead of throwing exeption handle it inside try block so that program do not halt abruptly but gracefully. It is always possible to bypass existing service call like you said if output of service is not input of another.
    In other word do not map output directly but on the "Next" event of button which enable you to goto next screen to work.
    Regards,
    Gourav

  • "Configure Proxy in SOAP Receiver"

    Hi ,
    Can some one help in providing me the information regarding "Configuration of proxy in SOAP receiver adapter (PI 7.1).
    Thanks ..

    Hi Stefan,
    I have my Proxy Values ,the Host and the Port ...even then i am facing some issues., I want to know are there any other details which needs to provided inorder to configure proxy ...(My receiver  is a 3rd party Webservice outside the firewall.)
    Do i need to check the conversion parameters.
    Error:
    SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: "*********************************". at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)</SAP:AdditionalText>
      <SAP:Stack />
    Edited by: Madhusree  Nagalla on Oct 28, 2010 3:28 PM
    Edited by: Madhusree  Nagalla on Oct 28, 2010 3:29 PM

Maybe you are looking for