wso2 bps bpel logging and troubleshooting

2019-09-11 07:37发布

问题:

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.)