summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/binding-ws-axis2/src/main/java/org
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-19 15:37:36 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-19 15:37:36 +0000
commit9b8fd2b5139dce38fdd0f032676881ac885b31ac (patch)
tree3991e1579db942202433b8e229d5160cee1ba27b /java/sca/modules/binding-ws-axis2/src/main/java/org
parent7f94dc1acc9bd08d246ddeeb5f4bfd0c5e3f76b1 (diff)
TUSCANY-3101 pass EndpointReference and Endpoint in to binding providers rather than component/reference or service/binding
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@786552 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java17
-rw-r--r--java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java12
-rw-r--r--java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java12
-rw-r--r--java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java13
4 files changed, 35 insertions, 19 deletions
diff --git a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java
index cc65988553..a04e0d54e5 100644
--- a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java
+++ b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java
@@ -20,6 +20,8 @@ package org.apache.tuscany.sca.binding.ws.axis2;
import java.util.List;
+import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
@@ -55,19 +57,12 @@ public class Axis2BindingProviderFactory implements BindingProviderFactory<WebSe
dataBindings = extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class);
}
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- WebServiceBinding binding) {
- return new Axis2ReferenceBindingProvider(component, reference, binding,
- modelFactories, dataBindings);
+ public ReferenceBindingProvider createReferenceBindingProvider(EndpointReference endpointReference) {
+ return new Axis2ReferenceBindingProvider(endpointReference, modelFactories, dataBindings);
}
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- WebServiceBinding binding) {
- return new Axis2ServiceBindingProvider(component, service, binding,
- servletHost, modelFactories,
- dataBindings);
+ public ServiceBindingProvider createServiceBindingProvider(Endpoint endpoint) {
+ return new Axis2ServiceBindingProvider(endpoint, servletHost, modelFactories, dataBindings);
}
public Class<WebServiceBinding> getModelType() {
diff --git a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java
index 184d02642e..2aabce9937 100644
--- a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java
+++ b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java
@@ -19,6 +19,7 @@
package org.apache.tuscany.sca.binding.ws.axis2;
import org.apache.axiom.om.OMElement;
+import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
@@ -33,17 +34,20 @@ import org.oasisopen.sca.ServiceRuntimeException;
public class Axis2ReferenceBindingProvider implements ReferenceBindingProvider {
+ private RuntimeComponent component;
+ private RuntimeComponentReference reference;
private WebServiceBinding wsBinding;
+
private Axis2ServiceClient axisClient;
- public Axis2ReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- WebServiceBinding wsBinding,
+ public Axis2ReferenceBindingProvider(EndpointReference endpointReference,
FactoryExtensionPoint modelFactories,
DataBindingExtensionPoint dataBindings) {
MessageFactory messageFactory = modelFactories.getFactory(MessageFactory.class);
- this.wsBinding = wsBinding;
+ this.wsBinding = (WebServiceBinding)endpointReference.getBinding();
+ this.component = (RuntimeComponent)endpointReference.getComponent();
+ this.reference = (RuntimeComponentReference)endpointReference.getReference();
// A WSDL document should always be present in the binding
if (wsBinding.getWSDLDocument() == null) {
diff --git a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java
index 5306a519ab..b6aac923a0 100644
--- a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java
+++ b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java
@@ -19,6 +19,7 @@
package org.apache.tuscany.sca.binding.ws.axis2;
import org.apache.axiom.om.OMElement;
+import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
@@ -32,12 +33,13 @@ import org.oasisopen.sca.ServiceRuntimeException;
public class Axis2ServiceBindingProvider implements ServiceBindingProvider {
+ private RuntimeComponent component;
+ private RuntimeComponentService service;
private WebServiceBinding wsBinding;
+
private Axis2ServiceProvider axisProvider;
- public Axis2ServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- WebServiceBinding wsBinding,
+ public Axis2ServiceBindingProvider(Endpoint endpoint,
ServletHost servletHost,
FactoryExtensionPoint modelFactories,
DataBindingExtensionPoint dataBindings) {
@@ -47,7 +49,9 @@ public class Axis2ServiceBindingProvider implements ServiceBindingProvider {
}
MessageFactory messageFactory = modelFactories.getFactory(MessageFactory.class);
- this.wsBinding = wsBinding;
+ this.wsBinding = (WebServiceBinding)endpoint.getBinding();
+ this.component = (RuntimeComponent)endpoint.getComponent();
+ this.service = (RuntimeComponentService)endpoint.getService();
// A WSDL document should always be present in the binding
if (wsBinding.getWSDLDocument() == null) {
diff --git a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
index 1749872ea1..fc39c8c055 100644
--- a/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
+++ b/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
@@ -83,6 +83,7 @@ import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Binding;
import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.assembly.EndpointReference;
+import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceClient.URIResolverImpl;
import org.apache.tuscany.sca.binding.ws.axis2.policy.authentication.token.Axis2TokenAuthenticationPolicy;
@@ -835,6 +836,18 @@ public class Axis2ServiceProvider {
// find the runtime wire and invoke it with the message
RuntimeWire wire = ((RuntimeComponentService)contract).getRuntimeWire(getBinding());
+
+ // TODO - EPR - if there is no wire then find the wire for the SCA binding
+ // because this WS endpoint is providing remote support for the
+ // SCA binding
+ if (wire == null){
+ for(RuntimeWire tmpWire : ((RuntimeComponentService)contract).getRuntimeWires()){
+ if (tmpWire.getEndpoint().getBinding() instanceof SCABinding){
+ wire = tmpWire;
+ break;
+ }
+ }
+ }
Object response = wire.invoke(op, msg);
return response;