BPM + PROXY + Fault Message

Hello
My scenario is JDBC -> BPM <-> Proxy
I developed a BPM has a step-type <SENDER> that is synchronous.
Information on the above step:
  . The message interface used an output, an input message and also a Fault Message.
. I'm calling a proxy in the ECC and runs an exception if an error occurs in the application (inside the proxy).
  . This exception is returned to the BPM and I run a <block> to handle the exception.
My need is to capture the contents of the exception in the BPM and send this text to another application.
How do I recover the contents of the exception returned by Proxy in BPM?
Thank you,
  Aroldo

Hi, it is not supported in the meaning that the payload of the fault message is not returned to the integration process, so that's right Baskar. The only thing possible is to trigger exceptions for fault messages, see [Sending Messages from Integration Processes Synchronously -> Procedure -> Specify Exceptions|http://help.sap.com/saphelp_nw73/helpdata/en/43/6211331c895f6ce10000000a1553f6/content.htm].
Possible solutions:
If it is a custom proxy you could change the behavior so that no fault messages are triggered. Instead you return the error message in the payload structure of the response.
If it isn't a custom proxy you could create a custom proxy wrapper with a separate structure for exceptions in the response. Call the implementation of your desired proxy in the wrapper implementation, handle the exception and return the exception contents in the separate structure of the response.
Or you could try to create a data type enhancement for exception contents for the response message, create a proxy from the enhancement, and implement the OUTBOUND_PROCESSING method where you copy the exception messages to the structure of the data type enhancement.
Regards, Martin

Similar Messages

  • Java Proxy Fault Message

    Hello,
    I have a async Java Inbound Proxy.
    When i send a message to this Interface i call a java class how connect to a jdbc database.
    When the Database is not online i catch an exception.
    This exception i want to send with a fault message to XI.
    What i have to do ?
    At the moment i do the following but it doesn't work:
    } catch (SQLException e) {
    ExchangeFaultData_Type faultData = new ExchangeFaultData_Type();
    faultData.setFaultText(e.getMessage());
    ErrorReturn_Type errorReturn = new ErrorReturn_Type();
    errorReturn.setStandard(faultData);
    throw new ErrorReturn_Message_Exception();
    Any Idea?

    Hi Robin:
    Without knowing your complete code, I think what your are missing is "gluining" everything together, something like this:
    Somewhere in your code, define some variables:
          ExchangeFaultData_Type      faultData                   = null;
          FmJpAviso_Type              fmJpAviso_Type              = null;
          FmJpAviso_Message           fmJpAviso_Message           = null;
          FmJpAviso_Message_Exception fmJpAviso_Message_Exception = null;
          catch( HibernateException ehibernate )
           mensajeError = new StringBuffer();
           mensajeError.append(DataComercial.PED_XI_BDI_DMS_DC_001).append("\n\n")
                                .append(ehibernate.toString());
           catAPPL.fatalT(logger,mensajeError.toString());
              // Default Integration Scenario ExchangeFault Message
           faultData = new ExchangeFaultData_Type();
           faultData.setFaultText(mensajeError.toString());
               // My Fault Message Type for the inbound Message Interface
           fmJpAviso_Type = new FmJpAviso_Type();
           fmJpAviso_Type.setStandard(faultData);
               // My Fault Message
           fmJpAviso_Message = new FmJpAviso_Message();
           fmJpAviso_Message.setFmJpAviso(fmJpAviso_Type);
              // My Fault Message Exception
           fmJpAviso_Message_Exception = new FmJpAviso_Message_Exception();
           fmJpAviso_Message_Exception.setFmJpAviso_Message(fmJpAviso_Message);
           ehibernate = null;     
           mensajeError = null;           
              // Inform XI about this situation in the Java Proxy
           throw fmJpAviso_Message_Exception;
    Hope this helps,
    Regards, Pedro

  • BPM:  System_Error" SOAP fault message received

    Hi,
    We upgraded SAP system from 4.7 to ERP2004 on 09/17/05.
    We have XI-3.0 version from last 9 months and this BPM was working good so far. We have not changed anything in it except we upgraded the SAP system.
    We are using ABAP proxy from SAP to send "userid"
    message to XI-BPM and then it would make a Synchonous call to SAP system to get roles of those "usrid".
    In the first step when it is sending data to XI an exception is raised and in the second step when it tries to make synchronous call to SAP we are getting error:
    <Trace level="3" type="T">Deserializing message object...</Trace>
      <Trace level="3" type="System_Error">SOAP fault message received</Trac
      <Trace level="3" type="System_Error">SOAP fault code: Client</Trace>
      <Trace level="3" type="System_Error">SOAP fault string: Error during c
    I noticed that the XML name tag looks different now
    Before upgrade when message was successful.
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns1:MT_ECA_USRID xmlns:ns1="http://bcm.edu/common"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <USRID>CLARKSON</USRID>
      <USRID>2_MA140016</USRID>
       </ns1:MT_ECA_USRID>
    After upgrade when message is failed
    <?xml version="1.0" encoding="utf-8" ?>
    - <nr1:MT_ECA_USRID xmlns:nr1="http://bcm.edu/common">
      <USRID>AABULIMI</USRID>
      <USRID>AB147899</USRID>
      <USRID>ACHALL</USRID>
       </nr1:MT_ECA_USRID>
    You would notice that
    " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    missing after upgrade.
    I would appreciate if anyone could help me.
    Mrudula

    Hi,
    Can you paste the full error message. Also take a look at the default trace log in Visual Admin. Set the logging for soap to debug.
    Naveen

  • Fault message in BPM process

    I have a bpm process with a sync send step. i have a default fault message strcuture and my sync interface ( a proxy) is using this as fault message format. In case of an fault in the proxy i get the fault message returned. In my bpm i have an exception handler installed for the exception. What i would like to do in my process is send the fault message to another step like a send step.
    i m not looking to understand sync/async bridges or how to setup a bpm process. I am looking for help in how i can work with the fault message in my bpm process other then only let it trigger the exception routine

    Hi Frank,
    in the view of your BP an exception at proxy side is no reason to stop processing. The message will be put to your interface and it is your decision to put data into a container and to send it. For using a "global" container for every kind of message have a look to my weblog <a href="/people/udo.martens/blog/2006/04/28/bpm-container-for-any-message-type Container for any Message Type</a>. If your send step is not successful and you want to catch that: Define an exception branch for your block, where you send a senseful message to notice the error. You can refer in the original send step the exception, during runtime the process jumps into the exception branch and is doing that what you defined there.
    Regards,
    Udo

  • Emulate Fault message in BPM

    Hello
    I have read all related topics
    fault message in BPM process
    Alert monitoring and fault message types
    Using Fault Message Type in BPM
    but no answer..
    I have synch BPM that send synch request to RFC and a mapping step. Then I have to catch exception (of send step or mapping) and send fault message in exception handler.
    I haven't a proxy. I want to create fault message manually and send it. Is it possible? I cannot create an interface of fault message type.

    Hi Sergey,
    As far as I know, it's possible to catch the mapping/send exception.
    It's also easy to define an exception branch for this exception, and inside the exception branch, send a "normal" message in a send step.
    However, as far as I know there's no way of specifying a BPM send step that sends a fault message.
    At least in my experience, regular messages are just as useful when sending error information.
    Cheers,
    Ofer

  • Handling SOAP Fault messages in BPM

    Hi,
    My scenario is Sync-Async Bridge involving File to SOAP transformation. I have used BPM as 1 file has many records and each record is required to call the web service synchronously.
    In the BPM I have
    Receive ---> Transform (1:n multimapping ) -
    > Block (Par for Each)
    In Block  I have Send Sync step to call Web service . I have an exception branch for the send step for catching Fault message that is sent back from webservice for Application Fault.
    Problem:
    Though the Fault message is sent from web service ,in the BPM  the block goes in error saying : "No exception defined for fault message ".  The Exception brach is not executed.
    Please suggest if anyone has come across such a scenario and solution to this.

    hi satesh
    using "exception handler" in BPM we can handle the error messages
    regards
    kummari

  • Handling fault messages in an Integration Process (bpm)

    I have a bpm in PI 7.11 which performs a synch call to an external webservice. In addition to the request/response, that webservice can also generate two faults: ObjectNotFoundFault and generalfault.  I am having trouble handling these faults - when a fault occurs my handler is not being invoked and thus the bpm process stops/errors. When I look at the underlying process (via txn swi1), I see the exact error text:
    "No exception defined for fault message ObjectNotFoundFault http://www.companyb.com/services/olsa_v1_0/"
    From what I understand within the bpm synch call step to the webservice I need to do the following to handle the exception/fault:
    - put the synch call (to the webservice) into a block
    - add an exception branch to that block named let's say A & set the exception handler of that block to be A
    - in the exception setting of that synch step, select A
    In my case, I don't care about the fault details other than to ensure it does not stop the whole Integration Process, so in my exception branch I don't do anything. I did try adding a control step within it too (as per SAP Press text book).
    Is there anything else I need to do here?  I am not mapping the returned fault - does the fault need to be mapped (not sure how I would do this given that the synch step uses an abstract interface and therefore to my knowledge no fault mapping can be done)? 
    There are 2 Notes that describe my issue exactly:
    https://service.sap.com/sap/support/notes/1484903
    https://service.sap.com/sap/support/notes/1158699 <-- this one refers more to me, but we already have in 7.11
    Can anyone let me know exactly the steps I would perform to handle these faults - does the exception name / handler A above need to be named the actual exception / fault ObjectNotFoundFault?
    Any help appreciated.
    Thanks,
    Keith)?
    Any help appreciated.
    Thanks,
    Keith

    Thanks - my scenario I guess is #2 of that blog. But is your take that even if I don't care what is in the fault message, i.e. I don't care about the contents of it but rather I just want to continue on from it, that I still need to perform this java coding?  It's not clear to me from what he says - it seems to me he does the java coding to actually capture the contents of the message.  I am in fact using the soap axis adapter too, as he is. The screen shot showing the exception branch is basically what I have.
    Regards,
    Keith

  • Handling fault messages in BPM

    Hi,
    I am using BPM for a RFC to SOAP scenario to handle Fault messages. (Please have a look at my previous post also SOAP Fault message )
    I have created an exception block in BPM to catch the fault message from SOAP service. Inside the exception block i need to map the fault message to RFC response. But fault message is not accessible in Exception block.
    Let me know if you have any idea to solve this.
    Thanks,
    Uma

    Uma:
    Let me make clear the requiremt. You have RFC Import(aka Request message) and Export(aka Response + Exception) and you have Web Service with Request, Response, Fault messages. And you want to send the fault messages back to the RFC in addition to the response. I was wondering, If we do the following mapping without BPM, does that fulfill your requirement.
    RFC-Import <----
    > SOAP Request
    RFC-Export <----
    > SOAP Response
    RFC-Export <----
    > SOAP Fault
    Can you let me know if you face any problems with this one. I have seen your other thread and was wondering, whats the problem is. May be I didn't understand the requirement properly. Please clarify me

  • Fault message handling in BPM

    Hi again xi fighters
    I created a business process with a synchronous sending step. I defined all interfaces and implemented also an own fault message type within the synchronous abstract interface. If the used RFC got the correct data the sync. sending step worked proper and also the business process worked fine. If I providing wrong data to the RFC to force him to throw an exception the Business process received the fault message. Then I just want to send the received fault message asynchronously to a file adapter within the defined exception branch. And now the question no-one answered in several discussion threads ;-<
    How can I send the message? I am not able to implement a new variable in the container for the fault message type. Any advises here?????
    Please help me, before I got inshane of SAP ;->>
    Regards Oliver
    Message was edited by: Oliver Bluhm
    Hi everybody
    any ideas, or is the question not clear. Please have a look and let me know you exlperience!
    Regards Oliver

    Hi Oliver,
    how do you know, that is impossible to read the content of the fault message in the exception branch? Did someone from SAP say that? For days I read all the notes, blogs, help,.. and didn't find an answer.
    It should work.
    1. I have an integration process in XI sending a sync message to R3.                                    
    - OK
    2. In the generated proxy class I raise an exception of the generated exception proxy class.              
    - OK
    3. The exception message is shown in the message monitoring, containing also all our customer-data.
    - OK
    4. The integration process in XI activates the correct exception branch.
    - OK
    Missing: How do I get a grip on the data in the error message? 
    Kind regards Philipp
    Message was edited by:
            Philipp Jakob

  • BPM Fault Message Exception error !

    Hi here is what I am doing
    Sync webservice-->Sync webservice call using ccBPM.
    This is what I defined in the BPM
    1.)Sync rec
    2.)Block with Exception handler.
    3.) Sync send inside the Block with Fault exception defined.
    I defined fault messages for the interface. The Interface works fine when there is no exception but when there is a Fault exception I get the following error in SXMB_MONI_BPE "No exception defined for fault message Faultmessage urn:XXXXX:XXXXXXX ". Exception 8999, Error type 2, Area SWF_XI_ADAPTER Message 81. Variable1 Faultmessage and Variable2 the namespace".
    I rechecked my BPM and could see the Fault Exception defined for the Sync send step and it has an exception defined for it too.
    I checked SXI_CACHE and the return code is 00.
    We are running on PI7 SP13. Did any one face this kind of problem .

    Hi there,
    I have the exact issue in PI 7.1. Have any of you guys could resolve it? Can you please share your responses.
    Thanks.
    Anshul

  • 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.

  • Application ERROR - Fault message Error in Inbound ABAP Proxy !!

    Hi Folks,
    I have got application error while doing in Inbound proxy scenario. This inbound message is ProductActivityNotification, this message has got fault message. This message is triggering for faults. How to control this fault message or how to divert this error as an alert to RWB. Please give me your ideas step by step. Error as follows:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!-- Call Inbound Proxy
    -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
    <SAP:Category>Application</SAP:Category>
    <SAP:Code area="ABAP">APPLICATION_ERROR</SAP:Code>
    <SAP:P1 />
    <SAP:P2 />
    <SAP:P3 />
    <SAP:P4 />
    <SAP:AdditionalText />
    <SAP:ApplicationFaultMessage namespace="http://sap.com/xi/SAPGlobal20/Global">ProductActivityNotificationFault</SAP:ApplicationFaultMessage>
    <SAP:Stack>Application has thrown an exception</SAP:Stack>
    <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    Please find the fault message has got following values
    <?xml version="1.0" encoding="utf-8" ?>
    - <n0:ProductActivityNotificationFault xmlns:n0="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:RAS:/1SAI/TAS653D9A9CCD9A8EF3AF9B:701:2009/02/10">
    - <standard>
    <faultText>Proxy Class (Generated)</faultText>
    - <faultDetail>
    <severity>information</severity>
    <text>Start of inbound processing: ProductActivityNotification (ID )</text>
    <id>000(/SCA/BIF_PROACT)</id>
    </faultDetail>
    - <faultDetail>
    <severity>error</severity>
    <text>Message ID is missing</text>
    <id>032(/SCA/BIF_MI)</id>
    </faultDetail>
    </standard>
    </n0:ProductActivityNotificationFault>
    Will you please focus bit light on this error message please?
    Regards
    San

    Hi,
    Check your Source data is correct or not..beofr executing your scenario execute your inboud Proxy with valid data ,
    check below blog...
    /people/stefan.grube/blog/2006/07/28/xi-debug-your-inbound-abap-proxy-implementation
    Regards,
    Raj

  • 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.

  • Exception using fault message in java server proxy.

    Hi All,
    I am trying to use Fault message inside my server proxy code in Asynchronous java server proxy. I am referring the below mentioned link :
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702?quicklink=index&overridelayout=true
    I successfully deployed my SDA file but while running the scenario(http-XI-ftp in PI7.11) i am getting the folowing exception under MDT:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing inbound message. Exception: Cannot locate proxy bean ServerProxyFTTest3.
    I am using the following library refernces under application-j2ee-engine.xml file:  com.sap.aii.af.sdk.lib, com.sap.aii.proxy.svc, com.sap.xi.util.misc,com.sap.guid,com.sap.exception all of type "weak".
    I have checked almost all the forums related to fault messages in asynchronous java server proxy but couldn't find much help.
    Request you all to help me.
    Thanks
    Amit

    Hi Rajesh,
    I am deploying my SDA file on Non Central Adapter Engine.
    I have also registered my interface using:
    http://ISVSAPPISB:51000/ProxyServer/register?ns=http://infosys.com/poc&interface=SI_Proxy_IA&bean=localejbs/ServerProxyFTTest3&method=sIProxyIA
    But still i ma getting the same exception.
    Hi Gabriel,
    I implemented my scenario using the same. But in addittion to the librarry referneces mentioned over there i have added one more refrence in it "com.sap.exception"  of type "weak". My structure is like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <application-j2ee-engine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="application-j2ee-engine.xsd">
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.aii.af.sdk.lib</reference-target>
      </reference>
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="service"> com.sap.aii.proxy.svc</reference-target>
      </reference>
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.xi.util.misc</reference-target>
      </reference>
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.guid</reference-target>
      </reference>
        <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.exception</reference-target>
      </reference>
        </application-j2ee-engine>
    Please help.
    Thanks
    Amit

Maybe you are looking for

  • Discoverer 3.1 - No data found

    When running Discoverer 3.1 from command line, when a 'No Rows - Export failed' error occurs, it pops up a message box, which requires manual intervention to click ok before processing resumes. Is there a way around this? (Current solution - stapler

  • I need to go back one version to CC 2014 - the one before the October release

    ... and it looks like Adobe took it off the Previous Versions in the Cloud installer.   I've done months worth of work in CC 2014 on ongoing projects, and I can't go back to the CC version using the Cloud installer. Adobe, please put the previous ins

  • Removing external display, what is right way to wake up the internal?

    I tried connecting to an external display (an HP L1955) via a DVI cable, closed the MBP, and was able to get the HP display working at its native 1280 x 1024. But then I wanted to go back to the internal display, so I disconnected the cable, but then

  • IPhone 4s shuts down randomly after 7.0.6 update

    After updating my iphone 4s to 7.0.6, my phone randomly shuts down. Doesn't seem to be related to how much charge is left in the battery. Any suggestions for how to fix this problem? Thanks

  • Question about Acrobat 8 Distiller

    I am using a third party program and printing to the System Printer (Adobe PDF). When printing to the Adobe Printer the computer gets held up and the error message states that the Acrobat Distiller has encountered problems. Is there a fix or has this