regarding the general interception of webservice operation/method names. We are having some issues with some web requests/services which aren't reporting their respective operation/method correctly.
see attached screenshot (purepath can be supplied if anyones interested). (note that the clientside calls are only record with the actual service name - and no namespace/method)
we know that the ones that are reporting namespace/method correctly are REST calls.
and the ones that ain't is soap requests. is it simply a question of soap operations not being handled by dynaTrace ?
We already have BT's that are pulling information regarding this, but it would be nice to actually use the builtin features of dynaTrace - perhaps we just need to adjust our soap calls ?, any advice?
Have you tried opening the Web Requests Dashlet and there select "Show All" via the Context Menu? Do you see all of your Web Endpoints now?
There is a difference in how Dynatrace detects Web Services Calls that are handled and implemented by certain Web Service Frameworks (Axis, ...) and regular REST APIs that are plain HTTP Endpoints.
Have a look at the Web Requests dashlet with the Show All option and see if that gets you what you expect
Hi Andi, its not a question of missing requests (even with show all enabled) - its regarding how its reported. as you can see on the image, the service name and the method/namespace is the same for some operations and not for others. I would like to get an overview on how you intercept/parse the various information. perhaps we could tweak our calls to accomodate this?
This is how the webservice sensor works. If only the client side is instrumented endpoint+namespace are extracted from the webservice API. Classname + Method are only extracted for server side calls.
excellent answer, and you walked into my Little "trap" 😄
please see the attached screenshot, where we have fully instrumented, with agents across all tiers.. here we still aren't seeing the service operation.
notice that we've had to make a "internalexecute" method, where were catching this ourselves. but it honestly shouldnt be necessary? - since dynaTrace really should be doing this itself?
The getInputStream() is instrumented by the sensor "java web requests" which handles only HTTP calls. This sensor is not aware if it is a webservice or not. Your not instrumeted client side call, comes from an unsupported WS stack.
Ah yes, in which case that would be our Oracle fusion middleware - running weblogic on Oracle service bus (which dynatrace is "certified" in - according to release notes... - long story i had running with kurt aigner)
But lets accept that the service bus isnt instrumented properly via dynaTrace. Why aren't we then getting the operations on the following tier, which in this case would be a .net tier, with WCF web services.