问题
I have to admin the WS2 BPS (3.6.0) is not very revealing about internal exceptions. There's a small chapter in the documentation about troubleshooting, however this setup logs only messages passed to the endpoints.
Questions:
- is there way to see internal exceptions thrown during the BPEL execution) wether handled or unhandled? (such as errors in the expressions or scripts). Maybe on the Apache-ODE level?
- is there any way to access the fault caught by the "catchAll" fault handler?
Thank you all for any hint
回答1:
1) One way troubleshoot is, enable BPEL Runtime debug logs, where you can see the execution flow.
log4j.logger.org.apache.ode.bpel.runtime=DEBUG
If you need further information, you can enable debug logs for ODE engine as well.
log4j.logger.org.apache.ode.bpel.engine=DEBUG
2) There is no OTB way to achieve this. This is a limitation in BPEL 2.0 spec. In BPEL 2.0, you can catch only faults that are defined in the partner service WSDL. Additionally, you can assign a variable for the error message. From that, you can access information about the fault.
But CatchAll doesn't associate with a variable. It is a generic fault handler.
I would suggest using flag based solution to handle errors within catchall. (That is what I have seen in most of the solutions.)
来源:https://stackoverflow.com/questions/40970746/wso2-bps-bpel-logging-and-troubleshooting