You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2002/10/07 22:18:58 UTC
cvs commit: xml-axis/java/test/wsdl/faults FaultServiceTestCase.java
gdaniels 2002/10/07 13:18:58
Modified: java/src/org/apache/axis/description Tag: interop4
OperationDesc.java
java/src/org/apache/axis/encoding Tag: interop4
DeserializerImpl.java
java/src/org/apache/axis/encoding/ser Tag: interop4
ArrayDeserializer.java BeanDeserializer.java
java/src/org/apache/axis/message Tag: interop4
SOAPFaultDetailsBuilder.java
java/src/org/apache/axis/utils Tag: interop4 BeanUtils.java
java/src/org/apache/axis/wsdl/toJava Tag: interop4
JavaBeanHelperWriter.java
java/test/wsdl/faults Tag: interop4
FaultServiceTestCase.java
Log:
Further progress towards functional-tests passage
Revision Changes Path
No revision
No revision
1.23.2.4 +17 -4 xml-axis/java/src/org/apache/axis/description/OperationDesc.java
Index: OperationDesc.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/OperationDesc.java,v
retrieving revision 1.23.2.3
retrieving revision 1.23.2.4
diff -u -r1.23.2.3 -r1.23.2.4
--- OperationDesc.java 7 Oct 2002 02:23:27 -0000 1.23.2.3
+++ OperationDesc.java 7 Oct 2002 20:18:57 -0000 1.23.2.4
@@ -364,12 +364,25 @@
if (faults == null || cls == null) {
return null;
}
- for (Iterator iterator = faults.iterator(); iterator.hasNext();) {
- FaultDesc desc = (FaultDesc) iterator.next();
- if (cls.getName().equals(desc.getClassName())) {
- return desc;
+
+ while (cls != null) {
+ // Check each class in the inheritance hierarchy, stopping at
+ // java.* or javax.* classes.
+
+ for (Iterator iterator = faults.iterator(); iterator.hasNext();) {
+ FaultDesc desc = (FaultDesc) iterator.next();
+ if (cls.getName().equals(desc.getClassName())) {
+ return desc;
+ }
+ }
+
+ cls = cls.getSuperclass();
+ if (cls != null && (cls.getName().startsWith("java.") ||
+ cls.getName().startsWith("javax."))) {
+ cls = null;
}
}
+
return null;
}
No revision
No revision
1.30.2.6 +5 -4 xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java
Index: DeserializerImpl.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java,v
retrieving revision 1.30.2.5
retrieving revision 1.30.2.6
diff -u -r1.30.2.5 -r1.30.2.6
--- DeserializerImpl.java 7 Oct 2002 17:10:57 -0000 1.30.2.5
+++ DeserializerImpl.java 7 Oct 2002 20:18:57 -0000 1.30.2.6
@@ -303,7 +303,7 @@
// lets us know when it's done so we can take it off our list.
dSer.registerValueTarget(new CallbackTarget(this, dSer));
}
-
+
protected boolean isHref = false;
protected boolean isNil = false; // xsd:nil attribute is set to true
protected String id = null; // Set to the id of the element
@@ -446,12 +446,13 @@
DeserializationContext context)
throws SAXException
{
+ QName type = context.getTypeFromAttributes(namespace,
+ localName,
+ attributes);
+
// If I'm the base class, try replacing myself with an
// appropriate deserializer gleaned from type info.
if (this.getClass().equals(DeserializerImpl.class)) {
- QName type = context.getTypeFromAttributes(namespace,
- localName,
- attributes);
// If no type is specified, use the defaultType if available.
// xsd:string is used if no type is provided.
if (type == null) {
No revision
No revision
1.30.2.3 +1 -1 xml-axis/java/src/org/apache/axis/encoding/ser/ArrayDeserializer.java
Index: ArrayDeserializer.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/ArrayDeserializer.java,v
retrieving revision 1.30.2.2
retrieving revision 1.30.2.3
diff -u -r1.30.2.2 -r1.30.2.3
--- ArrayDeserializer.java 7 Oct 2002 03:42:28 -0000 1.30.2.2
+++ ArrayDeserializer.java 7 Oct 2002 20:18:57 -0000 1.30.2.3
@@ -391,7 +391,7 @@
// Get the deserializer for the type.
Deserializer dSer = null;
- if (itemType != null) {
+ if (itemType != null && (context.getCurElement().getHref() == null)) {
dSer = context.getDeserializerForType(itemType);
}
1.55.4.2 +1 -1 xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java
Index: BeanDeserializer.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java,v
retrieving revision 1.55.4.1
retrieving revision 1.55.4.2
diff -u -r1.55.4.1 -r1.55.4.2
--- BeanDeserializer.java 7 Oct 2002 02:23:28 -0000 1.55.4.1
+++ BeanDeserializer.java 7 Oct 2002 20:18:57 -0000 1.55.4.2
@@ -432,7 +432,7 @@
Deserializer dSer = null;
- if (xmlType != null) {
+ if (xmlType != null && href == null) {
// Use the xmlType to get the deserializer.
dSer = context.getDeserializerForType(xmlType);
} else {
No revision
No revision
1.1.2.6 +8 -1 xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java
Index: SOAPFaultDetailsBuilder.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- SOAPFaultDetailsBuilder.java 5 Oct 2002 05:26:07 -0000 1.1.2.5
+++ SOAPFaultDetailsBuilder.java 7 Oct 2002 20:18:58 -0000 1.1.2.6
@@ -62,6 +62,7 @@
import org.apache.axis.encoding.Deserializer;
import org.apache.axis.encoding.Callback;
import org.apache.axis.encoding.CallbackTarget;
+import org.apache.axis.encoding.DeserializerImpl;
import org.apache.axis.utils.ClassUtils;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -113,7 +114,13 @@
builder.setFaultClass(faultDesc.getClass());
builder.setWaiting(true);
// register callback for the data, use the xmlType from fault info
- Deserializer dser = context.getDeserializerForType(faultDesc.getXmlType());
+ Deserializer dser = null;
+ if (attributes.getValue("href") == null) {
+ dser = context.getDeserializerForType(faultDesc.getXmlType());
+ } else {
+ dser = new DeserializerImpl();
+ dser.setDefaultType(faultDesc.getXmlType());
+ }
if (dser != null) {
dser.registerValueTarget(new CallbackTarget(this, "faultData"));
}
No revision
No revision
1.15.2.2 +1 -1 xml-axis/java/src/org/apache/axis/utils/BeanUtils.java
Index: BeanUtils.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/BeanUtils.java,v
retrieving revision 1.15.2.1
retrieving revision 1.15.2.2
diff -u -r1.15.2.1 -r1.15.2.2
--- BeanUtils.java 3 Oct 2002 18:58:07 -0000 1.15.2.1
+++ BeanUtils.java 7 Oct 2002 20:18:58 -0000 1.15.2.2
@@ -122,7 +122,7 @@
result = Introspector.
getBeanInfo(secJavaType,Exception.class).
getPropertyDescriptors();
- } else if (superClass == AxisFault.class) {
+ } else if (AxisFault.class.isAssignableFrom(secJavaType)) {
// Don't include AxisFault data
result = Introspector.
getBeanInfo(secJavaType,AxisFault.class).
No revision
No revision
1.24.2.1 +5 -1 xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java
Index: JavaBeanHelperWriter.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java,v
retrieving revision 1.24
retrieving revision 1.24.2.1
diff -u -r1.24 -r1.24.2.1
--- JavaBeanHelperWriter.java 19 Sep 2002 20:25:12 -0000 1.24
+++ JavaBeanHelperWriter.java 7 Oct 2002 20:18:58 -0000 1.24.2.1
@@ -272,7 +272,11 @@
QName xmlName = elem.getName();
// Some special handling for arrays
- QName xmlType = elem.getType().getQName();
+ TypeEntry elemType = elem.getType();
+ if (elemType.getRefType() != null) {
+ elemType = elemType.getRefType();
+ }
+ QName xmlType = elemType.getQName();
if (xmlType != null && xmlType.getLocalPart().indexOf("[") > 0) {
// Skip array types, because they are special
xmlType = null;
No revision
No revision
1.4.8.2 +6 -6 xml-axis/java/test/wsdl/faults/FaultServiceTestCase.java
Index: FaultServiceTestCase.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/wsdl/faults/FaultServiceTestCase.java,v
retrieving revision 1.4.8.1
retrieving revision 1.4.8.2
diff -u -r1.4.8.1 -r1.4.8.2
--- FaultServiceTestCase.java 3 Oct 2002 14:51:50 -0000 1.4.8.1
+++ FaultServiceTestCase.java 7 Oct 2002 20:18:58 -0000 1.4.8.2
@@ -76,12 +76,12 @@
// that it throws a DerivedFault, but we know the impl actually
// throws DerivedFault2 which extends DerivedFault)
catch (DerivedFault2 e) {
- //assertEquals("Param A in DerivedFault2 doesn't match original",
- // a, e.getA());
- //assertEquals("Param B in DerivedFault2 doesn't match original",
- // b, e.getB());
- //assertEquals("Param C in DerivedFault2 doesn't match original",
- // c, e.getC(), 0.01F);
+ assertEquals("Param A in DerivedFault2 doesn't match original",
+ a, e.getA());
+ assertEquals("Param B in DerivedFault2 doesn't match original",
+ b, e.getB());
+ assertEquals("Param C in DerivedFault2 doesn't match original",
+ c, e.getC(), 0.01F);
}
catch (DerivedFault e) {
throw new junit.framework.