Hello Mr Kasi, usually non java exception like, JDBC Adapter is printed on WMERROR and my Logger is pointing to a file.
Mr. Holger, i tried to check wrapper.log on the profiles directory the exception is not printed there
The case is our IS monitored by dynatrace and got exception about java.net.Socket:Connection Reset, but we don’t know which services are resulting that, so im trying to find on WMERROR but no luck
I have observed that IO exceptions don’t capture the service name at times, in the error logs - this was due to erratic design.
Service Audit
In your flow service, is the error caught and handled in the Catch? In simpler terms, is there an “Exit from $flow and signal failure” step at the end of your Catch block, or not?
When you go to MWS and search for this service that failed (with the execution timestamp), do you see an entry?
If you see an entry for #2, is the status success/failure?
Other Areas
Is the error logged to server log instead?
Check the Logging Level on your IS - it must be set to “Info” for all the components on IS
Try and force a failure to test if other errors are being written to the logs
Yes, it’s on the handled on the catch, there are no “Exit from $flow with signal Failure”, if i added Exit from flow, it’s printed on WMERROR but there is no real reason for the error that i get from getLastError. The only captured exception on WMERROR is below, if i added Exit Flow:
com.wm.lang.flow.FlowException:
at com.wm.lang.flow.FlowExit.invoke(FlowExit.java:368)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:649)
at com.wm.lang.flow.FlowState.step(FlowState.java:515)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:484)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1150)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:751)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:46)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:54)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:250)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:299)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:399)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:629)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:443)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:401)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:253)
at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:120)
at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:163)
at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:190)
at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:401)
at com.wm.util.pool.PooledThread.run(PooledThread.java:134)
at java.lang.Thread.run(Thread.java:748)
Is the error logged to server log instead?
No, because i didn’t put a debug log on the services, on the catch sequence
Check the Logging Level on your IS - it must be set to “ Info ” for all the components on IS
Yes, the server log is on Info
Try and force a failure to test if other errors are being written to the logs
Only adapters errors are appearing on WMERROR, but flow service error aren’t printed
You must take the actual error after invoking getLastError and populate it on the Exit step, or disable/remove the Catch block, to see the error in the logs.
Reason - Main is set to SUCCESS, Catch is set to DONE, so the flow service is seen to be successful since the error is handled (i.e., Main is seen as successful). I’ll elaborate this reason behind this in the morning; it’s late night for me now.
Did you check this? It would’ve showed success, before you added the Exit step.
Thanks for your time Mr Kasi, your explanation is right, when i disabled the catch now the service printed on the WMERROR, so the best practice is to put debugLog on catch sequence after getLastError?
Also our environment, didn’t activate the MWS, only just the IS
Also i found another case, there is a filePooling ports in my IS, inside the fileProcessing service it encountered an error, but it doesn’t move the file to Error Directory, while it still moved to file to Complete Directory
Perhaps it’s the same issue for the processing service that you have in your file-polling port.
I have bandwidth and hardware issues, so I’m unable to help you with a sample service - perhaps someone else can. Do look for webMethods development best practices and may find some references.