You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2007/02/28 16:33:28 UTC

svn commit: r512806 - in /incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2: Axis2BindingBuilder.java WebServiceBindingDefinition.java

Author: antelder
Date: Wed Feb 28 07:33:27 2007
New Revision: 512806

URL: http://svn.apache.org/viewvc?view=rev&rev=512806
Log:
Axis2 binding support for simplest <binding.ws/> with no args

Modified:
    incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java
    incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingDefinition.java

Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java?view=diff&rev=512806&r1=512805&r2=512806
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java Wed Feb 28 07:33:27 2007
@@ -26,6 +26,7 @@
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.tuscany.binding.axis2.util.TuscanyAxisConfigurator;
 import org.apache.tuscany.idl.wsdl.InterfaceWSDLIntrospector;
+import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistry;
 import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
@@ -59,6 +60,8 @@
 
     private WorkContext workContext;
 
+    private WSDLDefinitionRegistry wsdlReg;
+
     public Axis2BindingBuilder() throws BuilderConfigException {
         initAxis();
     }
@@ -81,6 +84,10 @@
         this.workContext = workContext;
     }
 
+    @Autowire
+    public void setWSDLDefinitionRegistry(WSDLDefinitionRegistry wsdlReg) {
+        this.wsdlReg = wsdlReg;
+    }
 
     @SuppressWarnings("unchecked")
     public ServiceBinding build(
@@ -144,6 +151,12 @@
             ServiceContract<?> inboundContract = boundReferenceDefinition.getServiceContract();
             if (WSDLServiceContract.class.isInstance(inboundContract)) {
                 inboundContract.setDataBinding(OM_DATA_BINDING);
+            }
+
+            // TODO: TUSCANY-xxx, <binding.ws> with no wsdl only works with <interface.wsdl>
+            if (wsBinding.getWSDLDefinition() == null && inboundContract instanceof WSDLServiceContract) {
+                String ns = ((WSDLServiceContract)inboundContract).getPortType().getQName().getNamespaceURI();
+                wsBinding.setWSDLDefinition(wsdlReg.getDefinition(ns));
             }
 
             // FIXME: We need to define how the WSDL PortType is honored in the case that

Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingDefinition.java?view=diff&rev=512806&r1=512805&r2=512806
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingDefinition.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/binding/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingDefinition.java Wed Feb 28 07:33:27 2007
@@ -70,7 +70,15 @@
     public Port getWSDLPort() {
         if (port == null) {
             Service service = getWSDLService();
-            port = service.getPort(portName);
+            if (portName == null) {
+                Map ports = service.getPorts();
+                if (ports.size() != 1) {
+                    throw new IllegalStateException("when portName is null WSDL service must have exactly one WSDL port");
+                }
+                port = (Port)ports.values().iterator().next();
+            } else {
+                port = service.getPort(portName);
+            }
         }
         return port;
     }
@@ -132,5 +140,9 @@
             }
         }
         return binding;
+    }
+
+    public String getWSDLNamepace() {
+        return namespace;
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org