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);
                            }
  
  
  


Reply via email to