SlideShare a Scribd company logo
1 of 15
OSB Exception Handling & Logging 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
Joey Wong 
Solution Architect 
Oracle Sydney
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
Exceptions
Exception Handlers 
Four types of error handlers: 
• Stage 
• Pipeline 
• Route 
• Service 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Guidelines 
• Easier to handle specific errors at lowest 
level. 
• Handle more general default processing of 
errors using higher level error handlers. 
• Good practice to explicitly handle 
anticipated errors in pipeline. 
• Allow service-level handler to manage 
unanticipated errors. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Stage Error Handler 
• Use dedicated stage for each specific part 
of the message flow. 
• Allows very specific types of errors to be 
caught. 
• Enables greater level of control over error 
processing. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Pipeline Error Handler 
• Sites above the stage error handlers. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
• Exceptions re-thrown in a stage error 
handler will be propagated to the pipeline 
error handler. 
• Request pipeline error handler is typically 
the result of malformed incoming request 
messages of bug in the request path.
Route Error Handler 
• Most errors seen by OSB happen here. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
• Error handler is responsible for putting 
the fault message back into the SOAP 
body and forwarding the fault to the 
response message flow. 
• Error message should be logged/alerted.
Service Error Handler 
• Always account for unanticipated errors. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
• Enables unhandled exceptions at the 
stage, pipeline or route level to be caught 
and handled. 
• Should be used for unanticipated errors. 
• Bad practice to use this error handler to 
process all errors.
Common Error Handler 
• Depending on the type of exceptions that can be caught, you may find error handling 
code is duplicated. 
• May be more efficient to write a common error handling service. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Error Behavior 
• Errors are handled differently depending on how the service is called. 
• Do you want to roll the transaction back for an asynchronous proxy? 
• Do you want to send a fault back in response for a synchronous proxy? 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Synchronous Errors 
• Synchronous transports like HTTP must 
contain “Reply - With Failure” action. 
• This send the fault back in the response to 
the consumer. 
• Message flow terminates, no additional 
actions or error handlers will be executed. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Asynchronous Errors 
• Asynchronous transports like JMS must 
contain “Raise Error” action. 
• Similar to a rethrow in Java, causing the 
transaction to be rolled back. 
• Raise Error action will be caught by a 
higher level error handler. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
Logging
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
Logging Types 
• Log 
• Alerts 
• Report 
<Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> 
<[PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] 
Text contents are: This is the file a.txt END> 
<Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> 
<[PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] 
File name is: ftp_in/a.txt> 
<Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> 
<[PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] 
Text contents are: This is the file b.txt END> 
<Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> 
< [PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] 
File name is: ftp_in/b.txt>
Guidelines 
• Establish logging requirements before starting development. 
• Logging usually doesn’t need to include the entire body of the payload. 
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 
• Set appropriate logging levels. 
• Error handlers should log at level “Error”. 
• Dedicated OSB log file. 
• Reporting action is heavy on resources. Use sparingly for Audit purposes.

More Related Content

What's hot

Using Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC IssuesUsing Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC IssuesAnil Nair
 
Con8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2contentCon8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2contentAnil Nair
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesMichel Schildmeijer
 
3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle CloudSimon Haslam
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceAnil Nair
 
Step by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment modelStep by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment modelAnil Nair
 
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on ExadataAnil Nair
 
TFA Collector - what can one do with it
TFA Collector - what can one do with it TFA Collector - what can one do with it
TFA Collector - what can one do with it Sandesh Rao
 
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair   ssNew availability features in oracle rac 12c release 2 anair   ss
New availability features in oracle rac 12c release 2 anair ssAnil Nair
 
Aioug ha day oct2015 goldengate- High Availability Day 2015
Aioug ha day oct2015 goldengate- High Availability Day 2015Aioug ha day oct2015 goldengate- High Availability Day 2015
Aioug ha day oct2015 goldengate- High Availability Day 2015aioughydchapter
 
Java & SOA Cloud Service for Fusion Middleware Administrators
Java & SOA Cloud Service for Fusion Middleware AdministratorsJava & SOA Cloud Service for Fusion Middleware Administrators
Java & SOA Cloud Service for Fusion Middleware AdministratorsSimon Haslam
 
Oracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus MichalewiczOracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus MichalewiczMarkus Michalewicz
 
Oracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your ITOracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your ITMarkus Michalewicz
 
Oracle Database In-Memory Meets Oracle RAC
Oracle Database In-Memory Meets Oracle RACOracle Database In-Memory Meets Oracle RAC
Oracle Database In-Memory Meets Oracle RACMarkus Michalewicz
 
WebLogic on ODA - Oracle Open World 2013
WebLogic on ODA - Oracle Open World 2013WebLogic on ODA - Oracle Open World 2013
WebLogic on ODA - Oracle Open World 2013Michel Schildmeijer
 
Collaborate 17 Oracle RAC 12cRel 2 Best Practices
Collaborate 17 Oracle RAC 12cRel 2 Best PracticesCollaborate 17 Oracle RAC 12cRel 2 Best Practices
Collaborate 17 Oracle RAC 12cRel 2 Best PracticesAnil Nair
 
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Cluster Health Advisor (CHA)  Deep Dive by Mark ScardinaCluster Health Advisor (CHA)  Deep Dive by Mark Scardina
Cluster Health Advisor (CHA) Deep Dive by Mark ScardinaMarkus Michalewicz
 
Enabling: Optimized Integrations at Amway with Oracle SOA Suite
Enabling: Optimized Integrations at Amway with Oracle SOA SuiteEnabling: Optimized Integrations at Amway with Oracle SOA Suite
Enabling: Optimized Integrations at Amway with Oracle SOA SuiteRevelation Technologies
 

What's hot (20)

Using Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC IssuesUsing Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC Issues
 
Con8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2contentCon8780 nair rac_best_practices_final_without_12_2content
Con8780 nair rac_best_practices_final_without_12_2content
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best Practises
 
3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud3 Ways to Connect to the Oracle Cloud
3 Ways to Connect to the Oracle Cloud
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC Performance
 
Step by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment modelStep by Step instructions to install Cluster Domain deployment model
Step by Step instructions to install Cluster Domain deployment model
 
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on Exadata
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
 
TFA Collector - what can one do with it
TFA Collector - what can one do with it TFA Collector - what can one do with it
TFA Collector - what can one do with it
 
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair   ssNew availability features in oracle rac 12c release 2 anair   ss
New availability features in oracle rac 12c release 2 anair ss
 
Aioug ha day oct2015 goldengate- High Availability Day 2015
Aioug ha day oct2015 goldengate- High Availability Day 2015Aioug ha day oct2015 goldengate- High Availability Day 2015
Aioug ha day oct2015 goldengate- High Availability Day 2015
 
Java & SOA Cloud Service for Fusion Middleware Administrators
Java & SOA Cloud Service for Fusion Middleware AdministratorsJava & SOA Cloud Service for Fusion Middleware Administrators
Java & SOA Cloud Service for Fusion Middleware Administrators
 
Oracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus MichalewiczOracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
 
Oracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your ITOracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your IT
 
Oracle Database In-Memory Meets Oracle RAC
Oracle Database In-Memory Meets Oracle RACOracle Database In-Memory Meets Oracle RAC
Oracle Database In-Memory Meets Oracle RAC
 
WebLogic on ODA - Oracle Open World 2013
WebLogic on ODA - Oracle Open World 2013WebLogic on ODA - Oracle Open World 2013
WebLogic on ODA - Oracle Open World 2013
 
AWR, ASH with EM13 at HotSos 2016
AWR, ASH with EM13 at HotSos 2016AWR, ASH with EM13 at HotSos 2016
AWR, ASH with EM13 at HotSos 2016
 
Collaborate 17 Oracle RAC 12cRel 2 Best Practices
Collaborate 17 Oracle RAC 12cRel 2 Best PracticesCollaborate 17 Oracle RAC 12cRel 2 Best Practices
Collaborate 17 Oracle RAC 12cRel 2 Best Practices
 
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Cluster Health Advisor (CHA)  Deep Dive by Mark ScardinaCluster Health Advisor (CHA)  Deep Dive by Mark Scardina
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
 
Enabling: Optimized Integrations at Amway with Oracle SOA Suite
Enabling: Optimized Integrations at Amway with Oracle SOA SuiteEnabling: Optimized Integrations at Amway with Oracle SOA Suite
Enabling: Optimized Integrations at Amway with Oracle SOA Suite
 

Viewers also liked

Appium confet qa
Appium confet qaAppium confet qa
Appium confet qaISsoft
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
 
Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014Joelith
 
Different types of mobile apps
Different types of mobile appsDifferent types of mobile apps
Different types of mobile appsEric Melchor
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumSQALab
 

Viewers also liked (8)

Почему Appium?
Почему Appium?Почему Appium?
Почему Appium?
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
 
Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014
 
Different types of mobile apps
Different types of mobile appsDifferent types of mobile apps
Different types of mobile apps
 
Different types of mobile apps
Different types of mobile appsDifferent types of mobile apps
Different types of mobile apps
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 

Similar to OSB Exception Handling Logging - OFM Canberra September 2014

2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1LiviaLiaoFontech
 
Load Balancing
Load BalancingLoad Balancing
Load Balancingoptalink
 
Real-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and SolutionsReal-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and SolutionsMasoud Kalali
 
Fault Tolerance in Distributed Environment
Fault Tolerance in Distributed EnvironmentFault Tolerance in Distributed Environment
Fault Tolerance in Distributed EnvironmentOrkhan Gasimov
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBAJeff Smith
 
Some Oracle AWR observations
Some Oracle AWR observationsSome Oracle AWR observations
Some Oracle AWR observationsConnor McDonald
 
Kellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and AshKellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and Ashgaougorg
 
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EECON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EEMasoud Kalali
 
Mulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handlingMulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handlingManish Kumar Yadav
 
Application Performance Monitoring from end user to Oracle Java Cloud Service...
Application Performance Monitoring from end user to Oracle Java Cloud Service...Application Performance Monitoring from end user to Oracle Java Cloud Service...
Application Performance Monitoring from end user to Oracle Java Cloud Service...Lucas Jellema
 
Accessibility testing technology, human touch and value
Accessibility testing technology, human touch and value Accessibility testing technology, human touch and value
Accessibility testing technology, human touch and value Srinivasu Chakravarthula
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsPavel Bucek
 
Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Kellyn Pot'Vin-Gorman
 
Sql server logshipping
Sql server logshippingSql server logshipping
Sql server logshippingZeba Ansari
 
Setting up Oracle WorkFlow.ppt
Setting up Oracle WorkFlow.pptSetting up Oracle WorkFlow.ppt
Setting up Oracle WorkFlow.pptrockysheddy
 
Primavera P6 Tips and Tricks
Primavera P6 Tips and TricksPrimavera P6 Tips and Tricks
Primavera P6 Tips and Tricksp6academy
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Lohika_Odessa_TechTalks
 
Tech talk microservices debugging
Tech talk microservices debuggingTech talk microservices debugging
Tech talk microservices debuggingAndrey Kolodnitsky
 

Similar to OSB Exception Handling Logging - OFM Canberra September 2014 (20)

2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1
 
Load Balancing
Load BalancingLoad Balancing
Load Balancing
 
Real-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and SolutionsReal-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and Solutions
 
AWR and ASH Deep Dive
AWR and ASH Deep DiveAWR and ASH Deep Dive
AWR and ASH Deep Dive
 
Fault Tolerance in Distributed Environment
Fault Tolerance in Distributed EnvironmentFault Tolerance in Distributed Environment
Fault Tolerance in Distributed Environment
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBA
 
Some Oracle AWR observations
Some Oracle AWR observationsSome Oracle AWR observations
Some Oracle AWR observations
 
Kellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and AshKellyn Pot'Vin-Gorman - Awr and Ash
Kellyn Pot'Vin-Gorman - Awr and Ash
 
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EECON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
CON 2107- Think Async: Embrace and Get Addicted to the Asynchronicity of EE
 
Mulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handlingMulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handling
 
Application Performance Monitoring from end user to Oracle Java Cloud Service...
Application Performance Monitoring from end user to Oracle Java Cloud Service...Application Performance Monitoring from end user to Oracle Java Cloud Service...
Application Performance Monitoring from end user to Oracle Java Cloud Service...
 
Accessibility testing technology, human touch and value
Accessibility testing technology, human touch and value Accessibility testing technology, human touch and value
Accessibility testing technology, human touch and value
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
 
AWR and ASH in an EM12c World
AWR and ASH in an EM12c WorldAWR and ASH in an EM12c World
AWR and ASH in an EM12c World
 
Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016Database as a Service, Collaborate 2016
Database as a Service, Collaborate 2016
 
Sql server logshipping
Sql server logshippingSql server logshipping
Sql server logshipping
 
Setting up Oracle WorkFlow.ppt
Setting up Oracle WorkFlow.pptSetting up Oracle WorkFlow.ppt
Setting up Oracle WorkFlow.ppt
 
Primavera P6 Tips and Tricks
Primavera P6 Tips and TricksPrimavera P6 Tips and Tricks
Primavera P6 Tips and Tricks
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...
 
Tech talk microservices debugging
Tech talk microservices debuggingTech talk microservices debugging
Tech talk microservices debugging
 

More from Joelith

API Gateway - OFM Canberra October 2014
API Gateway - OFM Canberra October 2014API Gateway - OFM Canberra October 2014
API Gateway - OFM Canberra October 2014Joelith
 
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...Joelith
 
Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014Joelith
 
Continuous Integration Fundamentals: Maven - OFM Canberra July 2014
Continuous Integration Fundamentals: Maven - OFM Canberra July 2014Continuous Integration Fundamentals: Maven - OFM Canberra July 2014
Continuous Integration Fundamentals: Maven - OFM Canberra July 2014Joelith
 
WebLogic Performance Monitoring - OFM Canberra July 2014
WebLogic Performance Monitoring - OFM Canberra July 2014WebLogic Performance Monitoring - OFM Canberra July 2014
WebLogic Performance Monitoring - OFM Canberra July 2014Joelith
 
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014Joelith
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014Joelith
 

More from Joelith (7)

API Gateway - OFM Canberra October 2014
API Gateway - OFM Canberra October 2014API Gateway - OFM Canberra October 2014
API Gateway - OFM Canberra October 2014
 
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
Continuous Integration Fundamentals: Build Automation - OFM Canberra October ...
 
Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014
 
Continuous Integration Fundamentals: Maven - OFM Canberra July 2014
Continuous Integration Fundamentals: Maven - OFM Canberra July 2014Continuous Integration Fundamentals: Maven - OFM Canberra July 2014
Continuous Integration Fundamentals: Maven - OFM Canberra July 2014
 
WebLogic Performance Monitoring - OFM Canberra July 2014
WebLogic Performance Monitoring - OFM Canberra July 2014WebLogic Performance Monitoring - OFM Canberra July 2014
WebLogic Performance Monitoring - OFM Canberra July 2014
 
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
High Availability and Disaster Recovery Topologies - OMF Canberra June 2014
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014
 

Recently uploaded

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

OSB Exception Handling Logging - OFM Canberra September 2014

  • 1. OSB Exception Handling & Logging Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Joey Wong Solution Architect Oracle Sydney
  • 2. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Exceptions
  • 3. Exception Handlers Four types of error handlers: • Stage • Pipeline • Route • Service Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
  • 4. Guidelines • Easier to handle specific errors at lowest level. • Handle more general default processing of errors using higher level error handlers. • Good practice to explicitly handle anticipated errors in pipeline. • Allow service-level handler to manage unanticipated errors. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
  • 5. Stage Error Handler • Use dedicated stage for each specific part of the message flow. • Allows very specific types of errors to be caught. • Enables greater level of control over error processing. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
  • 6. Pipeline Error Handler • Sites above the stage error handlers. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • Exceptions re-thrown in a stage error handler will be propagated to the pipeline error handler. • Request pipeline error handler is typically the result of malformed incoming request messages of bug in the request path.
  • 7. Route Error Handler • Most errors seen by OSB happen here. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • Error handler is responsible for putting the fault message back into the SOAP body and forwarding the fault to the response message flow. • Error message should be logged/alerted.
  • 8. Service Error Handler • Always account for unanticipated errors. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • Enables unhandled exceptions at the stage, pipeline or route level to be caught and handled. • Should be used for unanticipated errors. • Bad practice to use this error handler to process all errors.
  • 9. Common Error Handler • Depending on the type of exceptions that can be caught, you may find error handling code is duplicated. • May be more efficient to write a common error handling service. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
  • 10. Error Behavior • Errors are handled differently depending on how the service is called. • Do you want to roll the transaction back for an asynchronous proxy? • Do you want to send a fault back in response for a synchronous proxy? Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
  • 11. Synchronous Errors • Synchronous transports like HTTP must contain “Reply - With Failure” action. • This send the fault back in the response to the consumer. • Message flow terminates, no additional actions or error handlers will be executed. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
  • 12. Asynchronous Errors • Asynchronous transports like JMS must contain “Raise Error” action. • Similar to a rethrow in Java, causing the transaction to be rolled back. • Raise Error action will be caught by a higher level error handler. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
  • 13. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Logging
  • 14. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Logging Types • Log • Alerts • Report <Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> <[PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] Text contents are: This is the file a.txt END> <Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> <[PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] File name is: ftp_in/a.txt> <Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> <[PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] Text contents are: This is the file b.txt END> <Sept 24, 2014 2:08:33 PM PDT> <Error> <OSB Logging> <Oracle-000000> < [PipelinePairNode1, PipelinePairNode1_request, show text info, REQUEST] File name is: ftp_in/b.txt>
  • 15. Guidelines • Establish logging requirements before starting development. • Logging usually doesn’t need to include the entire body of the payload. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • Set appropriate logging levels. • Error handlers should log at level “Error”. • Dedicated OSB log file. • Reporting action is heavy on resources. Use sparingly for Audit purposes.