BADI create PO and REQ back: error handling

Hello everyone,
I've got an implementation in the BADIs BBP_CREATE_PO_BACK and BBP_CREATE_REQ_BACK.
The only thing which is missing is the error handling.
Is there any standard method to report errors out of this BADIs in the application monitor of SRM?
Thanks for any answer!

Hi,
Manoj
With BADI BBP_TARGET_OBJECTS     
Method DETERMINE_TARGET_OBJECTS
You determine the object to be created in the back end
OBJ_TO_GEN = 3 -> Purchase Order
OBJ_TO_GEN = 2 -> Purchase requisition
If something go wrong in the creation of the PO the system try to create a PReq and so the program passes in BBP_REQREQ_TRANSFER. Otherwise the the system try to create a PO passing in  BBP_CREATE_PO_BACK.
Please pay attention to not have any approval step before the creation of the purchase order. So it is better if you park SC without approval steps for the debugging test.
Hope it helps.
Guido Gomarasca

Similar Messages

  • Love Firefox, butt my browser window that saves my site in dropdown box, and my back errors are all gone?

    my browser window that saves all the sites I go to daily is GONE, and the back errors are gone that let me suf back to my last page, I didnt do anything they were just gone one morning

    Make sure that you do not run Firefox in Full Screen mode with all toolbars hidden.
    * Press F11 to toggle full screen mode (Firefox/File > Full Screen)
    If the menu bar is hidden then press the F10 key or hold down the Alt key, that should make the menu bar appear.
    Make sure that toolbars like the "Navigation Toolbar" and the "Bookmarks Toolbar" are visible: "View > Toolbars"
    * If items are missing then open the Customize window via "View > Toolbars > Customize" or via "Firefox > Options > Toolbar Layout" (Windows)
    * If a missing item is in the toolbar palette then drag it back from the Customize window on the toolbar
    * If you do not see an item on a toolbar and in the toolbar palette then click the "Restore Default Set" button to restore the default toolbar set up.
    See also:
    * http://kb.mozillazine.org/Toolbar_customization
    * https://support.mozilla.com/kb/Back+and+forward+or+other+toolbar+items+are+missing

  • END button disappears in interaction centre while creating transaction and moving back.

    Hi All,
    In interaction centre when I create a transaction and move back, END button disappears. This problem does not occur every time I go back. It is intermittent.
    Can anyone give your thoughts on what might be causing this issue?
    Thanks and Regards,
    Pallavi

    Hi,
    Can you check the view
    CRMCMP_IC_FRAME/HiddenView component CRMCMP_IC_FRAME  to check END button functionality.In this view put the break point in event
    EH_ONFORWARDCALL and check it.
    Need to check about back button try to use this standard class : CL_BSP_WD_HIST_MANAGER_BASE , method ON_HISTORY_TRIGGER.
    Regards,
    Sumeet

  • Creating Installer and DAQ-MX: Error Code

    Hi,
    I found this question was asked a few times back in 2009 and 2007 but the answesr on the forum don't really help me - partially because they say : oh it just worked.
    I'm trying to craete my first installer for a LabView project.
    It is simply a DAQ assistant for an NI Card. I am trying to move my application from a comptuer with LabView to the one with the card = without labview and I'd rather not install labview on both.
    When I include DAQ-MX and the Run Time module I get this error code fro the installer.
    Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference:
    CDK_Build_Invoke.vi.ProxyCaller >> CDK_Build_Invoke.vi >> CDK_Engine_Main.vi >> IB_MSI.lvclass:Build.vi >> IB_MSI.lvclass:Engine_AddProductsToDistribution.vi >> NI_MDF.lvlib:MDFDistBuildList_Close.vi
    Loading product deployment information
    Loading product deployment information
    *** Error: Improper function call or command line argument. (Error code -30)
    Type 'DefaultFull' of product 'NI Security Update KB5Q5FJ4QW for the LabVIEW Run-Time Engine 8.2' is not found on the source distribution. Insert the correct source distribution or select another product type.
    *** Error Details:
    Error in MDF API function: _MDFDistBuildList_Close
    Error in MDF:istributionBuildList::AddDependentProducts.
    *** End Error Report
    Don't quite know what it means
    For this one
    Type 'DefaultFull' of product 'NI Security Update KB5Q5FJ4QW for the LabVIEW Run-Time Engine 8.2' is not found on the source distribution. Insert the correct source distribution or select another product type.
    I think it means that it's not finding the CD from where to get this install wizard? Is that it? Well it is never prompting me for a media where to find this file... so I'm stumped.
    Any help would be appreciate, I'll reply on the weekend too!
    Thanks!
    Also, I<m trying to craete an installer for a .net application. Anything I need to know in particular for that? i.e. where do I include my .dll file? Does that go in the source files?
    Thanks.
    I've attached the only file in my project that I am trying to install...
    Lol.
    Solved!
    Go to Solution.
    Attachments:
    Encoder Testing.vi ‏68 KB

    Hi, the message "...KB5Q5FJ4QW" basically means knowledge base (KB) 5Q5FJ4QW. You can check it here. In summary, the NI Security Update force all users to be administrators, for security purposes, otherwise their applications won't run. The article states that you have two option:
    1 - Download and install NI Security Update 5Q5FJ4QW from Drivers and Updates to each machine. OR
    2 - After installing the update to a development machine, rebuild an application installer that includes the LabVIEW or LabWindows/CVI Run-Time Engine and run it on each target machine.
    I hope this helps
    Alejandro | Academic Program Engineer | National Instruments

  • Regarding Error handling and customisation in RFC, Idocs and Proxy

    Hi,
    I wanted to compare RFC, Proxy and Idocs on the basis of the amount of customisation required in ECC when sending data from ECC to XI using the above stated means and also the error handling provided in these methods.
    Please let me know in detail if possible.
    Regards,
    Sampada

    Hi ,
    Check this blog to know when to use which adapter:
      /people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems
    we use proxy in sap 6.0 version or higher.
    Basically used for adapter less communication
    & very high volume of data has to be transfered.
    Step for Configuration fo IDOC in R/3
    1) RFC Destination (SM59)
    a) Choose create.
    b) Specify the name of the RFC destination
    c) Select connection type as 3 and save
    d) In the technical settings tab enter the details SAP SID/URL and system number#.
    e) Enter the Gateway host as same details above SID/URL.
    f) Gateway service is 3300+system number#.
    g) In the Logon /Security tab, enter the client user & Password details of Destination system.
    h) Test the connection and remote logon.
    2) Create Port (IDX1)
    a) Select create new button
    b) Enter the port name as SAP+SID (The starting char should be SAP)
    c) Enter the destination client.
    d) Enter the RFC Destination created in SAP R/3 towards other system.
    e) Save
    3) Load Meta Data for IDOC (IDX2)
    a) Create new
    b) IDOC Message Type
    c) Enter port created in IDX1.
    SAP R/3
    1) RFC Destination (SM59)
    a) Choose create.
    b) Specify the name of the RFC destination
    c) Select connection type as 3 and save
    d) In the technical settings tab enter the details SAP SID/URL and system number#.
    e) Enter the Gateway host as same details above SID/URL.
    f) Gateway service is 3300+system number#.
    g) In the Logon /Security tab, enter the client user & Password details of Destination system.
    h) Test the connection and remote logon.
    2) Create Port (We21)
    a) First Select Transactional RFC and then click create button
    b) Enter the destination port name as SAP+SID (The starting char should be SAP)
    c) Enter the destination client.
    d) Enter the RFC Destination created in SAP R/3 towards other system.
    e) Save
    3) Create Partner Profile (WE20)
    a) Create New
    b) Create the Partner no. name as same the logical system name of the destination system.
    c) Select Partner type LS
    d) Enter details for Type: US/USER, Agent, and Lang.
    e) Click on the + button to select the message type.
    f) Select Partner no. and LS which ever create above.
    g) Select Message type
    h) Select Process code related to the Message type.
    I) save.
    In SLD – System Landscape Directory
    TS for R/3 (Logical system):-Assign the client name created in R/3 as Logical system Name.
    Ts for Third Party (Logical system):-
    BS for SAP R/3 (Logical system):- Assign the client name created in R/3 as Logical system Name.
    BS for Third Party (Logical system):-Enter the XI logical system name.
    In Transaction SALE
    Define and Assign the logical system name.
                                                                                    Regards,
                                                                                    Vinod.

  • CIF - error handling and maintance

    Hi sap gures
    please let me know  how to handle CIF errors and how to maintain and support the CIF in the production
    supporting project
    please help me
    Regards
    R.suresh Kumar

    Hi Suresh,
    It is very vital and sensitive to maintain and control cif error
    handling.  You need to monitor very frequently system for
    queue accumulation which leads to lot of errors in system and
    affects performance.  Controlled monitoring and taking quick
    actions will make your life ease.
    Also periodically carry out consistency checks to avoid
    difference of transactional data between systems as per
    recommendations.
    Check the CIF job logs in case of any failures and take
    necessary actions to avoid recurrence
    Regards
    R. Senthil Mareeswaran.

  • Error handling in overridden methods in AbstractPageBean

    Hi,
    I'm writing a small app in JSF. One of the pages populates a bunch of text fields from an XML file whose name is passed into the app as an initialization parameter. The purpose of the page is to allow editing of the fields.
    It seemed that the prerender() method was the right place to initialize the fields in the form. I have an application-scoped bean trying to open the XML file. I don't want the app to barf on initialization if the file doesn't exist, because the application contains the logic to create the file. So it just sets the appropriate forward target ("file does not exist" page, or maybe XML parse error) and lets the pages that use those bean properties decide when and if they need to display the initialization error page.
    I would like to throw an exception from the prerender() method in my page, and have the error handling specified in web.xml. The problem, of course, is that I can't throw my own exception from prerender().
    So, have I got the wrong place to initialize my form, or do I have to throw a javax.faces.FacesException, or have I got this whole error-handling thing wrong?
    Any advice would be gratefully received.
    Many thanks.
    Regards,
    Mike
    public void prerender(){
            // Get ApplicationBean1 to forward the request if we fail to
            // initialize properly.
            ApplicationBean1 ab1 = getApplicationBean1();
            HttpServletRequest req = (HttpServletRequest) this.getFacesContext().
                    getExternalContext().
                    getRequest();
            HttpServletResponse res = (HttpServletResponse) this.getFacesContext().
                    getExternalContext().
                    getResponse();
            if(!ab1.isInitialized()){
                //The initialization code for ApplicationBean1() sets the
                //target when it detects an error and then forwards the
                //request to that target upon invocation of the forwardRequest
                //method
                ab1.forwardRequest(req,res);
            // These are the input components
            tfClonebase.setValue(ab1.getClonebase());
            tfDhcpdconf.setValue(ab1.getDhcpdconf());
            tfNamedrev.setValue(ab1.getNamedrev());
            tfNamedzone.setValue(ab1.getNamedzone());
            tfPxelinux.setValue(ab1.getPxelinux());
            tfXmldir.setValue(ab1.getXmlDir());
        }

    Well, I'm certainly no expert, but prerender() is called, as you might expect, just before rendering takes place (but only if the page will actually be rendered). This means it won't be called for a page that handled a postback but then navigated to a different page. Good place to handle initializations that happen before rendering.
    So my thinking was that I could initialize stuff before there's anything in the response, making it easier to bail out if something goes bad.
    But I really can't work out the right way to bail out: I can't throw my own exception because the prerender() is overridden from AbstractPageBean. So I suppose I could create a MikesBadInitException e and throw it inside a new javax.faces.FacesException(e). But I'd like to specify an error-page in my web.xml for MikesBadInitException, and don't want to handle all javax.faces.FacesExceptions, if you get my drift.

  • Error handling workflow not getting triggered

    Hi all,
    I'm creating a outbound IDoc. And for error handling workflow.. I created a organization structure in PPOME and assigned users. I gave this position number thus created in the partner profile in post processing permitted agent tab.
    But when the Idoc is in error, this is not coming to my inbox.
    Can someone please help me with this.. and let me know what went wrong.
    Thanks in advance.

    Here you need to be careful,
    if the agent assignment is not maintained properly, there may be a chance everyone in the organization will get the item.
    I hope you have created a single workitem for error handling. goto additional data-> agent assignment-> maintain. make sure the attribute is defined as general forwarding allowed. or you maintain the role/position/user/whatever.as the possible agents. still you dont get the result, debugging the default rule in the task ->default rule -> agent.
    hope this helps.
    with regards,
    Sudhahar R

  • About ale error handling in workflow?

    Hi,
    can any one explian in detail ale error handling through workflow,its urgent for me.
    Regards,
    phani

    Hi Srikanth,
    follw the steps it will helpful u,
    Pre-requisites. 
    It is assumed that the reader of this article has some knowledge in SAP workflow BOR objects and ALE Idoc process like process code, Partner Profile etc. 
    Description 
    Here, we will be discussing in details the Error handling of an Inbound Idoc through triggering an event, which in turn will be triggering a workflow attached to the workflow. 
    Steps:-
    1.     Create custom BOR object with the events, Start and Stop event
    2.     Create a workflow for the error handling, like generating a notification whenever an error occurred in the Inbound Idoc.
    3.     Creation of Function Module and attachment with the Process Code
    4.     Create the settings for the Inbound Process of the Idoc through the Process Code.
    Creation of BOR objects. Go to the[http://www.****************/Tutorials/ALE/ErrorHandling/page3.htm] transaction SWO1. 
    Enter a name for the Object type and click ‘CREATE’ button for creating the custom BOR object. 
    Enter the details required for creating the BOR objects... 
    Create the Key fields and events of the BOR object.
    For creating the Key fields place the cursor on the Key fields and Click on the Create Button
    Create events for triggering the workflow and stopping the workflow.
    For creating the event place the cursor on the EVENTS and Click the create button like Key fields.
    Create two events.
    Enter the event name description etc and proceed further to create it. 
    Similarly create another event for ending the Workflow in the similar manner like that created earlier. 
    Now, Generate the BOR object through the generate button
    Release the EVENTS and subsequently release the BOR object. 
    After the creation of BOR object
    Create a workflow for the generation of notification whenever an error is reached in the Inbound Idoc.
    Execute the transaction SWDD. 
    Click on the CREATE button for creating the workflow for error handling. 
    Choose the Step type to be inserted for the notification like here we are using Send Mail option for sending a mail to the user whenever any error occurred.
    Activate the Workflow and test it whether it is working as per the requirement.
    After the successful completion it is required to attach the workflow with the event.
    Go to the Header section (Denoted by CAP).
    Go to the Start Events TAB.        
    Enter the details of the event with which the workflow should be linked like the category, BOR object type and the event with which that should be linked.
    Enter here the BOR object that has been created and give the name of event created for starting the workflow.
    Click on the Binding Button for generating the binding between the event and the workflow.
    Click on the Binding Button for generating the binding between the event and the workflow.
    Generate the binding and click OK button to save the binding.
    Click on Activate / deactivate button for activating the linkage.
    After the successful linkage the following sign will appear on the workflow..... 
    This shows that the workflow has been linked to the event and it will be triggered whenever that particular event will be triggered. 
    After the creation and successful linkage of workflow with the event it is required it is required to generate a function module and attached it to the process code. 
    Go to SE37 transaction and copy a standard process code function module to a custom one. Do no delete any parameters from the function module as the SAP standard program itself is calling this. 
    In that function module do the required validation and whenever the validation fails set a standard parameter ‘WORKFLOW_RESULT’ to 9999 from within the function module, otherwise normally proceed to set the status to 53.
    After the creation of function module it is required to attach it to the process code and corresponding attached to the message type at the Partner Profile stage.
    The process code is being created through the transaction WE42
    Go to the change mode and click the New Entries button for creating new process code. 
    Enter the Process Code Name, description and choose the processing type as Processing by function module. Click on the extension button of Identification.
    The details for the of the Process Code after clicking the identification button will be  
    Whenever idoc arrives into the Destination system then the standard SAP triggers the Process code attached to the Message type in the partner profile. The partner profile is being maintained in the transaction WE20. 
    Since, it is and inbound scenario so the message type and the corresponding process code will be maintained for the Inbound Parameters. 
    Click on Create Inbound Parameters button for creating new Inbound Message type and the corresponding message type. 
    Enter the process code for the corresponding message type. 
    Click SAVE button for saving the changes. 
    Whenever the IDOC arrives into the target system, it checks the partner profile and finds the corresponding process code. The process code is being linked with the function module through which the IDOC is required to be processed.
    Regards,
    Phani.

  • Advanced Error handling

    Hi all,
    I am developing an error handling system for an extensive LabView application, unfortunately I can't  call it's purpose due to confidentiality.
    I just graduated for my university degree in Applied Physics, and therefore I am pretty experienced with LabVIEW (got core 1,2 and 3).
    The used synchonization technique is a queue-operated producer/consumer  handler. The testing set-up consists out of the following hardware:
    - Keithley 2700 multimeter
    - A Stanford SR830 Lock-in
    - PI-Mercury 863 (Z-stage controller, for moving up and down)
    - NI DAQ 6244
    My Question is:
    How can you make sure that you cover most errors with your error handling application? What would be a correct approach to find all possible errors that could occur during a measurement?
    For example: I could disconnect the K2700 and start the application, then a VISA error is most likely to occur. Besides that I could disconnect the power supply of the hardware and start the application and see which error would occur then.
    Is there some general kind of rule of thumb to find the possible errors which could occur in the set-up?
    Thanks for your reply in advance.
    Cheers,
    San
    Solved!
    Go to Solution.

    Aha! Found it: https://decibel.ni.com/content/docs/DOC-20726
    I think that was the presentation that I was trying to find earlier as it gives some information about actual strategies for dealing with errors and reporting them versus just how to wire up error wires and the general error handler.
    As for your reply, you need to think about grouping sections of code and say to yourself "what should happen if an error occurs here?". You will probably end up identifying gating points in your code (e.g. at the end of a case)
    As a couple of examples:
    - During initialisation, if a device fails to initialise, should you retry and if so, how many times before giving up? Should you let the user attempt to reconfigure the device
    - If you're using a queue based architecture and the reference gets destroyed
    You end up having to analyse your code and saying "What if....?" a lot!
    I think the errors boil down to something like the following:
    - Critical application errors: A terminal error caused by a software bug such as accidentally releasing a reference to a main message queue. In this case you have to shut-down the software but you should report or log some information to help you debug the issue remotely!
    - Device errors: Failed to initialise, device not present, lost connection, incorrect configuration - the software can't operate normally but maybe you could keep trying to re-initialise or allow the user to try to change settings rather than exit the application.
    - User errors: User has misconfigured something such as entered an invalid path or selecting an incorrect file (type, format etc.) - in this case you should probably notify the user and let them try again.
    - Known errors: errors that you expect might occur such as creating a folder that already exists - these would usually be ignored or handled in a case structure. Another example of this is errors out of 'close' subVIs in your exit case (the device might never have initialised or may have already shut down)
    You'll never be able to catch every single error (and it's not possible to see all errors a VI might produce and you may want to generate your own errors) but you should try to properly handle (& rectify) errors that are more likely to occur (such as lost connection to a device because someone tripped over a serial cable) and leave the other errors to your general handler.
    You also want to think about the experience for the end user of your software - something that the presentation linked above mentions. Chances are that the average user isn't going to be able to understand LabVIEW error codes and will be disappointed if the software just shuts down on launch because a device is missing. 
    There is no holy grail of error handling/reporting - it's something I'm always reading/learning about and try to apply that as much as I can in my applications!
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • Accessing the original message body in Error handler

    Hello everybody,
    The loanGatewy3 proxy service in the OSB tutorial uses a stage in the request pipeline for validation. If a validation error occurs the error handler reports the original body message using a reporting action.
    Now if an error happens inside the Routing node; and if an error handler is defined to report the original message ($body), the reporting action will report the error message not the original message. It seems that the $body variable contains the erroneous response instead of the original message. So is there a way to access the original request $body inside a node error handler?
    Best regards,
    Tarek

    you can always put the original message into a dummy variable $origMessage, then in the event of an error report on $origMessage not $body
    cheers
    James

  • General Labview Error Handler question discussion

    Recently two functions were brought to my attention, the General Error Handler and the Simple Error handler. 
    And I cannot wrap my hand around these two features.  While I have been using Labview I have always used the Labview error cluster.  When would you use these two features?  As I feel the cluster error is much help. 
    Maybe it is my defnition that I have confused: 
    The general error handler will display a dialogue box describing the error that will be passed and shuts down the code? 
    The simple error handler notifys the operator that an error has occured but it can be customized for adding functionality, it takes the error cluster input and determines if an error was generated.  "If an error has been generated, the VI displays a dialog box with the error code, a brief description of the error, and the location of the error."   How is this not the same as an error cluster?  
    If anyone has any simple code examples for this or knowledge I greatly appriciate it. 
    Caleb

    Jacobson wrote:
    Psireaper9 wrote:
    The simple error handler notifys the operator that an error has occured but it can be customized for adding functionality, it takes the error cluster input and determines if an error was generated.  "If an error has been generated, the VI displays a dialog box with the error code, a brief description of the error, and the location of the error."   How is this not the same as an error cluster?  
    You are correct that they give the same information.  The difference is that if you want to use an error cluster you will need an indicator on your front panel.  If you use the simple error handler you won't have to have an error cluster on your front panel but the user will be notified if an error does occur.
    Think about all the programs you normally use (excel, chrome, etc.).  As a user you expect that errors aren't happening, and if errors do occur then the application will usually just close out and you get an error dialog about the error.
    I use the simple error handler with no user interaction to extract the error text.  Is there an easier way of doing that?

  • I want to go back to the previous 2014.2 version.  .3 is much too buggy and full of error messages. Creating problems as I am on a timeline with my client and I don't have time to fool around with all the problems.

    2014 .3 is much too buggy and full of error messages. Creating problems as I am on a timeline with my client and I don't have time to fool around with all the problems.

    You didn't mention what error(s) you've encountered? A workaround for the most commonly hit problem is here Re: error in Muse : Object UID:U6875 has two (or more) owners: U3633 and U3165
    If you have a copy of your .muse file that has not been saved using 2014.3, you can downgrade by uninstalling Muse and then choose Previous Version in the Filters drop down in the Apps panel of the Creative Cloud desktop app. There will be a popup next to Muse where you can select a prior version to install.

  • Transaction and Error handling in Mediator 11g

    Hi Experts/Gurus/All,
    We have following scenario in Mediators :-
    For Inbound Interfaces :-
    M1-->M2-->M3
    M1 calls M2 and M2 calls M3
    There are 3 mediators, Mediator#1(M1),Mediator#2(M2) and Mediator#3(M3)
    M1 performs a FIle Read and do a ABO-->OAGIS conversion
    M2 performs routing
    M3 performs a OAGIS -->ABO(JDE E1) conversion.
    Now,we are in middle to decide the Fault Handling Mechanism for this case.
    M1 is Asynchronous , M2 is Synchronous and M3 is also Synchronous.
    Question is :
    1. M1 will start a new Transaction,Do M1 will propogate the same transaction to M2 which,as being Synch,propogates the same transaction to M3 ?
    2. How will the commit and Roll back will be taken care of?
    3. What if M1 errors out?
    4. Whatif M2 errors out?
    5. What if M3 errors out?
    In question 3,4 and 5:
    What will happen will the Full Transaction ? If M3 erros out,would the Entire Transaction Propogated by M1 will be roll back?
    Also ,How about Error handling in this case:
    Do I need to create seperate fault-policy.xml and fault-binding.xml for M1,M2 and M3 ?
    Another Scenario is of OUTBOUND interfaces :-
    M1-->M2-->M3
    M1 calls M2 and M2 calls M3
    However , M1,M2 and M3 are all Asynchronous.
    In this scenarios how would I handle following :-
    1. If M2 Errors out,I need the entire Interface which comprises of M1-->M2-->M3 to roll back?
    2. If M3 Errors out,I need the entire Interface which comprises of M1-->M2-->M3 to roll back?
    3. Seperate Transactions means I have to create seperate fault-policy.xml and fault-mapping.xml to handle errors?

    Hi,
    You could create a package, and use the OdiSqlUnload to export the data into a flat file (csv) from snp_check_tab, then amend it. Then create an interface to load the data from the flat file to your tables, either via external tables or SQL Loader.
    Question is, why are you amending data going from source to target? there surely has to be something wrong with the Architecture (especially if you are getting errors in production). If you amend data, so that it is different in source as it is in target, then when it comes to regression testing, this will never match.
    The errors should go be fixed at source, and either you, or the business should have access to do so.
    Cheers
    Bos

  • OSB 10gR3 Error handling and reporting action approach

    My use case:
    Simple Proxy service routes to an external web service created as Business service in OSB
    Whenever there is transport error/soap fault from the external web service, that error needs to be reported along with the original request received by the proxy service.
    What I have tried so far?
    Created a error handler/stage in the route node of my proxy service. Within that stage, added a report action to report $body which contains the error received from the external service. I created a report index key/value to report for this request, I used a specific element in the body of the original request sent to the proxy service.
    Within the route error handling stage, I realized that $body which had my original request to the proxy service lost its content and replaced by the fault from external WS. So I made a copy of $body in my request pipeline and tried to use an element from that copy to index my failed request. But the copied variable always seem to be empty within the error handling stage.
    So, my questions to the experts,
    1)What variables are visible within the error handling stage/scope?
    2)What is the best way(less overhead) to preserve my original request as $body context variable is already changed with fault by the time error handler is invoked? Remember I wanted to report the original request only incase of error, for success cases I don't care/I don't want to un-necessarily add an overhead of copying to a vairbale.
    3)Is there another proper way to simply report the original request received by proxy and fault received from external service for a given key in the request, say orderId
    Sample proxy request:
    <MyData>
    <OrderId>123</OrderId>
    </MyData>

    1)What variables are visible within the error handling stage/scope? $fault - http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/context.html#wp1051816
    $body - http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/context.html#wp1103311
    2)What is the best way(less overhead) to preserve my original request as $body context variable is already changed with fault by the time error handler is invoked? Remember I wanted to report the original request only incase of error, for success cases I don't care/I don't want to un-necessarily add an overhead of copying to a variable.Can you print $body and $fault variables in your error handler?. Are they different ? What I'm suspecting is the back-end webservice is faulting (returning soap-fault and http response =5xx). There is no other way I can think of than copying the contents of $body to a separate variable.
    Thanks
    Manoj

Maybe you are looking for

  • What can I do--5 yr. MacBook Pro will not boot up?

    What can I do get my MacBook Pro to boot up?

  • TS4268 iMessage Error

    When I attempt to use iMessage I'm requested to sign into my Apple ID acct. when I enter my password, I get the following error message "an error occurred during activation. Try again. " this has persisted for 2 days. I have been using iMessage no pr

  • How to register a used iphone 4

    how to register a used i phone 4

  • PNG images on IP Communicator

    I'm having problems getting a PNG image to appear on an IP Communicator. When you try to select the file via the settings button, it doesn't appear and you get a File Not Found Error. Any idea's? Dave

  • Does it cost money to receive video calls

    Hi There, I want to know if it costs money to receive video calls from other skype users? as I have an important call in two days and I need to know if I have to pay to receive a call via skype? I will be using my computer on my home wifi network. Th