AnsweredAssumed Answered

Issues with httpheader insertion while enabling APM SOA monitoring for Liberty

Question asked by Venkit on Jun 18, 2015
Latest reply on Jun 18, 2015 by HaroldMartinNetready

I have already raised a case with CA Support, but wanted to tap into the experience of anyone out there who may have faced this type of issue.

Basically we have enabled CA APM SOA monitoring on one of our Webshere Liberty application. The application makes certain webservice calls to other services.

Without SOA monitoring enabled, the application works perfectly fine. 

But with SOA enabled it seems that APM is messing with the http headers and causing the functionality to break with Unmarshalling exceptions.

 

2015-06-18 13:08:21,643 - [task-exec-cache-service-1] [sessionID:0000GtjpOo5iUYSDFADsd9BKH2CKe:serverX] ERROR - org.springframework.integration.handler.LoggingHandler.handleMessageInternal {Line:145} - org.springframework.messaging.MessageHandlingException: javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: unexpected element (uri:"http://xmlns.X.com/bsd/ad/adservice/1", local:"context"). Expected elements are <{http://xmlns.X.com/bsd/ad/adservice/1}consultant>,<{http://xmlns.X.com/bsd/common/bsdDatatypes/1.0}context>,<{http://xmlns.X.com/bsd/ad/adservice/1}authorizationDetailsNeeded>

at org.springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvokingMessageProcessor.java:78)

        at org.springframework.integration.handler.ServiceActivatingHandler.handleRequestMessage(ServiceActivatingHandler.java:71)

        at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:170)

        at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)

        at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)

        at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:101)

        at org.springframework.integration.dispatcher.UnicastingDispatcher.access$000(UnicastingDispatcher.java:48)

        at org.springframework.integration.dispatcher.UnicastingDispatcher$1.run(UnicastingDispatcher.java:92)

        at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:52)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1176)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)

        at java.lang.Thread.run(Thread.java:795)

 

if we enable SOAP header insertion, the application fails even earlier.

# SOA Performance Monitoring Pack to use HTTP instead of SOAP Insertion

com.wily.introscope.agent.soapheaderread.enabled=false

com.wily.introscope.agent.soapheaderinsertion.enabled=false

com.wily.introscope.agent.httpheaderread.enabled=true

com.wily.introscope.agent.httpheaderinsertion.enabled=true

Outcomes