OSB Error handling

Hi,
Could you point me to some OSB error handling examples? I am trying to understand how to handle errors at OSB. We are planning to build a number of message flows into OSB and trying to figure out the best way to handle errors.
Thank you

Hi
From the main entry point of a proxy service you can create an error handler (as well as stages, routing nodes etc).
In the Error Handlers you get the BEA error code which is sometimes helpful and sometimes not.
For example, if I have a validate node in my main flow that cause an XML validation error, that is easy recognisable so an 'if then' node will be able to route to the appropriate error handling logic. If the proxy service calls another service which throws a SOAP fault back, things get a little trickier as all you get back from the container is a BEA-380001 error code - basically an 'Internal Server Error'. So to sort this out you need an 'if then' node to trap this error code and then include a nested 'if then' node to look for the real error. The nest if statement condition would look something like "$body/soap-env:Fault/detail/mf:MyFault/mf:MyFaultcode = ERROR_CODE". Notice here, the way to get the actual fault it to use XPath to traverse the actual message returned and not use the $fault variable provided by the container.
I also suggest you create your own Fault type in an xsd so that the OSB always returns a consistent fault format.
In each of the 'if then' condition branches in the error handler I have an assign which creates the SOAP fault using the user defined fault type, a sanitised example of which is shown below.
<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:gn="http://www.mycompany.com/wsdl/path/notification/1.0">
     <soapenv:Fault>
          <faultcode>gn:MyException</faultcode>
          <faultstring/>
          <detail>
          <fault:Fault xmlns:fault="http://www.mycompany.com/schema/fault/1.0">
               <fault:code>10000</fault:code>
               <fault:message>System Returned Error:
                    Details are:
                    Error Code - {fn:string($body/soap-env:Fault/detail/ser:ServiceException/ser:faultCode)}
                    Error Message - {fn:string($body/soap-env:Fault/detail/ser:ServiceException/ser:message)}
               </fault:message>
               <fault:processId>{fn:string($body/ns1:Type/ns2:id)}</fault:processId>
               <fault:shortMessage>system Returned Error</fault:shortMessage>
               <fault:time>{fn:current-dateTime()}</fault:time>               
          </fault:Fault>
          </detail>
     </soapenv:Fault>
</soapenv:Body>
Notice how my fault type is populated in the detail stanza of the overall SOAP fault message.
This XML just gets assigned to body.
the very last thing in the error handler is to add a reply node "with failure" if you wish to return a soap fault or "with success" if you have handled the error and don't need tot return a fault.
Hope this at least points you in the right direction.
Cheers
MAtt

Similar Messages

  • How to use Request header in the OSB error handler

    Hi
    I have a scenario where OSB proxy service accptes the payload and routes to the target service
    and before routing, I'm generating UUId and inserting in to the request header and publishing the request payload along with UUID to another service.
    when the target service is thrown some business fault,i need to publish the fault along with the header(which has UUID).since my target service sends only fault body,header is getting emptied in the error hanlder section.
    How can I use the requestheader in the error handler section. Any help is highly appreciated.
    Thanks,
    N
    Edited by: user13154768 on Sep 23, 2010 3:25 AM
    Edited by: user13154768 on Sep 23, 2010 3:26 AM

    Just assign your request header ($header) to your variable (e.g. $myRequestHeader) and than use this variable in your error handler. Fault response will override your $header but can't override $myRequestHeader.

  • OSB - Error handling, report via service callout?

    I'd like to use Report Action on any error happened in my services. I'd also like to keep only one Report Action to be able to change its configuration later easily if needed.
    As it seems currently, if I add the Report Action to the Error Handler of the service directly, it logs the error code/reason/etc correctly, but if I move the Report Action to a separate service and add a service callout to the Error Handler instead of calling the Report Action directly, I lose the error information (I get the report message but error code/reason/details will be all NULL in the database).
    Am I doing something wrong here? Is that a limitation of the product? Is there any solution to keep the report actions centralized in this case?
    Thanks..

    hi guys,
    thanks for all the suggestions though it's still not working here. Hopefully clarifying the situation:
    a) service -- error handler -- report error
    b) service -- error handler -- service callout -- report error
    a) works, b) does not.
    The syndromes for not working is that the reported message has error code, reason and detail all empty (NULL if I look directly in the database). I suspect the problem is with my service callout in scenario b).
    The service callout originally was made using the following parameters:
    Request document variable: body
    Response document variable: response
    SOAP request header: header
    SOAP response header: rheader
    Reading your suggestions I tried to set the request document variable from 'body' to 'fault', but it did not help either: I get the report message but still no error information in the message.
    How exactly should this service callout look like to properly transfer the error details to the called pipeline?

  • Osb - bind error handler to proxy service

    Hi!
    I have got a proxy service which polls a POP3 server to download emails and process them.
    My question: How could I bind an error handler to proxy service for noticing when the POP3 server is not available?
    So I would like to put an alert when the OSB looses the connection to email server. I tried to put an error handler to top component on message flow but it doesn't work...
    Could anyone help me?
    Thanks!
    Viktor

    For poller transports (email/File/FTP etc) it is not possible to catch errors of transport layer, in your service error handler. Re: OSB - Error Handler in FTP Transport for TransportException
    Thanks
    Manoj
    Edited by: Manoj Neelapu on Jun 28, 2010 3:51 PM

  • How to take control back from service error handler in osb

    I am using osb to send data to multiple services at the same time.since x query is a procedural language if any single operation fails the flow goes to service error handler which calls a BPEL webservice and logs the error in a database but the control doesnt comes back to my code I have tried everything including RESUME,REPLY operations but all in vain similarly i cannot use service callout call to my business service because its not allowing to select my BPEL wsdl operation

    If your statement "the control doesnt comes back to my code" means you expect that your xquery will continue in processing than your expectations are just too high. :-)
    Resume action is supposed to resume the next action in the message flow. It means the action that follows the action which caused an error.

  • Query regarding handling and monitoring of OSB Errors in a specific manner

    Hi,
    I'm using
    - OSB 10gR3 (10.3.1)
    Context
    To give some context, the setup I currently have a proprietory frontend client that is making XML/HTTP requests to OSB
    which in turn is getting info from downstream systems.
    I have no control over the behaviour/logic of the frontend client .. apart from knowing that it has a specific
    request/response format.
    So now to the issue..
    The issue I'm facing is regarding handling of errors. Based on my knowledge of OSB, the error handling of the transaction has been
    built along these lines
    (Within the stage) If an error scenario's occurred, error is being thrown
    (Within the error handler stage) Logging the error (using the 'Log' function .. with severity 'Error')
    (Within the error handler stage) The response payload is being built .. so that the error can be reported to the frontend client
    (Within the error handler stage) I'm doing a 'Reply with Success'
    Now this does give me the expected behavior from the frontend client's perspective (... i.e. it receives the payload and displays whatever error that's occurred)
    However from OSB's perspective, because I have done a 'Reply with success', the OSB Service Health Page ... (screenshot below) does not
    increment the 'Errors' count for the respective proxy service ....
    [OSB Service Health Page|http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/operations/monitoring.html#wp1107685] (Looking at Figure 3-8)
    The only way I could achieve this was to set the error handler stage to 'Reply with Failure' (which would return HTTP 500) ...
    The issue however is that, the proprietory frontend simply sees the incoming HTTP 500 code and doesn't read the return XML payload (containing the error details ..)
    which beats the whole idea of being able to maintain some sort of traceability for the failed transactions.
    So what I'm basically trying to find is .. that when an error occurs
    - Some 'call' to make the during the error handler stage so that it registers as an error in the OSB Service Health Page.. and I can clearly
    see the error count, etc for each of the proxy services
    - After that being able to still use 'Reply with Success' ... so that the payload is being returned with HTTP 500 code...
    so the frontend can read the payload ...
    ............. in essence, the idea being to register errors so that they can be monitored via the Service Health Dashboard ..but at the same time
    being able to return the 'error details' payload successfully
    With my limited (but growing) knowledge of OSB .. I've tried quite a few ways to achieve this with no success...
    Would very much appreciate any help here ...
    Lastly, if there is some way of achieving what I'm trying to get to above through different means, I'm open
    to trying out alternate stuff.
    Regards,
    Himanshu

    Hi Atheek,
    Many thanks for the reply. Does appear to be a pretty neat way of doing it ..
    One more clarification I'd like on this however ....
    Given that I have a set up like this below
    [External frontend client] <------> (1 Parent Service) <------> (2 Child Service)
    (1 Parent Service) .... has error handler .. and all it does is 'Reply with success'
    (2 Child Service) .... has error handler for particular stage
    so...
    2 Child Service - is doing the actual work (has error handler where custom error msg is being populated in $body)
    1 Parent Service - is the one that is getting called by the external client (has error handler .. and all it does is 'Reply with success')
    What I currently have is ..once the error occurs, I'm populating $body ... with the custom error message within the error handler
    Previously I had 'Reply with Success' in the 2 Child Service's error handler and the custom error message would get returned to the external client.
    Now, with the error handler only creating the custom error msg.... and 1 Parent service doing the 'Reply with Success' .. it doesn't appear
    to return the $body .. with the custom msg that I'd populated .. in 2 Child Service's error handler.
    Are the $body contents populated in 2 Child Service's error handler lost ...once the error propagates up to 1 Parent service's error handler ?
    If yes... is there way of getting around it ? I could see for instance that the $fault message context has a 'user populated' Details variable
    but the documentation covering this is sparse.
    Regards,

  • 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 in OSB

    Hi,
    In OSB how to catch all different errors and send them to specific
    For ex:
    1.if i get a "file not found" error, i need to send an email notification
    2.if i get an arithmetic error , i need to send it to database
    like any other errors...
    Can we handle all those errors in a single error handler and send them to specific targets
    let me know any questions

    basically what is did is create a generic proxy service which will contain all the logic to handle your faults.
    so in your case you could create a soap or xml proxy service (let's name it ErrorHospital).
    the input of this proxy service needs to contain all the data you need to decide what to do with a certain error.
    for now let's make the interface something like
    <errorMetadata>
    <error>{$fault}</error>
    <payload>{$body}</payload>
    </errorMetadata>you could just add me metadata from the proces which is failing ofcourse, it's up to you to decide what data you need.
    now in for example the EmployeeService something fails.
    In the EmployeeService you add a service error handler, and for the start in this service error handler we will only do a publish to our new 'ErrorHospital'.
    Create the <errorMetadata> element in here and do the publish.
    At this stage we have all the metadata available in our ErrorHospital proxy service, so we can execute all the logic needed for any specifica error.
    In the ErrorHospital proxyservice you could add something like
    if $body/errorMetadata/error/faultCode = 'MAIL-001' then send mail (by use of a mail transport business service (this expression won't work, but just to show what's possible)
    in my blog i used a ErrorRepository in which i configure what actions to execute based on the errorCode
    so you could add MAIL-001 in this repository and define something like
    log_YN = Y
    mail_YN = Y
    report_YN =N
    the generic logic in your errorHospital proxy service will contain a list of
    if - then - else combinations to decide if it should mail, or if it should log or if it should report
    and this will work on every errorCode you define in the ErrorRepository.
    It's a solution we use at my current customer too and works pretty nice, and the administrators can update the ErrorRepository file from the console on production if they decide on a certain moment that they need logging on some errorCode for example
    hope it's a bit clear like this

  • Report and Alert don't executed in the error handler with a JMS proxy service

    Hi,
    I'm working with OSB 11.1.1.4.0 and I'm facing a problem with the error handler of my JMS proxy service.
    My error handler contains two main elements :
    - a Report action
    - an Alert with a JMS destination defined
    When the business service failed the message remain in the queue. It's the expected behavior.
    The problem is :
    - the report is missing
    - the alert is raised but missing in the JMS destination defined in the Alert setting.
    I've noticed if I add a Reply with Failure or Success, Report and Alert are successfully executed.
    Unfortunately the message don't remain in the JMS queue.
    What can I do in order to have my report/alert done and the JMS transaction rollback in order to keep the message in the queue ?
    I've already met this problem in the past with alsb v3 and my solution was to add Service Callout in the error handler in order to externalize these actions.
    This solution is not convenient and I hope another solution is possible.

    Inventorying workgroups can be difficult, especially when it comes to remote access and network security. Because workgroups are not centrally managed, some of the items discussed in this
    wiki article on preparing your workgroup environment may require you to visit each machine individually.
    For non-domain credentials, you do not use the <systemname>\<user> format, you simply enter the user name. Regarding how to enter the credentials, if you have an account that uses the same username and password on all machines and is an administrator
    on all of those machines, then you can enter that in the All computers credentials page of the wizard. You can also do this if they are different user names. However, if some machines have an account with the same user name, such as Administrator,
    but different passwords on each machine, you will need to use the Manually enter computer names discovery method, and then enter the information for each group or each machine.
    As you can tell, workgroup environments can quickly negate any benefit that the agentless inventory nature of MAP provides.
    Please remember to click "Mark as Answer" on the post that helps you, and to click
    "Unmark as Answer" if a marked post does not actually answer your question. Please
    VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

  • Error Handling in OS 10gR3: How To's, Approaches, best practices

    I am trying to do error rhandling within OSB 10gR3 and looking for some guidance as to best practices and how to carry out the error handling based on my use-case as -
    Consumers ---> GenericProxyExt(WSDL based) ---> GenericProxyInt(Any SOAP) ---> Proxy (Any XML) ---> Business Service --------------> Target Service
    Since target web service will pass error in the SOAP:fault, where in the OSB should this error be handled? Also, how can I pass the custom error messages (instead of the one returned from the target service). Do I have to write error handlers in each of the proxy services?
    Any insight, sample code, approaches will be helpful
    Thanks,
    -J

    user2629959 wrote:
    I am trying to do error rhandling within OSB 10gR3 and looking for some guidance as to best practices and how to carry out the error handling based on my use-case as - Some customer has documented related info www.insemble.com/CustomExceptionHandlingwithOracleServiceBus.pdf
    >
    Consumers ---> GenericProxyExt(WSDL based) ---> GenericProxyInt(Any SOAP) ---> Proxy (Any XML) ---> Business Service --------------> Target Service
    Since target web service will pass error in the SOAP:fault, where in the OSB should this error be handled? Also, how can I pass the custom error messages (instead of the one returned from the target service). Do I have to write error handlers in each of the proxy services?Not sure if I understood your point of using that many proxies for invoking a Target Service.
    Since BS throws soap fault, and the last Proxy is AnyXML. You need to do bit of manipulations. First of all for AnyXML services, you have to manually copy $fault into $body. Reason behind this step, is For Any XML there is no concept of $fault being returned and reply with failure. Subsequent proxies will receive the $fault as originated in Target Service. If we want to control the $fault received by the consumers, we have to use error handlers and populate $fault accordingly.
    >
    Any insight, sample code, approaches will be helpful
    Thanks,
    -J

  • How to create a generic error handling proxy?

    Hello,
    i have few services proxies.
    I want to create a generic error handling osb proxy which does only errorhandling.
    This proxy would be called by all my services.Now suppose my services proxies would throw any error,the control will pass to error handling block of proxy..from there i will call this generic errorhandling proxyusing a service callout or publish action.In this proxy i want to do all my error handling based on 'n' conditions.and i want to pass the message to the fault variable of services proxy..kindly suggest ways..*main challenge is passing the message to the fault variable of services proxy*

    Hi,
    For generic error handling framework or common error handling framework...create a bpel process which takes the error details payload and sends the inf/data as email to the particular receipients.
    create business process with bpel process and proxy using business service.so wen ever error occurs at stage or route or proxy level ..call error handler action in OSB.Assign error handler details to the bpel input payload.
    FOR EX:
    <soap-env:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <com:test>
    <com:ProcessInfo>testDetails</com:ProcessInfo>
    <com:BusinessProcessName>testprocess</com:BusinessProcessName>
    <com:BusinessProcessInstanceId>{fn-bea:uuid()}</com:BusinessProcessInstanceId>
    <com:BusinessProcessStep>ReqLayer</com:BusinessProcessStep>
    <com:ErrorCode>{string($fault/ctx:errorCode)}</com:ErrorCode>
    <com:ErrorType>Technical</com:ErrorType>
    <com:StatusCode>Error</com:StatusCode>
    <com:ImplementationCode>OSB</com:ImplementationCode>
    <com:ErrorDescription>{string($fault/ctx:reason)}</com:ErrorDescription>
    <com:ErrorDateTime>{fn:current-dateTime()}</com:ErrorDateTime>
    <com:Node>{string($fault/ctx:location/ctx:node)}</com:Node>
    <com:Path>{string($fault/ctx:location/ctx:path)}</com:Path>
    </com:test>
    </soap-env:Body>
    this assign the error details values to the bpel process.

  • Using AIA for Error Handling. Logging and Notification Services

    hi,
    In our project we usie OSB and BPEL for integrating different applications.
    There is a suggestion that we should use AIA to just use the Error Handling, Logging and Notification services from AIA. I am not sure about this use case, as most of these services mentioned can be replicated in BPEL. Except for the AIAAsyncExceptionHandling BPEL process, i guess all other functionalties provided by AIA can be easily developed in BPEL or OSB alone.
    However, would like to hear from you guys about this particular use case. Is it advisable?

    Hi,
    It's an issue with 10.1.3.4 OBIEE. (whem using IBM LDAP)
    References
    BUG:7363517 - INTERNAL BI FAILURE ON STARTUP
    They issue can be resolved by setting LD_PRELOAD=/path/libibmldap.so
    Here are the steps:
    . sa-init.sh
    export LD_PRELOAD=/path/libibmldap.so

  • Can error handling framework use fault policies and BPEL catch blocks

    As part of an integrated customer solution that makes substantial use of SOA Suite (including OSB, BPEL, Mediator, etc) we are in the process of designing an “Error Hospital” subsystem to expose a web service API specifically for BPEL services and/or the OSB layer to call whenever they encounter an exception which they cannot handle so that the appropriate user is notified of the error (via email) and the error is recorded (in an appropriate common fault format, with error codes elaborated into more meaningful descriptions, etc) within OEM, immediately prior to returning the exception to the caller.
    The problem we have experienced in our design is as follows:
    •     We have an error handling service to be called, inside the BPEL catch blocks, when an error occurs to notify the appropriate user, via email, that an error has occurred;
    •     We also use the error handling XML fault-policies so that we can recover from an error using OEM (via human intervention);
    •     The error service needs to be called before the process is suspended (waiting for human intervention) so the email notification and error message formatting occurs BEFORE the recovery action. Unfortunately the fault policies trigger BEFORE the error handler is able to transform the error into the appropriate format and notify the user so the error recorded is not the reformatted one and the user is never notified.
    The key question is how can a BPEL, upon catching an exception, invoke the error handling service and AFTER that send the error to OEM (and have the process suspended).
    It seems the two mechanisms "cannot play nicely together"

    As part of an integrated customer solution that makes substantial use of SOA Suite (including OSB, BPEL, Mediator, etc) we are in the process of designing an “Error Hospital” subsystem to expose a web service API specifically for BPEL services and/or the OSB layer to call whenever they encounter an exception which they cannot handle so that the appropriate user is notified of the error (via email) and the error is recorded (in an appropriate common fault format, with error codes elaborated into more meaningful descriptions, etc) within OEM, immediately prior to returning the exception to the caller.
    The problem we have experienced in our design is as follows:
    •     We have an error handling service to be called, inside the BPEL catch blocks, when an error occurs to notify the appropriate user, via email, that an error has occurred;
    •     We also use the error handling XML fault-policies so that we can recover from an error using OEM (via human intervention);
    •     The error service needs to be called before the process is suspended (waiting for human intervention) so the email notification and error message formatting occurs BEFORE the recovery action. Unfortunately the fault policies trigger BEFORE the error handler is able to transform the error into the appropriate format and notify the user so the error recorded is not the reformatted one and the user is never notified.
    The key question is how can a BPEL, upon catching an exception, invoke the error handling service and AFTER that send the error to OEM (and have the process suspended).
    It seems the two mechanisms "cannot play nicely together"

  • 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

  • Conditional  Error handling

    This is my use case
    My proxy will call a business service which will call the DB and execute a SP . The SP will return 1-* rows. Assume the rows have 10 columns. The 10th column is the status. even if there is some functional error the SP will return 1 row with the 10th columns populated.
    This is the possible values of the 10th column (Status)
    OK, E1, E2,E3, D
    OK - Output is ok . I will transform the output and call another BS to insert into another DB
    D- Discard . just skip the message flow . no need to insert into the DB.
    E1 ,E2- Retry 2 more time with an interval of 1 min. but I need to log the original body
    E3 - Retry 2 more time with an interval of 1 min. but I do not need to log.
    I have created 2 proxies and 2 BS.
    P1 -> P2 - > BS1. For the service callout of P2 from P1 I have set the routing option for Retrycount = 2 , retyinterval=60 secs.
    P2 will call BS1 and check the output Row1 and column 10 index and based on that it will do the following. For E1,E2,E3 it will raise Error with Error code E0001, E0002, E0003 . For D and OK it changes the body accordingly.
    In P1, I put and if condition to validate the return of P2. For OK I call BS2, For D I call the Skip action
    For E1,E2 and E3 they get trapped in the Stage error of P1.
    Everything works fine till here, but how do I identify in stage1 error handler if the error is caused by E0001 or E0002 or E0003 so I can log the original body and log the cause of the error is E0001 or E0002 ???
    regards

    This is the $fault output
    <con:fault      xmlns:con="http://www.bea.com/wli/sb/context">
         <con:errorCode>BEA-382502</con:errorCode>
         <con:reason>
         OSB Service Callout action received an error response
         </con:reason>
         <con:details>
         <con1:ErrorResponseDetail      xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config"/>
         </con:details>
         <con:location>
         <con:node>PipelinePairNode1</con:node>
         <con:pipeline>PipelinePairNode1_request</con:pipeline>
         <con:stage>stage1</con:stage>
         <con:path>request-pipeline</con:path>
         </con:location>
         </con:fault>
    It does not give me the Error code which is raised in my service callout proxy.
    Let me try and simply my scenario.
    Proxy 1 calls Proxy2 by service callout . Proxy 2 based on certain error condition will raise error code like E0001 , E0002 etc..
    In Proxy 1 Error handler, I want to find out if the error is caused because of E0001 or E0002. How can I achieve this ?. I have posted Proxy 1 $fault variable which outputs a generic error message.

Maybe you are looking for