Synchronous & Fault

Hi,
I have few questions here..
Synchronous
1.For which Adapters we use Synchronous communication mostly..
2.in Synchronous, how response will be posted to sender again?
3.How to track if there is a problem in Synchronous scenario
4.Where & When to use ExchangeFaultData, ExchangeLogData, any blog on this?
5.Where & When to use Fault Message Types,
  and diff between Standard Data & Additional Data
6.What is Payload?
Thanks
Seshu

Hi Seshu,
Questions 1 and 2:
http://help.sap.com/saphelp_nw2004s/helpdata/en/4b/d26b3d32390968e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/18/da765daf5311d6b29f00508b6b8b11/frameset.htm
Also take a look at Sriram's blog for demo on a sync-aync bridge in a BPM
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
Take a look at this too..
/people/r.eijpe/blog/2006/04/20/the-d-xie-soap-part-2-xi-design-decisions-for-synchronous-or-asynchronous-messaging
ExchangeFaultData and ExchangeLogData/Standard data and Additional data :
http://help.sap.com/saphelp_nw2004s/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
Payload :
The payload is the actual contents (business data) of a message in the Exchange Infrastructure.
Look at these relating to payload..
http://help.sap.com/saphelp_nw2004s/helpdata/en/31/6c5c3c3806af06e10000000a11402f/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/31/6c5c3c3806af06e10000000a11402f/frameset.htm
Hope these answer ur question..
cheers,
Prashanth
P.S Please mark helpful answers

Similar Messages

  • Synchronous Fault Message

    Can anybody tell abt Synchronous Fault messaging.......
    How mapping is done between them.
    Thanks
    Jai

    Hi,
    Check the Threads Treatement of Fault Messages in Synchronous Scenarios?!
    Re: Synchronous & Fault
    Thanks!

  • Basic use of locks with replicated cache

    Hi,
    I'm in the process of evaluating Coherence and I have a few fundamental questions about best locking practices with a simple replicated cache. I've been through the docs & forums a few times, but I'm still confused.
    The docs say that a replicted cache is "fully coherent". What, exactly does this mean? Does this imply that Coherence handles all the locking for you? Under what situations do I have to lock a node?
    Thanks.

    Hi,
    There are generally two reasons for desiring full synchronicity:
    Fault tolerance ... however, note that by the time the put returns, the data is held by both the client and the issuer. Also, we recommend the use of the Distributed cache topology for transactional data (and not Replicated). Distributed is in fact fully synchronous.
    The other reasons people usually ask about this is concern over the logical view of data updates (simultaneous state across the cluster). Even within a single JVM running on a single CPU, data updates are not simultaneous or even synchronous. This is quite intentional (in fact most of the complexity of the Java Memory Model arises from the desire to avoid the requirement for simultaneous state changes).
    In the JVM, synchronized blocks are required to avoid race conditions and inconsistent views of data, and in Coherence, locks are required to do the same.
    The key point to remember is, from the point of view of a single cluster member, data updates are in fact synchronous and simultaneous (with or without locking).
    I'm assuming your question relates to one of those two issues (as those are the most common concerns that we hear); if not, could you provide a bit more background on your requirements?
    Jon Purdy
    Tangosol, Inc.

  • Unable to get Fault in reply from Synchronous BPEL Process

    Hi All,
    I am using a synchronous BPEL process which always throws a fault. The structure of this fault message is added to <bpel_process_name>.xsd.
    For WSDL faults I have added the following in .wsdl file:
    </wsdl:message>
    <wsdl:message name="BusinessFault">
    <wsdl:part name="payload" element="client:faultarea"/>
    </wsdl:message>
    <wsdl:portType name="FaultBPELProcess">
    <wsdl:operation name="process">
    <wsdl:input message="client:FaultBPELProcessRequestMessage"/>
    <wsdl:output message="client:FaultBPELProcessResponseMessage"/>
    <wsdl:fault message="client:BusinessFault" name="BusinessFault" />
    </wsdl:operation>
    </wsdl:portType>
    Now when I invoke this BPEL process, the fault is thrown and caught by the catch block at main scope. this catch assigns some values to the fault message and returns it back to the calling party.
    Fault QName is defined in the reply activity of catch block.
    On testing it, the reply never comes back and I can see the following error message in the logs:
    [2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
    [2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
    [2011-08-09T09:47:01.060+05:30] [soa_server1] [ERROR] [OWS-04086] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] javax.xml.rpc.soap.SOAPFaultException[[
    at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.generateSoapFaultException(WebServiceEntryBindingComponent.java:1094)
    at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:887)
    at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:192)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:459)
    at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    [2011-08-09T09:47:01.061+05:30] [soa_server1] [ERROR] [OWS-04115] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] An error occurred for port: FabricProvider: javax.xml.rpc.soap.SOAPFaultException.
    If I try to invoke the endpoint uri, it gets invoked and returns the response.
    Any pointers will be appreciated!!

    I tried the same scenario which you told and it's working for me...I'll paste the contents for your reference...
    BPELProcess.bpel
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    -->
    <process name="BPELProcess1"
    targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="bpelprocess1_client" partnerLinkType="client:BPELProcess1" myRole="BPELProcess1Provider"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:BPELProcess1RequestMessage"/>
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="outputVariable" messageType="client:BPELProcess1ResponseMessage"/>
    <variable name="FaultVar_2" messageType="client:BusinessFault"/>
    <variable name="FaultVar" messageType="client:BusinessFault"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:BusinessFault" faultVariable="FaultVar">
    <reply name="Reply_1" variable="FaultVar"
    partnerLink="bpelprocess1_client" portType="client:BPELProcess1"
    operation="process" faultName="client:BusinessFault"/>
    </catch>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess1.wsdl) -->
    <receive name="receiveInput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <assign name="Assign_1">
    <copy>
    <from expression="'A business fault occured'"/>
    <to variable="FaultVar_2" part="payload"
    query="/client:processResponse/client:result"/>
    </copy>
    </assign>
    <throw name="Throw_1" faultName="client:BusinessFault"
    faultVariable="FaultVar_2"/>
    <reply name="replyOutput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="outputVariable"/>
    </sequence>
    </process>
    BPELProcess1.wsdl
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <wsdl:definitions
    name="BPELProcess1"
    targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:ns1="http://schemas.oracle.com/bpel/extension"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    >
    <plnk:partnerLinkType name="BPELProcess1">
    <plnk:role name="BPELProcess1Provider">
    <plnk:portType name="client:BPELProcess1"/>
    </plnk:role>
    </plnk:partnerLinkType>
    <wsdl:import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl"/>
    <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1" schemaLocation="xsd/BPELProcess1.xsd"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="BPELProcess1RequestMessage">
    <wsdl:part name="payload" element="client:process"/>
    </wsdl:message>
    <wsdl:message name="BPELProcess1ResponseMessage">
    <wsdl:part name="payload" element="client:processResponse"/>
    </wsdl:message>
    <wsdl:message name="BusinessFault">
    <wsdl:part name="payload" element="client:processResponse"/>
    </wsdl:message>
    <wsdl:portType name="BPELProcess1">
    <wsdl:operation name="process">
    <wsdl:input message="client:BPELProcess1RequestMessage"/>
    <wsdl:output message="client:BPELProcess1ResponseMessage"/>
    <wsdl:fault message="client:BusinessFault" name="BusinessFault" />
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    Hope that helps you...
    Thanks,
    N

  • Synchronous File- Soap scenario with fault message

    Hi!
    I have a File to Soap synchronous scenario.
    All is right when no exception is returned by the web service.
    I want to use fault messages to catch thoses exceptions, so I have added fault message in message interfaces and in the mapping program in the interface mapping.
    Now, when the web service return an exception like :
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
       <soap-env:Body>
          <soap-env:Fault>
             <faultcode>soap-env:Client</faultcode>
             <faultstring xml:lang="en">NOT_CREATED</faultstring>
             <detail>
                <n0:Z_WS_CREATE_WAGON.Exception xmlns:n0="urn:sap-com:document:sap:rfc:functions">
                   <Name>NOT_CREATED</Name>
                   <Text> does not have packaging material type and is therefore not a pack.mat.</Text>
                   <Message>
                      <ID>HUSELECT</ID>
                      <Number>041</Number>
                   </Message>
                </n0:Z_WS_CREATE_WAGON.Exception>
             </detail>
          </soap-env:Fault>
       </soap-env:Body>
    </soap-env:Envelope>
    I get the following 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>XIServer</SAP:Category>
       <SAP:Code area="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
       <SAP:P1>http://www.arcelormittal.com/radis/rad IM_RAD_to_ZWsCreateWagon</SAP:P1>
       <SAP:P2 />
       <SAP:P3 />
       <SAP:P4 />
       <SAP:AdditionalText />
       <SAP:ApplicationFaultMessage namespace="" />
       <SAP:Stack>Interface mapping http://www.arcelormittal.com/radis/rad IM_RAD_to_ZWsCreateWagon does not exist in runtime cache</SAP:Stack>
       <SAP:Retry>N</SAP:Retry>
    </SAP:Error>
    My mapping program for fault message is well defined (I tested it with the exception message received from the web service).
    I have also refresh caches, but without success...
    Can anyone help me ?
    Thanks in advance,
    Laurence

    Hey Laurence,
    A File adapter is aysnchronous u cant use for synchrous because it cant acknwlodge the response it gets or itt sends.
    regarding two asynchoronus
    1. file to SOAP asychn.
    2. triggger the second one if SOAP has exception then pass the error from SOAP to New File.
    using BPM we have to use Transportion level acknowledgments
    please reward points if it helps
    Regards
    Sreeram.G.Reddy

  • Fault message in synchronous send step in BPM

    Hi,
    When executing a synchronous send step in BPM it is possible to handle application errors (fault messages) with an exception branch. But how do you get hold of the actual data in the Fault message(faultText, faultURL, faultDetail etc) for further processing (mapping)?
    Kind regards Johan

    Johan,
    u have to define another container element in integration process.
    For that container element an Async Abstract interface has to created with falult message as the message.
    Do u have the fault message defined already...
    Also go through this thread.
    Fault message handling in BPM
    -Naveen.

  • BPM synchronous send step - Fault message extraction

    Hello Experts,
    I am developing a BPM with Asynch RFC -> synch Webservice -> Asynch RFC scenario.
    I have defined fault message in the synchronous interface used in the send step for web service, and also defined
    exception branch where an alert is thrown.
    In the alert, i want to send the fault text from the fault message. How can i do that??
    Thanks

    Hi Mona,
    SOAP adapter doesnt support fault messages.
    check stephan's reply @ How catch the SOAP Fault Message ?
    > SOAP adapter does not support fault message.
    > Any fault is treated as error.
    > fault messages are only supported for XI messages (ABAP or Java proxies) and RFCs.
    Fault message handling is not possible inside BPM.

  • Error handling using fault message type in outbound synchronous ABAP proxy

    Hi,
    We've a scenario, outbound synchronous ABAP proxy to synchronous SOAP receiver. The requirement is to send multiple records in a single rquest and get response for all the records sent (in the same response message).
    Say if I send 10 records from ECC, I should get 10 records as response from SOAP to ECC. But the problem here is, there could be some invalid requests, for which an invalid error status code should be sent as part of response.
    Source Structure
    Req_Proxy
        req (0..unbounded, string)
    Response Structure
    Resp_SOAP
      Resp (0..Unbounded)
           respString (0..1, String) (carries the actaul response message)
          status code (0..1, String) (carries the status of the response, for ex, 001 (successful), 002 (error))
    And now we are planning to make use of Fault Message Type, to track the errors from SOAP (status code 002). But, we are not sure on how to track this for all the requested records. Is it possible to track the errors for all the requested records in a singe call using fault message type? For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8 for valid and 2 for invalid accordingly.
    Please calrify.
    Thanks.
    Rohit

    For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8
    for valid and 2 for invalid accordingly.
    Check if you can modify the WSDL structure to include an error node that would get populated incase of invalid entries....this would mean that you get the success and failure details in the single message....also at the proxy-end make the necessary change in your DT.....may be then you do not need to use the fault message...
    Regards,
    Abhishek.

  • Synchronous RFC -- SOAP Scenario: problem with SOAP Response/Fault Mapping

    Hi,
    I've a synchronous RFC --> PI --> SOAP Scenario. The problem is that the message structure of the sending RFC doesn't match the Webservice Structure.
    The (SAP standard) RFC has just a Request / Response message structure. Part of the Response Message structure is a exception structure.
    The Webservice has a Request / Response message structure and in case of an error I get a SOAP:Fault.
    Problem now is that I cannot configure that scenario without usage of BPM as I will have to map SOAP:Response or SOAP:Fault to the RFC Response structure.
    Has anybody another idea to do that synchronous scenario (with usage of message mapping) without BPM?
    BR
    Holger

    1)
    you maus define 3 mapping.
    1)request
    2)response
    3)Fault
    in Interface mapping define at response boths (2-3) mapping. its clear??
    2)
    otherwise sometjhing is not clear, why do you want fault?? why dont you  get only response message. we implement this kind of response:
    <response_MT>
    <ID> (error ID)
    <system> (target system) 
    <error> (Error Description)
    </response>
    by this way fault message is not needed. but if you must have it just follow the top of message else, propose second.
    Thanks
    Rodrigo
    Thanks
    Rodrigo
    Edited by: Rodrigo Pertierra on Feb 25, 2008 11:52 AM

  • Treatement of Fault Messages in Synchronous Scenarios?!

    Hi all,
    I got a question concerning the use of fault messages in
    synchronous scenarios...
    1. When I define a fault message for my synchronous   
       receiver interface, a fault message, coming back
       would  not be handled by my sync. Interface- and
       Messagemapping, right?
       So how can I give the fault messageinformation back to
       the sender?
    2. Will I have to define a second scenario for handling
       the fault message?
       (Meaning new Communication Channel, MI, IM, MM and so
       on)
       Thanks for help, anwers are quickly rewarded...
       Daniel

    > 1. When I define a fault message for my synchronous
    >   
    >    receiver interface, a fault message, coming back
    >    would  not be handled by my sync. Interface- and
    >    Messagemapping, right?
    > So how can I give the fault messageinformation
    > ion back to
    >    the sender?
    The fault message has to be handled in your BPM using an exception branch. You can create an exception branch in a block and assign it to be the handler for a particular exception(fault message).
    How can we handle Exception Branch in BPM effectively
    > 2. Will I have to define a second scenario for
    > handling
    >    the fault message?
    > (Meaning new Communication Channel, MI, IM, MM and
    > and so
    >    on)
    It depends on what you want to do with your fault message. If you want to throw an alert, that could trigger emails, you can do it by configuring alerts and using a control step in your exception branch to throw alerts. Only if you want to do something else like log a message into a database, you will need separate jdbc communication channel, MI etc.
    Regards,
    Suresh

  • Usage of fault message in a synchronous web service call from PI ccBPM

    In a PI ccBPM call to synchronous web service,  how can I use the fault message created and attached to the synchronous interface call.
    Mike

    I see nowhere so far, that says not possible. Can you direct me to the appropriate help. Client asking for the same, i have been trying to get this done for a while, can't given an answer NO unless i show them the legit document or something.
    I am in the processing of getting sap help and i have an open ticket. Support never mentioned so far about no possibility to get this done either. I am still crossing my fingers. But will update this thread accordingly with either of the solutions

  • Fault message in synchronous scenario

    I defined an integreationprocess with synchronous send step and an exception branch.
    And I specified an exception for a fault message which I defined in the synchronous interface.
    My problem is, that the exception is not triggered by application errors. The integrationprocess is canceled, although I defined an alternative way in exception branch. I can´t figure why exception isn´t triggered, but I have an assumption.
    This is the inbound fault message from receiver:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
      <fault:AuthException xmlns:fault="urn:vwservices">
      <fault:messageText>Session Token expired or not valid</fault:messageText>
      </fault:AuthException>
    But in interface mapping, when I execute a test run for fault message, the message looks like:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:AuthException xmlns:ns0="urn:vwservices">
       <ns0:messageText/>
    </ns0:AuthException>
    The xml messages are different because of namespace. Is it the problem, why the exception isn´t triggered?
    For this scenario I use a WSDL File from receiver system, which means that, I did not create the fault message myself.
    Thanks for your help!

    Yes, I have assigned the same name.
    I made a test with the system error.
    Before testing I assigned my exception handler (the same as for application errors)  in the send step under item "System Error".
    Then I manipulated my message mapping, so that an system error will be created.
    This szenario works fine. After system error the exception branch was executed.
    I´m truly desperate, because the Application Error don´t work.

  • Configuring Fault Message For the Send Synchronous step

    Hi,
    PI receives a file and sends a soap request to Third pary system. If the data sent to third party system is correct, PI receives a empty soap envelopre. If the data is not approriate, PI receives an fault message(Application Error).PI has to trigger an email in either case.
    I have configured a send synchronous step to initiate Request/Response with a validation fault, followed with send step for triggering an email.once the interface is executed, The process is not moving further from Send synchronous step.In short the steps after send synchronous are not being executed.
    Regards,
    Kiran.

    Hi,
           I have created exception branch if PI receives a validation fault. PI will trigger success email, if the PI receives blank response from third system.PI will trigger failure email, if PI receives a fault message.
    Regards,
    Kiran.

  • Synchronous SOAP: Get fault message on ABAP side

    Hi,
    I've a synchronous ABAP Proxy => PI 7.11 => SOAP scenario.
    The SOAP receiver is a third party application using AXIS 1.4.
    When I call the SOAP receiver with bad input via SOAP UI I receive an error message like that:
    <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>com.ZZZ.exception.ZZZException: Employee not found: 9999911111</faultstring>
             <detail>
                <com.ZZZ.exception.ZZZException xsi:type="ns1:ZZZException" xmlns:ns1="http://exception.ZZZ.com"/>
                <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">server.YYY.com</ns2:hostname>
             </detail>
          </soapenv:Fault>
       </soapenv:Body>
    </soapenv:Envelope>
    When I call the SOAP receiver through my ABAP proxy, I just get this exception message in SXI_MONI:
    <?xml version="1.0" encoding="UTF-8"?>
    <com.ZZZ.exception.ZZZException xmlns:ns1="http://exception.ZZZ.com"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:ZZZException"/>
    Nevertheless I see the error in SXI_MONI:
    <?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="SOAP">FAULT</SAP:Code>
        <SAP:P1>http://schemas.xmlsoap.org/soap/envelope/</SAP:P1>
        <SAP:P2>Server.userException</SAP:P2>
        <SAP:P3/>
        <SAP:P4/>
        <SAP:AdditionalText>com.ZZZ.exception.ZZZException: Employee not found: 9999911111</SAP:AdditionalText>
        <SAP:ApplicationFaultMessage namespace="">com.ZZZ.exception.ZZZException</SAP:ApplicationFaultMessage>
        <SAP:Stack/>
        <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    In the WSDL of the SOAP receiver there's just the ZZZException without fields faultcode or faultstring:
    <complexType name="ZZZException">
      <sequence/>
    </complexType>
    Do I have to add the fields faultcode or faultstring to the WSDL myself?
    I tried the following, but it didn't work:
    <complexType name="ZZZException" abstract="true">
        <xsd:sequence>
            <xsd:element name="faultstring" type="soapenc:string">
        </xsd:sequence>
    </complexType>
    Thanks in advance!

    Hi Eddie -
    Do I have to add the fields faultcode or faultstring to the WSDL by myself?
    >>> No. Even though you add - it doesn't work as it's the webservice which returns the message.
    For sending the fault messages, Have a look at the below blog -
    Handling Web Service SOAP Fault Responses in SAP NetWeaver XI

  • Mapping SOAP Fault during synchronous SOAP call

    We are building a mediated service scenario where PI is brokering a synchronous SOAP call, without changing any of the information being sent or received (the mappings use the same source and target data types with no transformations).  When the service is successfully executed everything works as expected, but when the target service returns a SOAP fault, PI appears to be wrapping the fault in a separate fault before returning it to the client.  Why is this happening?  Is there a way to simply return the SOAP fault to the client without adding the additional wrapper?
    Here is the fault received from the target service when called directly:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Header/>
       <soapenv:Body>
          <soapenv:Fault>
             <faultcode>Missing_Required_Data</faultcode>
             <faultstring>**Required data is invalid : Dealer Country**</faultstring>
          </soapenv:Fault>
       </soapenv:Body>
    </soapenv:Envelope>
    Here is the fault received from the mediated PI service call:
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIAdapterFramework:GENERAL:com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: **Required data is invalid : Dealer Country**
         at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1161)
         at sun.reflect.GeneratedMethodAccessor948.invoke(Unknown Source)
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    Why aren't they the same?

    are diferents coz the first is a fault message and the second is a exception message.
    to send back the fault message define a fault message for both structure and map them in a new message mapping. later in the operation mapping or interface mapping  (depends of the pi version) under fault message or fault mappinng (i dont remember) tab assisg the fault message mapping.
    thats all you need.

Maybe you are looking for

  • How to use GO URL?

    Hi All, I have two Reports- Report1 - Dim A (A1,A2,A3) , Fact A (B1,B2,B3) Report2 - Dim C (C1,C2,C3) , Fact C (D1,D2,D3) Where A1,A2.. ,B1,B2.. ,C1,C2..,D1,D2.. are the attributes of dimensions and facts. While drilling from attribute B1 in report1,

  • Connecting to new instance. to create DB manually

    can any body send me the commands to create and connect to idle instance to create DB Manually, setp by step plz......

  • WLC 2504 can't change WAP name or switch off CDP via WLC gui

    Hi All, Please can you assist? I have 1 x Cisco WLC 2504 & 2 x Cisco WAP AIR-CAP1602I-E-K9 running 7.4.100.60. All three devices are installed and working correcty within a corporate environment. However, there are a few tweaks that I would like to d

  • Does iMovie'11 support Canon XA20 (1920x1080 50i) ?

    I consider to buy the new Canon XA 20 camcorder, which will be available in The Netherlands shortly. In the list 'Supported camera's iMovie I read about the Canon XA20: "iMovie does not support footage recorded in 1080-50p from this Camcorder". Does

  • Abnormal Shutdown...

    My Server turned off abnormally last night, We have started it later, Now, I opened and checked the Alert.Log file, but I unable to find any shutdown Information, that happened last Night. Can't I know the reasons of Shutdown? Where I can find such I