diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java
index 0b405d1920ba740e5c5f45bea809934f7ba9d4c7..8ac34e27a013fabdab0a3ce3c1a814a23bf9523c 100644
--- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java
+++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/interceptors/WebServiceOutgoingCallInterceptor.java
@@ -59,8 +59,15 @@ public class WebServiceOutgoingCallInterceptor extends GenericSOAPHandler {
 			URL url;
 			try {
 				url = new URL((String)msgContext.get("javax.xml.ws.service.endpoint.address"));
-				Method caller = (Method)msgContext.get("java.lang.reflect.Method");
-				ComponentRecord component = MonitoringService.INSTANCE.requireComponent(url.getHost(), "", "", url.getPath());
+				Method caller = (Method)msgContext.get("java.lang.reflect.Method");	
+				String application = "";
+				String componentName = url.getPath().substring(1); // Remove first slash				
+				int idx = url.getPath().lastIndexOf("/");
+				if (idx > 0) {
+					application = componentName.substring(0, idx);
+					componentName = componentName.substring(idx + 1);
+				}
+				ComponentRecord component = MonitoringService.INSTANCE.requireComponent(url.getHost(), application, "", componentName);
 				OperationRecord currentOperation = currentInvocation.requireEndpoint(component, caller.getDeclaringClass().getName(), "http", caller.getName());
 				// TODO: We currently support only one-way messages. Inbound messages are ignored.
 				InvocationRecord outgoingInvocation = currentOperation.startInvocation();