You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2007/11/16 17:18:47 UTC
svn commit: r595717 - in /incubator/cxf/branches/2.0.x-fixes: ./
rt/core/src/main/java/org/apache/cxf/interceptor/
systests/src/test/java/org/apache/cxf/systest/fault/ testutils/
testutils/src/main/resources/wsdl/ tools/common/src/main/java/org/apache/...
Author: dkulp
Date: Fri Nov 16 08:18:45 2007
New Revision: 595717
URL: http://svn.apache.org/viewvc?rev=595717&view=rev
Log:
Merged revisions 595537 via svnmerge from
https://svn.apache.org/repos/asf/incubator/cxf/trunk
........
r595537 | ema | 2007-11-15 22:35:09 -0500 (Thu, 15 Nov 2007) | 2 lines
Fixed issue [CXF-964]. Now client can unmarshal FaultBean which constructor arguments contains primitive class
Fixed wsdl2java usage xml
........
Added:
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/fault/
- copied from r595537, incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/fault/
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/fault/GreeterImpl.java
- copied unchanged from r595537, incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/fault/GreeterImpl.java
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/fault/IntFaultClientServerTest.java
- copied unchanged from r595537, incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/fault/IntFaultClientServerTest.java
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/fault/Server.java
- copied unchanged from r595537, incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/fault/Server.java
incubator/cxf/branches/2.0.x-fixes/testutils/src/main/resources/wsdl/hello_world_fault.wsdl
- copied unchanged from r595537, incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_fault.wsdl
incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/cxf964/
- copied from r595537, incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/cxf964/
incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/cxf964/hello_world_fault.wsdl
- copied unchanged from r595537, incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/cxf964/hello_world_fault.wsdl
Modified:
incubator/cxf/branches/2.0.x-fixes/ (props changed)
incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
incubator/cxf/branches/2.0.x-fixes/testutils/pom.xml
incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaClass.java
incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaField.java
incubator/cxf/branches/2.0.x-fixes/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java
incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/generator/wsdl11/wrapperbean.vm
incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java
incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml
incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
Propchange: incubator/cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java (original)
+++ incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java Fri Nov 16 08:18:45 2007
@@ -146,7 +146,17 @@
e = constructor.newInstance(new Object[]{fault.getMessage()});
} else {
Class<?> beanClass = e.getClass();
- Constructor constructor = exClass.getConstructor(new Class[]{String.class, beanClass});
+ Constructor constructor = null;
+ try {
+ constructor = exClass.getConstructor(new Class[]{String.class, beanClass});
+ } catch (NoSuchMethodException ex) {
+ Class<?> cls = getPrimitiveClass(beanClass);
+ if (cls != null) {
+ constructor = exClass.getConstructor(new Class[]{String.class, cls});
+ } else {
+ throw ex;
+ }
+ }
e = constructor.newInstance(new Object[]{fault.getMessage(), e});
}
msg.setContent(Exception.class, e);
@@ -201,5 +211,22 @@
}
}
+ }
+
+ private Class<?> getPrimitiveClass(Class<?> cls) {
+ if (cls.isPrimitive()) {
+ return cls;
+ }
+ try {
+ Field field = cls.getField("TYPE");
+ Object obj = (Object)cls;
+ Object type = field.get(obj);
+ if (type instanceof Class) {
+ return (Class)type;
+ }
+ } catch (Exception e) {
+ // do nothing
+ }
+ return null;
}
}
Modified: incubator/cxf/branches/2.0.x-fixes/testutils/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/testutils/pom.xml?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/testutils/pom.xml (original)
+++ incubator/cxf/branches/2.0.x-fixes/testutils/pom.xml Fri Nov 16 08:18:45 2007
@@ -370,6 +370,9 @@
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/inherit.wsdl</wsdl>
</wsdlOption>
+ <wsdlOption>
+ <wsdl>${basedir}/src/main/resources/wsdl/hello_world_fault.wsdl</wsdl>
+ </wsdlOption>
</wsdlOptions>
</configuration>
Modified: incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaClass.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaClass.java?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaClass.java (original)
+++ incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaClass.java Fri Nov 16 08:18:45 2007
@@ -44,16 +44,16 @@
}
public JavaMethod appendGetter(JavaField field) {
- String getterName = "get" + AnnotationUtil.capitalize(field.getName());
+ String getterName = "get" + StringUtils.capitalize(field.getParaName());
JavaMethod jMethod = new JavaMethod(this);
jMethod.setName(getterName);
- jMethod.setReturn(new JavaReturn(field.getName(),
+ jMethod.setReturn(new JavaReturn(field.getParaName(),
field.getType(),
field.getTargetNamespace()));
JavaCodeBlock block = new JavaCodeBlock();
JavaExpression exp = new JavaExpression();
- exp.setValue("return this." + field.getName());
+ exp.setValue("return this." + field.getParaName());
block.getExpressions().add(exp);
jMethod.setJavaCodeBlock(block);
@@ -63,16 +63,16 @@
}
public JavaMethod appendSetter(JavaField field) {
- String setterName = "set" + AnnotationUtil.capitalize(field.getName());
+ String setterName = "set" + StringUtils.capitalize(field.getParaName());
JavaMethod jMethod = new JavaMethod(this);
jMethod.setReturn(new JavaReturn("return", "void", null));
- String paramName = getSetterParamName(field.getName());
+ String paramName = getSetterParamName(field.getParaName());
jMethod.addParameter(new JavaParameter(paramName,
field.getType(),
field.getTargetNamespace()));
JavaCodeBlock block = new JavaCodeBlock();
JavaExpression exp = new JavaExpression();
- exp.setValue("this." + field.getName() + " = " + paramName);
+ exp.setValue("this." + field.getParaName() + " = " + paramName);
block.getExpressions().add(exp);
jMethod.setJavaCodeBlock(block);
Modified: incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaField.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaField.java?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaField.java (original)
+++ incubator/cxf/branches/2.0.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaField.java Fri Nov 16 08:18:45 2007
@@ -54,6 +54,13 @@
}
public String getName() {
+ /*if (URIParserUtil.containsReservedKeywords(this.name)) {
+ return "_" + this.name;
+ }*/
+ return this.name;
+ }
+
+ public String getParaName() {
if (URIParserUtil.containsReservedKeywords(this.name)) {
return "_" + this.name;
}
Modified: incubator/cxf/branches/2.0.x-fixes/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java (original)
+++ incubator/cxf/branches/2.0.x-fixes/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java Fri Nov 16 08:18:45 2007
@@ -59,7 +59,7 @@
Method method = (Method)opInfo.getProperty("operation.method");
JavaField field = responseWrapper.buildFields(method, message).get(0);
- assertEquals("_return", field.getName());
+ assertEquals("_return", field.getParaName());
assertEquals("String[]", field.getType());
// Test int[]
@@ -71,7 +71,7 @@
method = (Method) opInfo.getProperty("operation.method");
field = responseWrapper.buildFields(method, message).get(0);
- assertEquals("_return", field.getName());
+ assertEquals("_return", field.getParaName());
assertEquals("int[]", field.getType());
// Test TestDataBean[]
@@ -83,7 +83,7 @@
method = (Method) opInfo.getProperty("operation.method");
field = responseWrapper.buildFields(method, message).get(0);
- assertEquals("_return", field.getName());
+ assertEquals("_return", field.getParaName());
assertEquals("org.apache.cxf.tools.fortest.withannotation.doc.TestDataBean[]", field.getType());
}
Modified: incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/generator/wsdl11/wrapperbean.vm
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/generator/wsdl11/wrapperbean.vm?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/generator/wsdl11/wrapperbean.vm (original)
+++ incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/generator/wsdl11/wrapperbean.vm Fri Nov 16 08:18:45 2007
@@ -38,7 +38,7 @@
#if($field.Annotation)
$field.Annotation
#end
- private $field.Type $field.Name;
+ private $field.Type $field.ParaName;
#end
#foreach ($method in $bean.Methods)
Modified: incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java (original)
+++ incubator/cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/ResponseWrapperTest.java Fri Nov 16 08:18:45 2007
@@ -59,7 +59,7 @@
Method method = (Method)opInfo.getProperty("operation.method");
JavaField field = responseWrapper.buildFields(method, message).get(0);
- assertEquals("_return", field.getName());
+ assertEquals("_return", field.getParaName());
assertEquals("String[]", field.getType());
// Test int[]
@@ -71,7 +71,7 @@
method = (Method) opInfo.getProperty("operation.method");
field = responseWrapper.buildFields(method, message).get(0);
- assertEquals("_return", field.getName());
+ assertEquals("_return", field.getParaName());
assertEquals("int[]", field.getType());
// Test TestDataBean[]
@@ -83,7 +83,7 @@
method = (Method) opInfo.getProperty("operation.method");
field = responseWrapper.buildFields(method, message).get(0);
- assertEquals("_return", field.getName());
+ assertEquals("_return", field.getParaName());
assertEquals("org.apache.cxf.tools.fortest.withannotation.doc.TestDataBean[]", field.getType());
}
Modified: incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml (original)
+++ incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml Fri Nov 16 08:18:45 2007
@@ -85,8 +85,7 @@
</annotation>
<switch>sn</switch>
<associatedArgument placement="afterSpace">
- <valuetype>NamingSpacePackageString</valuetype>
- <annotation>[wsdl namespace =]Package Name</annotation>
+ <annotation>service-name</annotation>
</associatedArgument>
</option>
Modified: incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java?rev=595717&r1=595716&r2=595717&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java (original)
+++ incubator/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java Fri Nov 16 08:18:45 2007
@@ -26,6 +26,7 @@
import java.lang.reflect.Modifier;
import javax.jws.WebService;
import javax.xml.namespace.QName;
+import javax.xml.ws.WebFault;
import javax.xml.ws.WebServiceClient;
import org.apache.cxf.common.i18n.Message;
@@ -888,5 +889,18 @@
assertNotNull("Customized SEI class is not found", clz);
Method customizedMethod = clz.getMethod("myGreetMe", new Class[] {String.class});
assertNotNull("Customized method 'myGreetMe' in MyGreeter.class is not found", customizedMethod);
- }
+ }
+
+
+ @Test
+ public void testCXF964() throws Exception {
+ env.put(ToolConstants.CFG_WSDLURL,
+ getLocation("/wsdl2java_wsdl/cxf964/hello_world_fault.wsdl"));
+ processor.setContext(env);
+ processor.execute();
+ Class<?> clz = classLoader.loadClass("org.apache.intfault.BadRecordLitFault");
+ WebFault webFault = AnnotationUtil.getPrivClassAnnotation(clz, WebFault.class);
+ assertEquals("int", webFault.name());
+ }
+
}