Custom function to be ran at start of execution of any existing service


I would like to know if it’s possible to create the following:

  1. A java service that must be invoked before or at the beginning of any service execution on the integration server.

  2. This java service cannot be added as the first step in the other services.

In other words, is it possible, in any way (built-in services, webmethods java api, etc) to create a function that will be called at the beginning of every service without having to add anything to the existing services.

In my case, there are hundreds of services in my integration server. I would like to create custom logs and custom statistics but I don’t want to have to add instructions in all the existing services.

Is there any way to do this? Any at all?


You can use service auditing/logging for this purpose if you want.
There is an intercept type mechanism and also events mechanism, but I don’t think you’d really want that running on all invokes to be honest.

If you really must do auditing for all services: I’d use the service auditing and then build some sort of extract from the webMethods database. But be aware: there’s a pretty big performance hit if absolutely every service is going to be turned on.

alternatively there is a profiler tool out there that might get you what you want if performance tracing is the real thing you’re looking for…

Thank you so much for the answer!! It helps me a lot!

I will look into the auditing features. I believe its what I need.

I’m also curious about interception mechanism. Do you know if there’s documentation about that? I understand the performance hit. But I still would like to know how it works.


So, anyone has any hint how you can intercept a service invocation?