From eb1a98a7d7b9d279a7591f9bf2942001b5c34e7e Mon Sep 17 00:00:00 2001 From: slaws Date: Fri, 25 Jun 2010 09:39:55 +0000 Subject: Add a little bit more code to include the JAXWSMessageReciever so I can debug some samples and see if there is any mileage in this approach git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@957864 13f79535-47bb-0310-9956-ffa450edef68 --- .../modules/binding-ws-runtime-jaxws-axis2/pom.xml | 6 ++++++ .../binding/ws/jaxws/axis2/Axis2EngineIntegration.java | 2 +- .../ws/jaxws/axis2/JAXWSReferenceBindingProvider.java | 2 +- .../ws/jaxws/axis2/JAXWSServiceBindingProvider.java | 18 ++++++++++++++++-- .../ws/jaxws/axis2/engine/conf/tuscany-axis2.xml | 6 +++++- 5 files changed, 29 insertions(+), 5 deletions(-) (limited to 'sca-java-2.x/contrib') diff --git a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/pom.xml b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/pom.xml index af3553a7dd..e1d0ab3060 100644 --- a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/pom.xml +++ b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/pom.xml @@ -42,6 +42,12 @@ tuscany-interface-wsdl 2.0-SNAPSHOT + + + org.apache.tuscany.sca + tuscany-interface-java + 2.0-SNAPSHOT + org.apache.tuscany.sca diff --git a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/Axis2EngineIntegration.java b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/Axis2EngineIntegration.java index b466f133af..d17a501112 100644 --- a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/Axis2EngineIntegration.java +++ b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/Axis2EngineIntegration.java @@ -230,7 +230,7 @@ public class Axis2EngineIntegration { Port port, WebServiceBinding wsBinding) throws AxisFault { - Definition definition = wsBinding.getWSDLDocument(); + Definition definition = wsBinding.getGeneratedWSDLDocument(); QName serviceQName = wsBinding.getService().getQName(); Definition def = getDefinition(definition, serviceQName); diff --git a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSReferenceBindingProvider.java b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSReferenceBindingProvider.java index f01fc78c7c..c46301a5fd 100644 --- a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSReferenceBindingProvider.java +++ b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSReferenceBindingProvider.java @@ -50,7 +50,7 @@ public class JAXWSReferenceBindingProvider implements ReferenceBindingProvider { this.wsBinding = (WebServiceBinding) endpointReference.getBinding(); // A WSDL document should always be present in the binding - if (wsBinding.getWSDLDocument() == null) { + if (wsBinding.getGeneratedWSDLDocument() == null) { throw new ServiceRuntimeException("No WSDL document for " + endpointReference.getURI()); } diff --git a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSServiceBindingProvider.java b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSServiceBindingProvider.java index 2aa2cc5db2..94cd1d621d 100644 --- a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSServiceBindingProvider.java +++ b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/axis2/JAXWSServiceBindingProvider.java @@ -20,6 +20,7 @@ package org.apache.tuscany.sca.binding.ws.jaxws.axis2; import java.net.URI; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import javax.wsdl.Port; @@ -28,7 +29,10 @@ import javax.xml.ws.Endpoint; import org.apache.axiom.om.OMElement; import org.apache.axis2.context.ConfigurationContext; +import org.apache.axis2.description.AxisOperation; import org.apache.axis2.description.AxisService; +import org.apache.axis2.description.WSDL2Constants; +import org.apache.axis2.engine.MessageReceiver; import org.apache.axis2.jaxws.binding.BindingUtils; import org.apache.axis2.jaxws.description.DescriptionFactory; import org.apache.axis2.jaxws.description.EndpointDescription; @@ -37,6 +41,7 @@ import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite; import org.apache.axis2.jaxws.description.builder.WebServiceProviderAnnot; import org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConverter; import org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl; +import org.apache.axis2.jaxws.server.JAXWSMessageReceiver; import org.apache.tuscany.sca.binding.ws.WebServiceBinding; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.FactoryExtensionPoint; @@ -45,6 +50,7 @@ import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; import org.apache.tuscany.sca.host.http.SecurityContext; import org.apache.tuscany.sca.host.http.ServletHost; import org.apache.tuscany.sca.interfacedef.InterfaceContract; +import org.apache.tuscany.sca.interfacedef.Operation; import org.apache.tuscany.sca.invocation.MessageFactory; import org.apache.tuscany.sca.provider.ServiceBindingProvider; import org.apache.tuscany.sca.runtime.RuntimeComponent; @@ -96,7 +102,7 @@ public class JAXWSServiceBindingProvider implements ServiceBindingProvider { contract.getInterface().resetDataBinding(OMElement.class.getName()); // A WSDL document should always be present in the binding - if (wsBinding.getWSDLDocument() == null) { + if (wsBinding.getGeneratedWSDLDocument() == null) { throw new ServiceRuntimeException("No WSDL document for " + component.getName() + "/" + service.getName()); } @@ -175,11 +181,13 @@ public class JAXWSServiceBindingProvider implements ServiceBindingProvider { webServiceProviderAnnot.setTargetNamespace(targetNamespace); webServiceProviderAnnot.setServiceName(wsBinding.getService().getQName().getLocalPart()); webServiceProviderAnnot.setPortName(wsBinding.getPort().getName()); + webServiceProviderAnnot.setWsdlLocation("D:/sca-java-2.x-contrib/modules/binding-ws-runtime-jaxws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/wsdlport/helloworld.wsdl"); // adjust the service description to match the service we're actually exposing DescriptionBuilderComposite dbc = dbcMap.values().iterator().next(); dbc.setWebServiceProviderAnnot(webServiceProviderAnnot); - dbc.setWsdlDefinition(wsBinding.getService().getQName(), wsBinding.getWSDLDefinition().getDefinition()); + //dbc.setWsdlDefinition(wsBinding.getService().getQName(), wsBinding.getWSDLDefinition().getDefinition()); + List serviceDescList = DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap, configContext); ServiceDescription sd = null; if (serviceDescList != null && serviceDescList.size() > 0) { @@ -196,6 +204,12 @@ public class JAXWSServiceBindingProvider implements ServiceBindingProvider { axisService.setName(path); axisService.setServiceDescription("Tuscany configured AxisService for service: " + deployedURI); axisService.setClientSide(false); + + for (Iterator i = axisService.getOperations(); i.hasNext();) { + AxisOperation axisOp = (AxisOperation)i.next(); + axisOp.setMessageReceiver(new JAXWSMessageReceiver()); + } + configContext.getAxisConfiguration().addService(axisService); // fire up the Axis servlet diff --git a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/jaxws/axis2/engine/conf/tuscany-axis2.xml b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/jaxws/axis2/engine/conf/tuscany-axis2.xml index 40e433e2f8..0db555f314 100644 --- a/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/jaxws/axis2/engine/conf/tuscany-axis2.xml +++ b/sca-java-2.x/contrib/modules/binding-ws-runtime-jaxws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/jaxws/axis2/engine/conf/tuscany-axis2.xml @@ -113,6 +113,8 @@ +