From 7a462a1eb14fcd883f09550310a160e0732800fb Mon Sep 17 00:00:00 2001 From: edwardsmj Date: Wed, 15 Jul 2009 08:35:30 +0000 Subject: Make the ODE service name for each BPEL process service unique by prepending the SCA Component URI to the SCA service name - to avoid a single service invocation causing multiple BPEL processes to get dispatched - TUSCANY-3144 git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@794181 13f79535-47bb-0310-9956-ffa450edef68 --- .../implementation/bpel/ode/provider/BPELInvoker.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'java/sca/modules/implementation-bpel-runtime/src/main') diff --git a/java/sca/modules/implementation-bpel-runtime/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java b/java/sca/modules/implementation-bpel-runtime/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java index 2562d6b52b..d3c743d551 100644 --- a/java/sca/modules/implementation-bpel-runtime/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java +++ b/java/sca/modules/implementation-bpel-runtime/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java @@ -61,14 +61,16 @@ public class BPELInvoker implements Invoker { private TransactionManager txMgr; private RuntimeComponentService service; - private Operation operation; - private QName bpelServiceName; - private String bpelOperationName; - private Part bpelOperationInputPart; - private Part bpelOperationOutputPart; + private Operation operation; + private QName bpelServiceName; + private String bpelOperationName; + private Part bpelOperationInputPart; + private Part bpelOperationOutputPart; + private RuntimeComponent component; public BPELInvoker(RuntimeComponent component, RuntimeComponentService service, Operation operation, EmbeddedODEServer odeServer, TransactionManager txMgr) { this.service = service; + this.component = component; this.operation = operation; this.bpelOperationName = operation.getName(); this.odeServer = odeServer; @@ -91,8 +93,9 @@ public class BPELInvoker implements Invoker { // Service serviceDefinition = (Service) wsdlInterface.getWsdlDefinition().getDefinition().getAllServices().values().iterator().next(); // bpelServiceName = serviceDefinition.getQName(); // - // Fetch the service name from the service object - bpelServiceName = new QName( "http://tuscany.apache.org", service.getName() ); + // Fetch the service name from the service object - including the componentURI guarantees a unique service name + String componentURI = component.getURI(); + bpelServiceName = new QName( "http://tuscany.apache.org", componentURI + service.getName() ); bpelOperationInputPart = (Part) wsdlInterface.getPortType().getOperation(bpelOperationName,null,null).getInput().getMessage().getParts().values().iterator().next(); bpelOperationOutputPart = (Part) wsdlInterface.getPortType().getOperation(bpelOperationName,null,null).getOutput().getMessage().getParts().values().iterator().next(); -- cgit v1.2.3