After modifying webservices.pbd and appmap-soa.pbd to get servicename instead of nameservice we get some webservices reporting as Unknownservice
In the Agent log we can see this WARN message:
[WARN] [IntroscopeAgent.Agent] JaxWSAxis2ServerNameformatter:getServiceName exception java.lang.NoSuchMethodException: org.apache.axis2.context.ServiceContext.getMyEPR()
Release : 10.7.0
Component : Introscope
The application is using AXIS version that is incompatible with the APM agent webservices tracer implementation.
To confirm this condition enable DEBUG logging and restart the appserver or JVM, in the Agent log you will find a stack trace similar to the one below:
10/08/21 12:10:54 PM CEST [DEBUG] [IntroscopeAgent.Agent] JaxWSAxis2ServerNameformatter:getServiceName exception java.lang.NoSuchMethodException: org.apache.axis2.context.ServiceContext.getMyEPR()
at java.lang.Class.newNoSuchMethodException(Class.java:566)
at java.lang.Class.throwExceptionOrReturnNull(Class.java:1199)
at java.lang.Class.getMethodHelper(Class.java:1263)
at java.lang.Class.getMethod(Class.java:1191)
at com.wily.powerpack.webservices.WSMUtils.getMethod(WSMUtils.java:2466)
at com.wily.powerpack.webservices.WSMUtils.invokeMethodOnObject(WSMUtils.java:433)
at com.wily.powerpack.webservices.WSMUtils.invokeMethodOnObject(WSMUtils.java:481)
at com.wily.powerpack.webservices.extension.agent.trace.nameformatter.websphere.JaxWSAxis2ServerNameformatter.getServiceName(JaxWSAxis2ServerNameformatter.java:88)
at com.wily.powerpack.webservices.extension.agent.trace.nameformatter.JAXWSNameFormatter.INameFormatter_format(JAXWSNameFormatter.java:98)
at com.wily.introscope.agent.trace.ATracerFactory.customFormat(ATracerFactory.java:287)
at com.wily.introscope.agent.trace.ATracerFactory.runtimeFormat(ATracerFactory.java:488)
at com.wily.introscope.agent.trace.ATracerFactory.formatParameterizedName(ATracerFactory.java:507)
at com.wily.introscope.agent.trace.hc2.ASingleInstanceTracerFactoryHC.getComponentName(ASingleInstanceTracerFactoryHC.java:166)
at com.wily.introscope.agent.trace.hc2.ASingleInstanceTracerFactoryHC.getBlameComponent(ASingleInstanceTracerFactoryHC.java:149)
at com.wily.introscope.agent.trace.hc2.ASingleInstanceTracerFactoryHC.submitToTransactionStructureOnStartTrace(ASingleInstanceTracerFactoryHC.java:309)
at com.wily.introscope.agent.trace.hc2.BlamePointTracer.doStartBlamePointTrace(BlamePointTracer.java:452)
at com.wily.powerpack.webservices.extension.agent.trace.hc2.WebServiceBlamePointTracer.ITracer_startTrace(WebServiceBlamePointTracer.java:113)
at com.wily.introscope.agent.trace.InvocationData.IMethodTracer_startTrace(InvocationData.java:1391)
at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:212)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1633)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1134)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:82)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:963)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:382)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:289)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)
10/08/21 12:10:54 PM CEST [DEBUG] [IntroscopeAgent.Agent] [JAXWSNameFormatter] namespace=UnknownNamespace operationName=UnknownOperationName serviceName=UnknownService
No solution available, unsupported configuration, for more details refer to APM compatibility Guide > APM Extensions > SPM - STACK SUPPORT