antelder 2003/01/02 07:36:07
Modified: java/src/org/apache/wsif/providers/soap/apacheaxis
WSIFOperation_ApacheAxis.java
Log:
Fix AXIS operation to correctly choose the SimpleSerializerfactory or
BeanSerializerfactory for mapped complex types
Revision Changes Path
1.53 +8 -1
xml-axis-wsif/java/src/org/apache/wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java
Index: WSIFOperation_ApacheAxis.java
===================================================================
RCS file:
/home/cvs/xml-axis-wsif/java/src/org/apache/wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- WSIFOperation_ApacheAxis.java 2 Jan 2003 10:30:02 -0000 1.52
+++ WSIFOperation_ApacheAxis.java 2 Jan 2003 15:36:07 -0000 1.53
@@ -97,12 +97,15 @@
import org.apache.axis.client.Transport;
import org.apache.axis.encoding.DeserializerFactory;
import org.apache.axis.encoding.SerializerFactory;
+import org.apache.axis.encoding.SimpleType;
import org.apache.axis.encoding.TypeMapping;
import org.apache.axis.encoding.TypeMappingRegistry;
import org.apache.axis.encoding.ser.ArrayDeserializerFactory;
import org.apache.axis.encoding.ser.ArraySerializerFactory;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
+import org.apache.axis.encoding.ser.SimpleDeserializerFactory;
+import org.apache.axis.encoding.ser.SimpleSerializerFactory;
import org.apache.axis.message.RPCElement;
import org.apache.axis.message.RPCParam;
import org.apache.axis.message.SOAPBodyElement;
@@ -1761,13 +1764,17 @@
if (tm.getSerializer(objClass, xmlType) == null) {
if (objClass.isArray()) {
sf = new ArraySerializerFactory();
+ } else if (SimpleType.class.isAssignableFrom(objClass)) {
+ sf = new SimpleSerializerFactory(objClass,
xmlType);
} else {
sf = new BeanSerializerFactory(objClass, xmlType);
- }
+ }
}
if (tm.getDeserializer(objClass, xmlType) == null) {
if (objClass.isArray()) {
df = new ArrayDeserializerFactory();
+ } else if (SimpleType.class.isAssignableFrom(objClass)) {
+ df = new SimpleDeserializerFactory(objClass,
xmlType);
} else {
df = new BeanDeserializerFactory(objClass,
xmlType);
}