Error capturing SOAP fault for Sync Messages

Hi
We have a Sync interface which makes a Proxy call from ECC to PI and then PI makes Soap Sync call to Web application. We are having issues when handling Exceptions. Sender is getting misleading errors in response, even though they are application errors the proxy sender is getting error like MappingObjectNotFound.
When debug the PI system, PI is truncating error info when it return the reponse.
Below is the scenario of Synchronous interface:
ECC(Proxy) -> PI(Soap Receiver Adapter) -> MasterDataApp-(Webserver)
Below is the actual response from Webserver (Extracted via TCPGW sniffer):
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>*java.rmi.RemoteException: No Messages Found*</faultstring>
<detail>
<ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">hostname.com</ns1:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
But PI receives this response payload like this :
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--  XML Validation Inbound Channel Response
  -->
  <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">hostname.com</ns1:hostname>
and then Sync Request mesasge fails with below error because of the unexpected response payload as shown above:
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--  Call Adapter
  -->
- <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
  <SAP:Category>XIServer</SAP:Category>
  <SAP:Code area="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
  <SAP:P1>Object ID B0CC6B27847A368AA04F4171EF6460F4 Software Component 86524CE0304911DEAE48CC6C83461631</SAP:P1>
  <SAP:P2 />
  <SAP:P3 />
  <SAP:P4 />
  <SAP:AdditionalText />
  <SAP:Stack>Mapping program is not available in runtime cache: Object ID B0CC6B27847A368AA04F4171EF6460F4 Software Component 86524CE0304911DEAE48CC6C83461631</SAP:Stack>
  <SAP:Retry>M</SAP:Retry>
  </SAP:Error>
Also in the response message see this error message:
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--
XML Validation Inbound Channel Response
  -->
- <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="UNKNOWN">APPLICATION_ERROR</SAP:Code>
  <SAP:P1 />
  <SAP:P2 />
  <SAP:P3 />
  <SAP:P4 />
  <SAP:AdditionalText>application fault</SAP:AdditionalText>
  <SAP:ApplicationFaultMessage namespace="http://xml.apache.org/axis/">hostname</SAP:ApplicationFaultMessage>
  <SAP:Stack />
  <SAP:Retry>M</SAP:Retry>
  </SAP:Error>
Please let me for any clues how to handle this error response.
Thanks,
laxman

Hi Laxman,
SOAP Adapter cannot handle fault responses. I understand your issue. You even want to send the errorneous response from the Webservice as a payload back to the sender. But because of application error from Webservice, you are getting an error in the response message (Mapping Not found). SOAP Adapter cannot handle application error (i.e you will not get the errorneous response in form of payload) . For details please read below:
The receiver adapter expects a SOAP message as response. For synchrnous calls, a successful response should be returned with HTTP 200. In this case, the content of the SOAP body will be returned to the caller as the response payload. When some error occurs, the SOAP message may contain the SOAP fault element. In this case, when the fault detail element is not empty, its content will be returned as the fault payload in an application error message. For others, a system error message will be returned to the caller.
HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
<SOAP:Envelope
xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI">
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
</SOAP:Body>
</SOAP:Envelope>
will result in an application response message with response payload
<m:GetLastTradePriceResponse xmlns:m="Some-URI">
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset="utf-8"
<SOAP:Envelope
xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:MustUnderstand</faultcode>
<faultstring>SOAP Must Understand Error</faultstring>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
will result in a system error message.
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset="utf-8"
<SOAP:Envelope
xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP: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:Fault>
</SOAP:Body>
</SOAP:Envelope>
will result in an application error message with fault payload
<e:myfaultdetails xmlns:e="Some-URI">
<message>My application didn't work</message>
<errorcode>1001</errorcode>
</e:myfaultdetails>
In order to send the erroneous response as a payload to the sender, you should develop flow in below manner:
ECC(Proxy) -> PI --> ECC(Proxy)
In PI make a SOAP lookup. The response of the SOAP lookup will contain the response given by the WebService (it can be a vaid response or an application error in WebService). Now map this response to the proxy...In this way you can handle the application error msgs from webservice..
I hope this helps you...
Regards,
Rakesh Sharma

Similar Messages

  • SOAP Fault for Application errors

    Hi,
    I would like to know whether it is OK to raise a SOAP fault for Application or system level exceptions. For example, I'm searching for a user with an ID as request , If the ID is invalid(User is not found) is it OK to raise the SOAP Fault.
    Let me know your views regarding the same.

    Hi,
    With the above explination , please see the below links..
    http://help.sap.com/saphelp_nw04/helpdata/en/d0/d4b54020c6792ae10000000a155106/content.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/7521a237-0701-0010-499b-b3285b789c0d
    /people/thomas.jung3/blog/2005/01/11/publishing-abap-webservices-to-an-external-uddi-server
    /people/sap.user72/blog/2005/11/17/xi-how-to-publish-wsdl-generated-from-xi-to-uddi
    Alert rule for SOAP adapter
    Monitoring problem in async SOAP receiver adapter
    Trapping AF errors using Alert framework in XI 3.0 SP13
    Alert Configuration
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2f2a9fa2-0a01-0010-32ac-d281db722b86
    SOAP Lookup - /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function
    Regards
    Chilla..
    <i>Points rewarded if it is useful..</i>

  • Error on SOAP Receiver for Axis

    Hi all, 
    Is there anybody to help for solution?
    Thanks.
    Error on SOAP Receiver for axis
    Error Message
    <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: javax.ejb.EJBException: Exception in getMethodReady() for stateless bean sap.com/com.sap.aii.axis.appxml|com.sap.aii.adapter.axis.ejb.jarxml|AFAdapterBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Exception raised from invocation of public void com.sap.aii.adapter.axis.modules.AFAdapterBean.ejbCreate() throws javax.ejb.CreateException method on bean instance com.sap.aii.adapter.axis.modules.AFAdapterBean@3ff5ea5d for bean sap.com/com.sap.aii.axis.appxml|com.sap.aii.adapter.axis.ejb.jarxml|AFAdapterBean; nested exception is: javax.ejb.CreateException: java.lang.NoClassDefFoundError: org/apache/axis/types/URI$MalformedURIException</SAP:AdditionalText>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    We deployed com.sap.aii.af.axisproviderlib.sda to use SOAP for axis.
    We sent data from SAP to Axis, error below ocured?
    What must we do to solve problem?
    Thanks.
    Error
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: org.apache.axis.ConfigurationException: handler is not instantiated org.apache.axis.ConfigurationException: handler is not instantiated at com.sap.aii.adapter.axis.modules.HandlerCore.process(HandlerCore.java:73) at com.sap.aii.adapter.axis.modules.HandlerBean.process(HandlerBean.java:75) at sun.reflect.GeneratedMethodAccessor360_10000.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy2634_10000.process(Unknown Source) at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:275) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy1431_10000.process(Unknown Source) at com.sap.aii.af.app.listener.AFWListenerBean.onMessage(AFWListenerBean.java:332) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy1479_10000.onMessage(Unknown Source) at com.sap.engine.messaging.impl.spi.ServicesImpl.deliver(ServicesImpl.java:314) at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1000) at com.sap.engine.messaging.impl.core.queue.consumer.RequestConsumer.onMessage(RequestConsumer.java:73) at com.sap.engine.messaging.impl.core.queue.Queue.run(Queue.java:921) at com.sap.engine.messaging.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56) 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:152) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)</SAP:AdditionalText>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

  • Online Services encountered an error.  Error 6: SOAP fault

    We run APSE 3.2 and we get the following error when we try to share our photos online;
    Online Services encountered an error.
    The service will now be terminated or paused if possible.
    (Error 6: SOAP fault)
    Everything seemed to run ok for about a month and than bang SOAP Error 6
    We did not install any additional applications since we have installed APSE!!??
    We do not run application based firewall - we only have the statefull XP FW Enabled.
    Any help would be greatly appreciated.
    Best regards,
    Bob L.

    Bob:
    Try this:
    In Starter Edition, go to Preferences, and then click on Photoshop Services.
    Then, click on Reset Services
    Then click on OK to close the preferences panel.
    Then, quit and restart Starter Edition.
    It should work.
    Let us know how it goes.
    Bob

  • Why is latency for sync messages more than async messages in PI?

    Hi All,
    Is it normal thing for Sync messages to have more latency time than async messages in PI. if yes then what is the reason behind it?
    Also whats the appropriate latency time in PI?
    Thanks

    Hi XIer,
    synchronous message sender need to wait for a response. They cant wait for an eternity, so there must be a timeout, usually 3 minutes or something.
    asynchronous message sender do not care (techniquely) about any reaction, the program can go on after sending. Therefore any timeout makes no sense.
    Regards,
    Udo

  • How to raise a soap fault for "business errors"

    Hi folks,
    I have a scenario.
    sync
    SOAP<->PI<->RFC
    If the update to ECC failed then the RFC response will give back an Error Code in one of the fields, another field will indicate the error description,
    I will need to raise a soap fault with this error code and description in the soap fault.
    Note , there is only Req and response in the RFC, no fault in the RFC,
    Please advice me on this.
    Thanks,
    Hank

    Hi,
    I think this could be resolved using multi-mapping.
    (RFC)Response  - (SOAP) Response
                                -(SOAP) Fault
    In the response mapping, we have RFC response as the source structure , SOAP Response and SOAP Fault as the target structures.DO the validation for ErrorCode and Error Validation in the mapping. Soap Response structure would be generated for succesful RFC response. Soap Fault structure would be generated in case of RFC response containing error code and error message.
    Hope it works.
    Regards,
    Swetha.

  • Application fault for Sync Send holds up the ccBPM queues

    Hello Experts,
    I have the following scenario which I have realized using a ccBPM in SAP PI 7.31.
    I receive a nomination idoc from ECC from which I create a nomination request to be sent in Sync manner to a web service. The response received from the web service is sent through another idoc, back to ECC. In case of any failure during this, an ALEAUD idoc is sent back to ECC to convey the failure. This web service returns an application fault in case any data in the request is improper and there is no fault message in the WSDL for the web service.
    I have used a ccBPM to receive the nomination idoc from ECC, transform it to web service request and send it using a Sync Send step. In case an application fault occurs, the SOAP receiver channel shows the error as application fault and my Sync Send step does not receive the expected response. However, a SOAP message with envelope is received from the web service which leads to the BPM queue land in error 'Permanent error in BPE inbound processing'.
    However, in case of the application fault I want to make the Sync Send step trigger an exception so that the ALEAUD idoc is sent back to ECC system.
    Any thoughts on how i can achieve this?
    Thanks in adv.
    Diptee

    Hello Experts,
    I have the following scenario which I have realized using a ccBPM in SAP PI 7.31.
    I receive a nomination idoc from ECC from which I create a nomination request to be sent in Sync manner to a web service. The response received from the web service is sent through another idoc, back to ECC. In case of any failure during this, an ALEAUD idoc is sent back to ECC to convey the failure. This web service returns an application fault in case any data in the request is improper and there is no fault message in the WSDL for the web service.
    I have used a ccBPM to receive the nomination idoc from ECC, transform it to web service request and send it using a Sync Send step. In case an application fault occurs, the SOAP receiver channel shows the error as application fault and my Sync Send step does not receive the expected response. However, a SOAP message with envelope is received from the web service which leads to the BPM queue land in error 'Permanent error in BPE inbound processing'.
    However, in case of the application fault I want to make the Sync Send step trigger an exception so that the ALEAUD idoc is sent back to ECC system.
    Any thoughts on how i can achieve this?
    Thanks in adv.
    Diptee

  • How to capture SOAP fault when using "Do not use SOAP envelope" parameter

    Hi,
    we have a synchronous  RFC -> XI -> Web Service scenario. The Web Service requires some custom SOAP header elements for user authorization which forced us create the entire SOAP message in a message mapping and to set the "Do not use SOAP envelope" parameter in the receiving SOAP adapter.
    In order to capture the SOAP fault message from the Web Service we have created a message interface with a fault message and also created an interface mapping with a fault message mapping.
    Our problem is that the fault message is not populated when we get a SOAP fault message back from the Web Service. Is this due to the fact that we have set the  "Do not use SOAP envelope" parameter?
    Thanks in advance!
    Stefan
    Message was edited by:
            Stefan Nilsson

    Hi Bhavesh,
    I have exaactly same scenario. But the only difference is that the Successful payload is also not coming into PI.
    The request is successfully hittng the webservice.
    Please guide me on how to capture the paylod.
    I am using the WSDL provided by the thirdparty but sill the message is not coming into PI.

  • SOAP Capture  ((SOAP:FAULT))

    Hello
    Since SAP XI am consuming a web service NET. If this service has errors send a SOAP FAULT.
    How it catches on SAP XI this message?

    Solve problem.
    I still can not solve this problem.
    I have included the field to WSDL and SOAP FAULT yet so I can not get this information.
    <wsdl:fault name="SolicitarOrdenPagoFault"/>
    <s:schema elementFormDefault="qualified" targetNamespace="http://LarrainVial.WebServices.SAP2LV/Tesoreria">
    <s:complexType name="WSSAP2LVSOAPFaultType">
    <s:sequence>
    <s:element name="faultcode" type="s:string"/>
    <s:element name="faultstring" type="s:string"/>
    <s:element name="faultactor" type="s:string"/>
    <s:element name="detail">
    <s:complexType>
    <s:sequence>
    <s:element name="message" type="s:string"/>
    <s:element name="description" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:schema>
    Edited by: Claudio Enrique León Hernández on Jan 30, 2008 11:10 PM
    I still can not solve this problem.
    I have included the field to WSDL and SOAP FAULT yet so I can not get this information.
    Edited by: Claudio Enrique León Hernández on Sep 8, 2008 9:20 PM
    Edited by: Claudio Enrique León Hernández on Sep 8, 2008 9:20 PM

  • Error in java code for removing messages from a Topic

    Trying to write a code using oracle.jms package to remove messages from Topic. I have a similar code with javax.jms package for removing messages from Queue and it is working well. Whereas i have written this new code for removing messages from topic using oracle.jms package as methods like CreateBrowser and CreateTopicReceiver for topic are provided in oracle package only and can't be used from javax.jms package.
    Error i am getting is JMS-126: Invalid Topic specified at
             receiverTopic   = (Topic) ctx.lookup(((String)receiverProps.get( "Q_NAME")).trim()  );
             System.out.println ("receiverTopic is[" + receiverTopic + "]");
             MBeanHome home = (MBeanHome) Helper.getAdminMBeanHome("username","pwd","url:port");
             ((AQjmsSession)topicSession).grantSystemPrivilege("MANAGE_ANY", "SA", true);
             for(Iterator i = home.getMBeansByType("JMSTopic").iterator();i.hasNext(); )
              WebLogicMBean wmb = (WebLogicMBean)i.next();
              System.out.println("topic name found: " + wmb.getName());
                topicBrowser   = ((AQjmsSession) topicSession).createBrowser(receiverTopic, "Edin");topic handle which i am receiving in receiverTopic is same as what i am expecting but still it says Invalid topic specified on createBrowser method. Anyone who can help me to write this type of code, please reply. If anyone has ready code for this situation, please reply with the same as i am working on a prodcution system and we are in serious situation to resolve this problem.

    Hi,
    I am afraid this is impossible. You need to find another solution like a filtering queue. Your messages can be sent to a queue that is monitored by let say a MDB. This MDB will maintain a map of title and only forward once a given title/message to your topic.
    Hope it helps.
    Arnaud
    www.arjuna.com

  • IDoc Error: No recipient found for IDoc message type in the ALE model...

    Hello Experts,
    I just created an IDoc for purchase orders and when I try to test it after releasing
    the PO, an error is shown in the processing log saying that there are no recipients
    found for my message type of the IDoc. I refrenced it against a working IDoc but I might be
    missing something.
    Hope you can help me guys. Thank you and take care!

    hi,
    in bd64 ,goto change mode select ur distribution model and click add message type define ur logical systems and message type and save.
    thn goto environment - partner profiles - f 8.it will show whether model is created or any errors.
    then go back edit - model view - distribute.
    reward points if hlpful.

  • SOAP handler for outgoing message

    Hello,
    I am implementing a order related webservice running under WebLogic 8.1. It sometime needs to send SOAP request to other external (outside my org) webservices. Is there a way to add a handler to intercept all outgoing SOAP message from my order webservice?
    Thanks,
    PC

    > I also want to use a module for the message received from the adapter. Do I have to call the module after the
    > sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
    > entry?
    yes.

  • SOAP Module for receivin message

    Hi,
    Now I have a receiver SOAP adapter. I am sending data and before sending it I use a module. The entry is before sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean.
    I also want to use a module for the message received from the adapter. Do I have to call the module after the
    sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
    entry?

    > I also want to use a module for the message received from the adapter. Do I have to call the module after the
    > sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
    > entry?
    yes.

  • Problem with array type in SOAP response for sync interface

    Hi,
    We have a Synchronous Interface from SAP -->PI-->Unifier .The WSDL response has array type and when WSDL is imported it is showing red (I was able to activate  and use it in mapping) .We are able to send the request successfully and when retrieving the response we are getting mapping error .Please find the attachment for reference and response message from unifier .I feel that the error is because of array type .Could someone throw some light how we can solve this soon as it was a bit urgent .
    http://scn.sap.com/thread/326591
    I tried to create the Data Type and use the same instead of using the WSDL from External Definition but did not helped.Request your help in this.I have attached the WSDL for reference .
    The response is received as shown below which is giving mapping error :
    <ns1:getUDRDataResponse xmlns:ns1='http://diran:12020/ws/services/mainservice' soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><getUDRDataReturn href='#id0'/></ns1:getUDRDataResponse>
    The complete response looks like below where PI is not able to receive (this is retrieved from SOAP UI)
    <?xml version="1.0" encoding="utf-8" ?>
    - <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    - <soapenv:Body> 
    - <ns1:getUDRDataResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://general.service.webservices.skire.com"> 
    <getUDRDataReturn href="#id0" /> 
    </ns1:getUDRDataResponse>
    - <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:XMLObject" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="mainservice"> 
    <errorStatus soapenc:arrayType="xsd:string[0]" xsi:type="soapenc:Array" /> 
    <statusCode xsi:type="xsd:int">200</statusCode> 
    <xmlcontents xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?> <report> <report_header> <c1>Name</c1> <c2>Number</c2> <c3>Status</c3> <c4>Location</c4> <c5>Phase</c5> </report_header> <report_row> <c1>Test - Sprint 1 - v10</c1> <c2>GB424</c2> <c3>Active</c3> <c4>/North Sea</c4> <c5></c5> </report_row> <report_row> <c1>Test Training 3</c1> <c2>GB424-TRN3</c2> <c3>Active</c3> <c4>/North Sea</c4> <c5></c5> </report_row> </report></xmlcontents> 
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>

    Hi Praveen and Mark,
    Thanks for the help.I tried to use XSLT mapping for request and try to read Response as a single string but i was getting an error in SXMB_MONI with Cannot display document format,Do you want too save it to harddisk and i could not get rid of this even after pressing Yes in popup .
    Can some one help to extract only the xmlcontents  from the above response and map it to target where the target structure looks like
    <report>
    <report_header>
    <report_row>
    Please help .

  • Can we capture HTTP response for async message without BPM?

    We are in the process of migrating an XI 2.0 scenario to XI 3.0.
    The scenario is as follows in XI 2.0 - SAP sends an IDoc to XI which is mapped to an HTTP request and sent to an endpoint.  The HTTP response is captured and shown in SXMB_MONI.
    When we migrate this scenario to XI 3.0, we do not see the HTTP response in MONI.  It looks like since the incoming message (IDoc) is triggering an asynchronous message flow, the HTTP receiver is ignoring the HTTP response payload if it sees a 200 OK status code.  Ideally, we would like for the HTTP response to be captured in MONI just as in XI 2.0.
    Is there a way to capture the HTTP response without using a BPM to make the HTTP synchronous call?  It appears that there is nothing in the HTTP receiver communication channel that we can change (to change it from asynchronous to synchronous).
    Thanks for your help,
    Jay Malla
    SAP XI Consultant
    Licensed To Code

    It looks like the problem I am having might be due to a bug in SP15.  It looks like i should see the HTTP response in MONI by default.  Some other people had this problem with SP 15.  Here is the posting:
    Re: SXMB_MONI does not show payload after upgrade to SP15
    Regards,
    Jay

Maybe you are looking for