You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by em...@apache.org on 2011/02/25 07:58:34 UTC

svn commit: r1074410 - in /cxf/branches/2.3.x-fixes: rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/ rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/simple/ tools/javato...

Author: ema
Date: Fri Feb 25 06:58:34 2011
New Revision: 1074410

URL: http://svn.apache.org/viewvc?rev=1074410&view=rev
Log:
Merged revisions 1074402 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1074402 | ema | 2011-02-25 13:35:50 +0800 (Fri, 25 Feb 2011) | 1 line
  
  [CXF-3364]:Generate wsdl elements from Exception.class
........

Added:
    cxf/branches/2.3.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/simple/Caculator.java
      - copied unchanged from r1074402, cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/simple/Caculator.java
Modified:
    cxf/branches/2.3.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
    cxf/branches/2.3.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
    cxf/branches/2.3.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java

Modified: cxf/branches/2.3.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java?rev=1074410&r1=1074409&r2=1074410&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java (original)
+++ cxf/branches/2.3.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java Fri Feb 25 06:58:34 2011
@@ -547,6 +547,16 @@ class JAXBSchemaInitializer extends Serv
                 }                
             }
         }
+        // Create element in xsd:sequence for Exception.class
+        if (cls.equals(Exception.class)) {
+            JAXBBeanInfo beanInfo = getBeanInfo(java.lang.String.class);
+            XmlSchemaElement exEle = new XmlSchemaElement();
+            exEle.setName("message");
+            exEle.setSchemaTypeName(getTypeName(beanInfo));
+            exEle.setMinOccurs(0);
+            seq.getItems().add(exEle);
+
+        }
         part.setProperty(JAXBDataBinding.class.getName() + ".CUSTOM_EXCEPTION", Boolean.TRUE);
     }
     

Modified: cxf/branches/2.3.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=1074410&r1=1074409&r2=1074410&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original)
+++ cxf/branches/2.3.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Fri Feb 25 06:58:34 2011
@@ -2003,7 +2003,7 @@ public class ReflectionServiceFactoryBea
             Class exClazz = exceptionClasses[i];
 
             // Ignore XFireFaults because they don't need to be declared
-            if (exClazz.equals(Exception.class) || Fault.class.isAssignableFrom(exClazz)
+            if (Fault.class.isAssignableFrom(exClazz)
                 || exClazz.equals(RuntimeException.class) || exClazz.equals(Throwable.class)) {
                 continue;
             }

Modified: cxf/branches/2.3.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java?rev=1074410&r1=1074409&r2=1074410&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java (original)
+++ cxf/branches/2.3.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java Fri Feb 25 06:58:34 2011
@@ -625,4 +625,33 @@ public class JavaToProcessorTest extends
         assertTrue(xsd, xsd.indexOf("ref=") == -1);
         
     }
+    
+    
+    @Test
+    public void testException() throws Exception {
+        env.put(ToolConstants.CFG_OUTPUTFILE, output.getPath() + "/exception.wsdl");
+        env.put(ToolConstants.CFG_CLASSNAME, "org.apache.cxf.tools.fortest.simple.Caculator");
+        env.put(ToolConstants.CFG_VERBOSE, ToolConstants.CFG_VERBOSE);
+        try {
+            processor.setEnvironment(env);
+            processor.process();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        File wsdlFile = new File(output, "exception.wsdl");
+        assertTrue(wsdlFile.exists());
+        // schema element
+        String wsdlContent = getStringFromFile(wsdlFile).replaceAll("  ", " ");
+        assertTrue(wsdlContent.indexOf("<xs:complexType name=\"Exception\">") != -1);
+        assertTrue(wsdlContent.indexOf("<xs:element name=\"Exception\" type=\"tns:Exception\"/>") != -1);
+        assertTrue(wsdlContent.indexOf("<xs:element minOccurs=\"0\" name=\"message\" type=\"xs:string\"/>") 
+                   != -1);
+        assertTrue(wsdlContent.indexOf("<xs:element minOccurs=\"0\" name=\"message\" type=\"xs:string\"/>") 
+                   != -1);
+        assertTrue(wsdlContent.indexOf("<wsdl:part name=\"Exception\" element=\"tns:Exception\">") != -1);
+        assertTrue(wsdlContent.indexOf("<wsdl:fault name=\"Exception\" message=\"tns:Exception\">") != -1);
+        assertTrue(wsdlContent.indexOf("<soap:fault name=\"Exception\" use=\"literal\"/>") != -1);
+
+    }
 }