Author: rfeng
Date: Tue Jan 22 15:11:09 2008
New Revision: 614370

URL: http://svn.apache.org/viewvc?rev=614370&view=rev
Log:
Fix an issue in Axis2 service lookup and bring up the exception-ws-crossbinding 
itest again

Added:
    
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java
      - copied, changed from r614120, 
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java
Removed:
    
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java
Modified:
    
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java

Copied: 
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java
 (from r614120, 
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java)
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java?p2=incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java&p1=incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java&r1=614120&r2=614370&rev=614370&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCaseFIXME.java
 (original)
+++ 
incubator/tuscany/java/sca/itest/exceptions-cross-binding-ws/src/test/java/org/apache/tuscany/sca/test/exceptions/IntraCompositeTestCase.java
 Tue Jan 22 15:11:09 2008
@@ -28,7 +28,7 @@
 import stockexceptiontestservice.scatesttool.InvalidSymbolFault;
 import stockexceptiontestservice.scatesttool.StockOffer;
 
-public class IntraCompositeTestCaseFIXME extends TestCase {
+public class IntraCompositeTestCase extends TestCase {
     private SCADomain domain;
     private StockTraderSDO stockTrader;
 

Modified: 
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java?rev=614370&r1=614369&r2=614370&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java
 Tue Jan 22 15:11:09 2008
@@ -26,7 +26,6 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.security.Principal;
 import java.security.PrivilegedAction;
 import java.util.Iterator;
 import java.util.List;
@@ -35,8 +34,8 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.security.auth.Subject;
 import javax.wsdl.Definition;
+import javax.wsdl.Import;
 import javax.wsdl.Port;
 import javax.wsdl.extensions.soap.SOAPAddress;
 import javax.wsdl.extensions.soap12.SOAP12Address;
@@ -436,6 +435,32 @@
 
         return axisService;
     }
+    
+    /**
+     * Workaround for https://issues.apache.org/jira/browse/AXIS2-3205
+     * @param definition
+     * @param serviceName
+     * @return
+     */
+    private static Definition getDefinition(Definition definition, QName 
serviceName) {
+        if (definition == null) {
+            return null;
+        }
+        Object service = definition.getServices().get(serviceName);
+        if (service != null) {
+            return definition;
+        }
+        for (Object i : definition.getImports().values()) {
+            List<Import> imports = (List<Import>)i;
+            for (Import imp : imports) {
+                Definition d = getDefinition(imp.getDefinition(), serviceName);
+                if (d != null) {
+                    return d;
+                }
+            }
+        }
+        return definition;
+    }
 
     /**
      * Create an AxisService from the WSDL doc used by ws binding
@@ -450,12 +475,14 @@
         Axis2ServiceClient.setServiceAndPort(wsBinding);
         QName serviceQName = wsBinding.getServiceName();
         String portName = wsBinding.getPortName();
+        
+        Definition def = getDefinition(definition, serviceQName);
 
-        WSDLToAxisServiceBuilder builder = new 
WSDL11ToAxisServiceBuilder(definition, serviceQName, portName);
+        WSDLToAxisServiceBuilder builder = new WSDL11ToAxisServiceBuilder(def, 
serviceQName, portName);
         builder.setServerSide(true);
         // [rfeng] Add a custom resolver to work around WSCOMMONS-228
-        builder.setCustomResolver(new URIResolverImpl(definition));
-        builder.setBaseUri(definition.getDocumentBaseURI());
+        builder.setCustomResolver(new URIResolverImpl(def));
+        builder.setBaseUri(def.getDocumentBaseURI());
         // [rfeng]
         AxisService axisService = builder.populateService();
 
@@ -476,7 +503,7 @@
         }
         // Use the existing WSDL
         Parameter wsdlParam = new Parameter(WSDLConstants.WSDL_4_J_DEFINITION, 
null);
-        wsdlParam.setValue(definition);
+        wsdlParam.setValue(def);
         axisService.addParameter(wsdlParam);
         Parameter userWSDL = new Parameter("useOriginalwsdl", "true");
         axisService.addParameter(userWSDL);

Modified: 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java?rev=614370&r1=614369&r2=614370&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
 Tue Jan 22 15:11:09 2008
@@ -63,18 +63,17 @@
     }
 
     public void addDataBinding(DataBinding dataBinding) {
-       if (logger.isLoggable(Level.FINE)) {
-                       String className = dataBinding.getClass().getName();
-                       boolean lazy = false;
-                       if (dataBinding instanceof LazyDataBinding) {
-                               className = ((LazyDataBinding) 
dataBinding).dataBindingDeclaration.getClassName();
-                               lazy = true;
-                       }
-                       logger.fine("Adding databinding: " + className + 
";type="
-                                       + dataBinding.getName() + ",lazy=" + 
lazy);
-               }
+        if (logger.isLoggable(Level.FINE)) {
+            String className = dataBinding.getClass().getName();
+            boolean lazy = false;
+            if (dataBinding instanceof LazyDataBinding) {
+                className = 
((LazyDataBinding)dataBinding).dataBindingDeclaration.getClassName();
+                lazy = true;
+            }
+            logger.fine("Adding databinding: " + className + ";type=" + 
dataBinding.getName() + ",lazy=" + lazy);
+        }
         databindings.add(dataBinding);
-               bindings.put(dataBinding.getName().toLowerCase(), dataBinding);
+        bindings.put(dataBinding.getName().toLowerCase(), dataBinding);
 
         String[] aliases = dataBinding.getAliases();
         if (aliases != null) {
@@ -111,8 +110,7 @@
         // Get the databinding service declarations
         Set<ServiceDeclaration> dataBindingDeclarations;
         try {
-            dataBindingDeclarations =
-                
ServiceDiscovery.getInstance().getServiceDeclarations(DataBinding.class);
+            dataBindingDeclarations = 
ServiceDiscovery.getInstance().getServiceDeclarations(DataBinding.class);
         } catch (IOException e) {
             throw new IllegalStateException(e);
         }
@@ -159,8 +157,7 @@
         private DataBinding getDataBinding() {
             if (dataBinding == null) {
                 try {
-                    Class<DataBinding> dataBindingClass =
-                        (Class<DataBinding>)dataBindingDeclaration.loadClass();
+                    Class<DataBinding> dataBindingClass = 
(Class<DataBinding>)dataBindingDeclaration.loadClass();
                     Constructor<DataBinding> constructor = 
dataBindingClass.getConstructor();
                     dataBinding = constructor.newInstance();
                 } catch (Exception e) {

Modified: 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java?rev=614370&r1=614369&r2=614370&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java
 Tue Jan 22 15:11:09 2008
@@ -138,7 +138,7 @@
                     qname = prefix + ":" + qname;
                 }
                 Element newElement = 
element.getOwnerDocument().createElementNS(newName.getNamespaceURI(), qname);
-                newElement.setPrefix(prefix);
+                // newElement.setPrefix(prefix);
                 NodeList nodeList = element.getChildNodes();
                 // Need to copy the nodes from the list fisrt as the 
appendChild() will change the list
                 int length = nodeList.getLength();



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to