owenb       2002/12/16 07:44:49

  Modified:    java/src/org/apache/wsif/providers/soap/apachesoap Tag:
                        pre1_2_0-patches WSIFOperation_ApacheSOAP.java
  Log:
  When mapping types in prepare() and mapSubtypes(), use the inputUse or outputUse 
values to determine whether or not to use "literal" for the encoding.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.30.2.3  +15 -11    
xml-axis-wsif/java/src/org/apache/wsif/providers/soap/apachesoap/WSIFOperation_ApacheSOAP.java
  
  Index: WSIFOperation_ApacheSOAP.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis-wsif/java/src/org/apache/wsif/providers/soap/apachesoap/WSIFOperation_ApacheSOAP.java,v
  retrieving revision 1.30.2.2
  retrieving revision 1.30.2.3
  diff -u -r1.30.2.2 -r1.30.2.3
  --- WSIFOperation_ApacheSOAP.java     25 Nov 2002 14:55:32 -0000      1.30.2.2
  +++ WSIFOperation_ApacheSOAP.java     16 Dec 2002 15:44:49 -0000      1.30.2.3
  @@ -341,7 +341,7 @@
                                                   .getContextClassLoader());
                                   }
                                   types[i] = inputClass;                              
                                            
  -                                if (inputEncodingStyle.equals("literal")) {
  +                                if ("literal".equals(inputUse)) {
                                        smr.mapTypes("literal", qname, inputClass, 
partSer, partSer);
                                   } else {
                                       smr.mapTypes(
  @@ -351,7 +351,7 @@
                                           beanSer,
                                           beanSer);
                                   } 
  -                                mapSubtypes(inputClass, beanSer, partSer, smr);
  +                                mapSubtypes(inputClass, beanSer, partSer, smr, 
inputUse);
                               } catch (ClassNotFoundException exn1) {
                                Trc.ignoredException(exn1);
                               }
  @@ -437,8 +437,13 @@
                                                   .currentThread()
                                                   .getContextClassLoader());
                                   }           
  -                                if (inputEncodingStyle.equals("literal")) {
  -                                     smr.mapTypes("literal", qname, returnType, 
partSer, partSer);
  +                                if ("literal".equals(outputUse)) {
  +                                    smr.mapTypes(
  +                                        "literal",
  +                                        qname,
  +                                        returnType,
  +                                        partSer,
  +                                        partSer);
                                   } else {
                                       smr.mapTypes(
                                           Constants.NS_URI_SOAP_ENC,
  @@ -447,7 +452,7 @@
                                           beanSer,
                                           beanSer);
                                   }                                
  -                                mapSubtypes(returnType, beanSer, partSer, smr);     
                           
  +                                mapSubtypes(returnType, beanSer, partSer, smr, 
outputUse);
                               } catch (ClassNotFoundException exn1) {
                                Trc.ignoredException(exn1);
                               }
  @@ -474,7 +479,8 @@
           Class javaType,
           BeanSerializer beanSer,
           PartSerializer partSer,
  -        SOAPMappingRegistry smr) {
  +        SOAPMappingRegistry smr,
  +        String use) {
           
           BeanInfo beanInfo = null;
           try {
  @@ -490,9 +496,7 @@
                       Class propType = properties[i].getPropertyType();
                       try {
                           org.apache.soap.util.xml.QName qname =
  -                            smr.queryElementType(
  -                                propType,
  -                                inputEncodingStyle);
  +                            smr.queryElementType(propType, inputEncodingStyle);
                       } catch (IllegalArgumentException exn) {
                        Trc.exception(exn);
                           // not found in the registry - complex type, not registered
  @@ -510,7 +514,7 @@
                                           packageName),
                                       className);
   
  -                            if (inputEncodingStyle.equals("literal")) {
  +                            if ("literal".equals(use)) {
                                   smr.mapTypes(
                                       "literal",
                                       qname,
  @@ -525,7 +529,7 @@
                                       beanSer,
                                       beanSer);
                               }
  -                            mapSubtypes(propType, beanSer, partSer, smr);
  +                            mapSubtypes(propType, beanSer, partSer, smr, use);
                           }
                       }
                   }
  
  
  


Reply via email to