You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by da...@apache.org on 2007/04/13 21:03:34 UTC

svn commit: r528592 - in /incubator/cxf/trunk/rt: bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInterceptor.java databinding/jaxb/src/main/java/org/apache/cxf/endpoint/dynamic/DynamicClientFactory.java

Author: dandiep
Date: Fri Apr 13 12:03:33 2007
New Revision: 528592

URL: http://svn.apache.org/viewvc?view=rev&rev=528592
Log:
Get the SOAPAction from the Wrapped operation always. Also, add some helpful debugging info to DynamicClientFactory.

Modified:
    incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInterceptor.java
    incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/endpoint/dynamic/DynamicClientFactory.java

Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInterceptor.java?view=diff&rev=528592&r1=528591&r2=528592
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInterceptor.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInterceptor.java Fri Apr 13 12:03:33 2007
@@ -52,6 +52,12 @@
         List<String> value = new ArrayList<String>();
         
         BindingOperationInfo boi = message.getExchange().get(BindingOperationInfo.class);
+        
+        // The soap action is set on the wrapped operation.
+        if (boi != null && boi.isUnwrapped()) {
+            boi = boi.getWrappedOperation();
+        }
+        
         if (boi == null) {
             value.add("\"\"");
         } else {

Modified: incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/endpoint/dynamic/DynamicClientFactory.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/endpoint/dynamic/DynamicClientFactory.java?view=diff&rev=528592&r1=528591&r2=528592
==============================================================================
--- incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/endpoint/dynamic/DynamicClientFactory.java (original)
+++ incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/endpoint/dynamic/DynamicClientFactory.java Fri Apr 13 12:03:33 2007
@@ -43,6 +43,7 @@
 import org.xml.sax.SAXParseException;
 
 import com.sun.codemodel.JCodeModel;
+import com.sun.codemodel.JDefinedClass;
 import com.sun.codemodel.JPackage;
 import com.sun.codemodel.writer.FileCodeWriter;
 import com.sun.tools.xjc.Options;
@@ -145,6 +146,7 @@
 
     public Client createClient(String wsdlUrl, QName service, ClassLoader classLoader, QName port) {
         URL u = composeUrl(wsdlUrl);
+        LOG.log(Level.FINE, "Creating client from URL " + u.toString());
         ClientImpl client = new ClientImpl(bus, u, service, port);
 
         Service svc = client.getEndpoint().getService();
@@ -175,7 +177,8 @@
             }
             sb.append(packadge.name());
         }
-
+        outputDebug(codeModel);
+        
         String packageList = sb.toString();
 
         // our hashcode + timestamp ought to be enough.
@@ -239,6 +242,30 @@
         // delete the classes files
         FileUtils.removeDir(classes);
         return client;
+    }
+
+    private void outputDebug(JCodeModel codeModel) {
+        if (!LOG.isLoggable(Level.INFO)) {
+            return;
+        }
+        
+        StringBuffer sb = new StringBuffer();
+        boolean first = true;
+        for (Iterator<JPackage> itr = codeModel.packages(); itr.hasNext();) {
+            JPackage package1 = itr.next();
+            
+            for (Iterator<JDefinedClass> citr = package1.classes(); citr.hasNext();) {
+                if (!first) {
+                    sb.append(", ");
+                } else {
+                    first = false;
+                }
+                sb.append(citr.next().fullName());
+            }
+        }
+        
+        LOG.log(Level.INFO, "Created classes: " + sb.toString());
+        
     }
 
     private void addSchemas(String wsdlUrl, Collection<SchemaInfo> schemas, SchemaCompiler compiler) {