Error Handling and alert for HTTP 401

Hi Experts,
We have an asynchronous ECC (Proxy) -> File via local processing. 1 of the outbound proxy message encountered 401 HTTP_RESP_STATUS_CODE_NOT_OK error and didn't reach PI. We have used exception class CX_AI_SYSTEM_FAULT in our program but the error was not caught.
1. Can we really catch this error via exception class CX_AI_SYSTEM_FAULT?
2. If not, how can we catch this error and also notify/alert us when such error occurred in ECC when sending the proxy message to PI?
3. Outbound proxy errors can only be handled in ECC itself and not in PI?
Has anyone done this before? Appreciate your inputs regarding this matter.
Thank you so much!
Mark

Hi,
We've just used Acknowledgements for Asynchronous in our client proxy to capture system errors in ECC such as this. http://help.sap.com/saphelp_nw70/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
Regards,
Mark

Similar Messages

  • BPM for error handling and acknowledgements

    Hi,
    Can any one tell me how to handle BPM for error handling and acknowledgements in one scenario.
    Please send me the link if you have other wise give me the solution on the same.
    Thanks,
    Nagesh

    Hi !
    Just check out these links This might help you.
    Usually Application Level Acknowledgement is considered during Sync communication. If you are using RFC, you can make use of Sync communication. So you can handle it without bpm, provided your both sender and receiver are sync interfaces.
    To know about Ack-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
    you can not dirrectly access the content of the ACK, however the BPM shows different behaviours based on the ACK status. E.g. if the ACK contains a success message the BPM will continue in its normal process, if the ACK contains a permanent error, it will either stop or go through an exception branch (provided such a branch has been defined). Have a look at the documentation: http://help.sap.com/saphelp_nw04/helpdata/en/43/65ce41ae343e2be10000000a1553f6/content.htm It doesnt"t state the above mentioned behaviour in detail but says that you need to define an exception branch.
    The trickiest part is always to find out, when you will get a transient vs. as permanent error ack. If you are using ACKs with Proxies refer also to this link http://help.sap.com/saphelp_nw04/helpdata/en/29/345d3b7c32a527e10000000a114084/content.htm and this http://help.sap.com/saphelp_nw04/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/29/345d3b7c32a527e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/94553b4d53273de10000000a114084/content.htm
    <b>The following link has entire configuration of Receiver XI Adapter (including acknowledgements)</b>
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/0a1640a991c742e10000000a1550b0/content.htm
           <b>   eror handling in BPM.  
    </b>
    1. CCMS monitoring
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/42fb24ff-0a01-0010-d48d-ed27a70205a8
    2. BPM Monitoring
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    3. Monitoring XML Messages http://help.sap.com/saphelp_nw04/helpdata/en/41/b715045ffc11d5b3ea0050da403d6a/frameset.htm
    /people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically
    monitoring BPm https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    Reconciliation of Messages in BPM - /people/krishna.moorthyp/blog/2006/04/08/reconciliation-of-messages-in-bpm
    Also see the below BPM related links
    check list for BPM https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    http://help.sap.com/saphelp_nw04/helpdata/en/3c/831620a4f1044dba38b370f77835cc/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/62/dcef46dae42142911c8f14ca7a7c39/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/de/766840bf0cbf49e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cb/15163ff8519a06e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
    Many other examples can be found under the following link at help.sap.com
    http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
    And some weblogs
    https://weblogs.sdn.sap.com/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    /people/siva.maranani/blog/2005/05/22/schedule-your-bpm *****
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/michal.krawczyk2/blog/2005/09/04/xi-do-you-realy-enjoy-clicking-and-waiting-while-tracing-bpm-steps *****
    /people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements *****
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    /people/kannan.kailas/blog/2005/12/07/posting-multiple-idocs-with-acknowledgement
    Also have a look at these seminars,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
    Thanks !!!
    Regards
    Abhishek Agrahari
    Questions are welcome here!!
    <b>Also mark helpful answers by rewarding points</b>

  • Request for info on fatal error handling and High-Precision Timing in J2SE

    Hi
    Could anyone please provide me some information or some useful links on fatal error handling and High-Precision Timing Support in J2SE 5.0.
    Thanks

    Look at System.nanoTime

  • ADF Mobile Error handling and redirect

    I'm stuck on how to handle errors within my ADF Mobile application. My application consumes a number of web services and we have found we often get error messages when phone connections switch from wifi to 3g or lose connection altogether. These are errors such as SSL handshake failure, HTTP500 errors, and also errors where it can't display the binding eh "Unable to get value for the property due to invalid binding iterator" because a WS call has failed. From the little information I can find - and none of it specific to ADF Mobile, I think I need to write an error handler class which I set against ErrorHandlerClass in databinding.cpx - if that correct? Am I able to catch these errors using that method and if so has anyone got any examples at all. Ideally what I'd like to do when I've caught those errors is redirect to another page (showing something like facebooks app does when it loses a connection and says tap to try again), does anyone have any suggestions or examples?
    thanks
    lynsey

    A sample for ADF Mobile Error Handling.
    SDA013
    Error Handling in ADF Mobile
    https://java.net/projects/smuenchadf/pages/ADFMobile#SDA013

  • 'Structured' error handling and reentrancy

    The parentheses in the subject are due to the fact that I'm not using the Structured Error Handler reference library, but have rolled my own to do something similar but in the manner I want it to. I don't actually use the SEH (haven't even got it installed at the moment on this PC) so am not sure exactly how it works under the hood.
    I have a reasonably large application with a number of distinct parallel modules (GUI, state module, communication, motion control). The final parallel module is an error handling module. This consists of two queues - one for incoming errors, and one for outgoing actions. Errors are dequeued and their codes checked for their category (critical, warning, ignore or unclassified, for instance) and the appropriate category is returned to a local error handler via the action queue. When an error is passed to a local error handler VI, it enqueues the error to the main handler and waits for a response to that particular error.
    This all works nicely, in much the same way the SEH would do. However, with either the SEH or my local error handler method, I find myself wondering how often to place these down and the consequences of doing so. If they're non-reentrant, I imagine I may end up with lots of parallel processes sitting patiently to access the VI as it's blocked by another, causing jitter. If I go pre-allocated clone, I could potentially have many many callers using this function, which strikes me as a bit of a waste of resources. My gut feel is to go with shared-allocation clones, as the vast majority of the time it'll be no error passed through an empty case, and not to place them in absolutely every subVI - just perhaps after a state executes in the state handler, in all the parallel loops of the submodules etc.
    Just wondering what anyone else does with their error handling solution, and whether my thoughts make sense.
    CLD

    Having chatted to my friendly neighbourhood Spiderman Architect, he suggested I should probably just stop being a wimp and just use pre-allocated clones to avoid the jitter and to stop worrying about the resource hit, as you suggest
    I'll use the same code on both PC host and RT host, hence the jitter concerns on the RT.
    Thanks for the thoughts!
    CLD

  • ESB error handling and notification features

    Hello everyone,
    I am newbie to oracle SOA ESB. I am an oracle apps guy.
    This being my first post to this forum, I have a lot of questions. :-)
    For a small intergration requirement, we are looking for a good integration tool
    Some requirements are:
    1) Flat files will be generated by concurrent programs on oracle apps which need to be transferred to legacy systems.
    2) Pick the data from apps tables and insert them into another database. Not much translation required.
    After some research, found ESB to be a good fit.
    Before actually start using it, we wanted to do a couple of POCs.
    So far we are using shell scripts for ftp process. We opted for an integration tool to have DB to DB transmission. Apart from this we need better error handling and error notification mechanism.
    Some error conditions:
    1) Unavailability of ftp server or Database server.
    2) Permission issues. Say some files may not have read, write, deletion permissions. They need to be caught and notified.
    3) Mandatory field missing while inserting data which is read from a flat file into a DB table etc..
    My initial thoughts on error handling are:
    Connection error: To retry for connection errors. If the retry fails send notification via email and also write the failed connection details into an error log file(apart from the server log file).
    Data mismatch: NOtification to be sent with the error details.
    I would like to know What happens to the file if the destination ftp server is unavailable while ESB is trying to FTP the file. Will ESB retain the file with itself and FTP the file once the ftp server is up?
    In BPEL I could see try catch blocks which can be used to handle the errors and thus send notifications.
    ESB documents introduced terms like error hospital related to error handling but I was not able to figure out a way of implementing them. As I am not well versed with XML and WSDL I am probably unable to use the fault tab which is in the routing service. I feel Oracle could have given some samples that explain about ESB error handling.
    Also to my dismay, adapter docs say that there is a limitation of 7MB size for ftping. Although our file sizes often fall below this size, I would want to know if there is any workaround to over come this size constraint.
    I think I put a lot of stuff in a single post and may be in the most haphazard way. Please bear with me.
    Please suggest me of some documents if any related to my questions.
    Would be really great if you can give me a straight forward solution to all the above problems
    Hope this forum would be a great help to me.
    Cheers,
    Robert.

    I have worked on a few SOA Apps implementations. Some successful and some not so. It really comes down to the type of integrations.
    But I would say the majority of your integration will be batch as this is what eBus is all about. If this is the case then I would recommend Oracle Data Integrator. If you go Oracle Data Integrator Suite it includes Service Bus and BPEL. ODI has an eBusiness Suite adapter as well.
    The good thing about ODI is that you can use it for data conversion, that conversion can then be reused once live, so the conversion is not throw away.
    In SOA 10.1.3.4 the limit of 7MB has been resolved but you must be using the file / FTP adapter for input and out, from the sounds of it you want to call concurrent programs so this probably wouldn't work.
    cheers
    James

  • Messages from PI are successful , but not shown in AIF error handling and monditoring

    Dear All,
    We have messages being triggered from PI to proxy and to AIF.
    Messages status is shown as successful in sxmb_moni transaction but I don't get to see these in /AIF/err - error handling and monitoring transaction.
    WHat could be the possible reason? would there be any missing authorization.
    Note: this is working in Development but having this issue in test environment.
    Thanks and Regards,
    Archana

    Hi Archana,
    About ERR_WEB, probably run an old version, but this won't help you either, I think.
    Another tip is to look in PI:
    Is your service synchronous? For synchronous messages PI only persists the message in PI's message store if the abap proxy returns an error, such as a SOAP Fault. If your abap proxy is not returning an error, then make sure it does. You can raise an application error in AIF.
    If PI already receives a SOAP fault, then I suggest you to check if the message was stored in PI: see SAP note 872388 to guide you on this task.

  • How set  UserName and Password for HTTP Basic Authentication for a servlet

    Hi..
    How set UserName and Password for HTTP Basic Authentication for a servlet in JBoss server?
    Using Tomcat i can do it .(By setting roles in web.xml, and user credintails in tomcat-user.xml).
    But i dont know how do it in JBOSS..
    I am using Netbeans and Eclipse IDEs.. Can we do it by using them also!?
    Thank u

    Hi Raj,
    You can do this by creating a Login screen for the users and check the authentication of each user in PAI i.e. PROCESS AFTER INPUT.
    Store the user information in a database table and check the username and password when the user enters it.
    You can display password as *** also. For this double click on input box designed for password and goto Display tab. Select Invisible in the list and check it.
      CASE sy-ucomm.
        WHEN 'BACK'.
          LEAVE PROGRAM.
        WHEN <fcode for submit>.
          SELECT SINGLE uname pwd
           FROM <DB table>
           INTO (user, pass)
           WHERE username = user AND
                   password = passwd.
          IF sy-subrc = 0.
    <Go to next screen for further processing>
          ELSE.
    <Display Error message and exit>
          ENDIF.
      ENDCASE.
    Regards,
    Amit
    Message was edited by:
            Amit Kumar

  • Multiple HTTP Servers, 1 for HTTP and other for HTTPS

    I am trying to install 9ias 1.0.2.2.2 on 2 machines both running solaris. 1st machine hosts the database (8.1.7.4) and the other hosts the App server (9ias), what i am tryin to achive is have 2 listeneres. One for HTTP traffic and other for HTTPS traffic. Have anyone configured this and could shed some light and enlighten me.
    With all the notes i have read i have understood that i need to basically install 2 instance of Apache in 2 different Oracle Homes. but my question is how can i just have one portal repository. or rather i should say if somebody could guide me from installing the 2 instance of Apache.
    Thanks
    Mir

    You left out Twixl.
    Bob

  • Oracle Error Code and Message for Query Timeout

    Hi,
    I need to catch the oracle error code and message for query timeout.
    I am using Oracle 9i and could not find any relevant error code/message
    for query timeout in Oracle Error Messages.
    If anyone has encountered such error messages, please let me know the
    Oracle Code or Error message.
    Thanks & Regards,
    Kanjana

    Fly is correct in that Oracle will normally let a query run forever in the absense of a user profile or dbms_resource setting that limits a users (query) resouce usage.
    The errors returned for these condition would probably vary but errors ORA-02092 "exceeded session limit on CPU usage, you are being logged off" and ORA-02093 "exceeded call limit on CPU usage" might be of interest.
    But for distributed queries Oracle does impose a time limit. See Oracle error ORA-02049 "timeout: distributed transaction waiting for lock"
    HTH -- Mark D Powell --

  • Error handling return code for Provide Statement

    Hi Experts,
    For select statement we have error handling return code sy-subrc.
    What is the error handling return code for provide.. end provide statement.
    Thanks,
    Ragu

    Ragu,
    Same thing.
    Check sy-subrc.
    sy-subrc is the return code for all ABAP statements as far as I know.
    Regards,
    Dilek

  • Error Handling in Mediation for sequential Invocation in Routing rules

    Hi all,
    I have a situation File Adapter->Mediator->BPEL Process 1->BPEL Process 2.When an error occurs in BPEL Process 1 a soap fault is returned to the mediator service.
    Now since the mediator service invokes BPEL process 1 synchronously hence the fault policy is by-passed and the error is returned to the file adapter(the caller).
    I have configured rejection handling in the fault-policy file as below -
    _+<faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:pollFlatFiles">+_
    _+<condition>+_
    _+<action ref="ora-ws"/>+_
    _+</condition>+_
    _+</faultName>+_
    _+<service faultPolicy="RejectionMessageHandlerPolicy">+_
    _+<name>pollFlatFiles</name>+_
    _+</service>+_
    The following scenario occurs when trying to test the error handling -
    1.First when the error occurs in BPEL processes 'oracle.fabric.common.BusinessFaultException' is thrown at the composite level and no message is rejected by the file adapter.
    2.Immediately when the errors occurs for a second time the messages gets rejected and my rejection handler is called since the following exception is thrown from the file adapter -
    The adapter has exceeded maximum configured retries. The adapter was unable to process "{0}" after having retried for {1} times, now the adapter will reject the message. This exception usually comes due to errors in downstream systems. Please increase the value for "jca.retry.maxRetries" in composite.xml for the inbound service and redeploy.
    I have tried increasing the retry count also in composite.xml but the same sequence occurs i.e-
    First time business exception.
    Next time message rejection.
    Any idea how the error can be properly handled in synchronous invocation to avoid this situation so that the messages always get rejected?
    I am using SOA Suite 11.1.1.2.0 version.
    Thanks and Regards,
    Mandrita.

    Hi samay,
    In the transfer rules, if returncode is not 0, the upload stop,so..
    Actually I delete the "wrong" data in the start routine of the transfer rules

  • Problems in Query, error handling and sqlj

    I need some clarifications:
    1. Can I use where clause in Insert query: for e.g: Insert into table_name (.., ...) values (.., ..) where id not in (Select Id from table_2 where name = '');
    2. Can I handle error in my query in sqlj file. For e.g unique constraint violated error, I want to handle it like try-catch block in Java. So that if there would be any such error it will ignore.
    3. I want to do this both in the sqlj file. Is it possible?
    If anyone can answer it would be a great help for me.

    more appropriate forums :
    PL/SQL
    JDeveloper and ADF
    SQL-Syntax and much more :
    http://tahiti.oracle.com/
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/toc.htm
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9014.htm#i2163698
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9014.htm#i2079995
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9014.htm#i2145081

  • 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

  • Error Handling and Freeing-up Memory

    I'm trying to write my java programs as responsibly as possible. When an exception is caught and sent to my catch block, in order to properly free up memory do I need to set all objects (created prior to the error occurance in the try block) to null or does Java do this for me at the termination of the routine or thread? I used to do this in VB within my error handlers. For example, in VB, if I had created an XYZ object and an error occured later on, before I was done using object XYZ, as part of my error handler I would "Set XYZ = Nothing". Is something similar needed in Java?

    Well it is always good to do a clean up routine you can do this by makeing a method that will set things to null and such and you also can use finally after the exception handler has exit and close streams and such in the finally {} catch also you can forcing finalization and carbage collection
    here is a link for that
    http://java.sun.com/docs/books/tutorial/essential/system/garbage.html
    but I thank it is alway good programming practice to clean up after your self
    ps I hope this helps

Maybe you are looking for