@Override public boolean handleFault(MessageContext msgContext) { String faultMessage = null; try { faultMessage = getSOAPMessageString(msgContext); if (logger.getDebugEnabled()) logger.debug("handleFault: " + faultMessage); msgContext.setProperty(ContextHandlerConstants.PROPERTY_NAME_FAULT, new Boolean(true)); return super.handleFault(msgContext); } finally { PerfLogContext perfLogContext = PerfLogContextHelper.getCurrentThreadPerfLogContextObject(); long elapsedTime = getElapsedTime(msgContext); PerfLogContextHelper.compensateForOutboundJvmCallExceptionIfAny(); if (LoggerProperties.getInstance().isPerfLogWSEnabled() && (elapsedTime >= LoggerProperties.getInstance().getPerfLogWSThreshold())) logPerfMetrics( msgContext, elapsedTime, perfLogContext, new Exception("JaxRpcLogContextServerHandler:handleFault"), faultMessage); PerfLogContextHelper.endPerfLogTxnMonitor(); } }
@Override public boolean handleResponse(MessageContext msgContext) { boolean retVal; try { logger.debug("JaxRpcLogContextServerHandler:handleResponse"); if (LoggerProperties.getInstance().isPerfLogWSCacheSOAPMessage()) addSOAPMessageStringToPerfLogContextRequestData( "JaxRpcServerSOAPResponse", getSOAPMessageString(msgContext)); retVal = super.handleResponse(msgContext); } finally { PerfLogContext perfLogContext = PerfLogContextHelper.getCurrentThreadPerfLogContextObject(); long elapsedTime = getElapsedTime(msgContext); PerfLogContextHelper.compensateForOutboundJvmCallExceptionIfAny(); if (LoggerProperties.getInstance().isPerfLogWSEnabled() && (elapsedTime >= LoggerProperties.getInstance().getPerfLogWSThreshold())) logPerfMetrics(msgContext, elapsedTime, perfLogContext, null, null); PerfLogContextHelper.endPerfLogTxnMonitor(); } return retVal; }