rineholt    02/03/13 20:20:52

  Modified:    java/samples/attachments EchoAttachment.java
               java/src/org/apache/axis/client Call.java
               java/src/org/apache/axis/encoding DeserializerImpl.java
               java/src/org/apache/axis/encoding/ser
                        JAFDataHandlerDeserializerFactory.java
  Log:
  Fix attachment sample to print out error if fault occurs.  AxisFautl.dump is now 
silient
  Fix Call so it recognizes the SOAPBody part in WSDL with attachments.
  Fix to invoke serializer for attachments in arrays.
  
  Revision  Changes    Path
  1.9       +3 -2      xml-axis/java/samples/attachments/EchoAttachment.java
  
  Index: EchoAttachment.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/attachments/EchoAttachment.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- EchoAttachment.java       27 Feb 2002 02:57:22 -0000      1.8
  +++ EchoAttachment.java       14 Mar 2002 04:20:52 -0000      1.9
  @@ -122,6 +122,7 @@
                                    qnameAttachment,
                                    JAFDataHandlerSerializerFactory.class,
                                    JAFDataHandlerDeserializerFactory.class);
  +
                                    
           call.addParameter( "source", qnameAttachment,
                   ParameterMode.PARAM_MODE_IN ); //Add the file.
  @@ -329,8 +330,8 @@
               if ( e instanceof AxisFault ) {
                   ((AxisFault) e).dump();
               } 
  -            else
  -                e.printStackTrace();
  +            System.err.println(e);
  +             e.printStackTrace();
           }
           System.exit(18);
       }
  
  
  
  1.94      +17 -0     xml-axis/java/src/org/apache/axis/client/Call.java
  
  Index: Call.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/Call.java,v
  retrieving revision 1.93
  retrieving revision 1.94
  diff -u -r1.93 -r1.94
  --- Call.java 13 Mar 2002 19:50:58 -0000      1.93
  +++ Call.java 14 Mar 2002 04:20:52 -0000      1.94
  @@ -881,6 +881,23 @@
               list = bIn.getExtensibilityElements();
               for ( int i = 0 ; list != null && i < list.size() ; i++ ) {
                   Object obj = list.get(i);
  +                if( obj instanceof javax.wsdl.extensions.mime.MIMEMultipartRelated){
  +                  javax.wsdl.extensions.mime.MIMEMultipartRelated mpr=
  +                  (javax.wsdl.extensions.mime.MIMEMultipartRelated) obj;
  +                  Object part= null; 
  +                  List l=  mpr.getMIMEParts();
  +                  for(int j=0; l!= null && j< l.size() && part== null; j++){
  +                     javax.wsdl.extensions.mime.MIMEPart mp
  +                     = (javax.wsdl.extensions.mime.MIMEPart)l.get(j);
  +                     List ll= mp.getExtensibilityElements();
  +                     for(int k=0; ll!= null && k< ll.size() && part== null; k++){
  +                       part= ll.get(k);
  +                       if ( !(part instanceof SOAPBody)) part = null; 
  +                     }
  +                  }
  +                  if(null != part) obj= part;
  +                }
  +
                   if ( obj instanceof SOAPBody ) { 
                       SOAPBody sBody  = (SOAPBody) obj ;
                       list = sBody.getEncodingStyles();
  
  
  
  1.6       +14 -1     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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DeserializerImpl.java     6 Mar 2002 19:35:49 -0000       1.5
  +++ DeserializerImpl.java     14 Mar 2002 04:20:52 -0000      1.6
  @@ -62,6 +62,7 @@
   import org.apache.axis.message.SAX2EventRecorder;
   import org.apache.axis.message.SAXOutputter;
   import org.apache.axis.message.SOAPHandler;
  +import org.apache.axis.Part;
   import org.apache.axis.utils.JavaUtils;
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  @@ -366,13 +367,25 @@
                   ((MessageElement)ref).publishToHandler((DefaultHandler) context);
                   context.setRecorder(r);
               } else {
  +
  +                if( !href.startsWith("#") && defaultType != null && ref instanceof 
Part ){
  +                    //For attachments this is the end of the road-- invoke 
deserializer
  +                    Deserializer dser= context.getDeserializerForType(defaultType );
  +                    if(null != dser){          
  +                      dser.startElement(namespace, localName,
  +                             qName, attributes,
  +                             context);
  +                      ref = dser.getValue();       
  +                             
  +                    }         
  +               }
  +                
                   // If the ref is not a MessageElement, then it must be an
                   // element that has already been deserialized.  Use it directly.
                   value = ref;
                   valueComplete();
               }
               
  -            // !!! INSERT DEALING WITH ATTACHMENTS STUFF HERE?
           } else {
               isHref = false;
               onStartElement(namespace, localName, qName, attributes,
  
  
  
  1.2       +6 -0      
xml-axis/java/src/org/apache/axis/encoding/ser/JAFDataHandlerDeserializerFactory.java
  
  Index: JAFDataHandlerDeserializerFactory.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/JAFDataHandlerDeserializerFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JAFDataHandlerDeserializerFactory.java    26 Jan 2002 02:40:34 -0000      1.1
  +++ JAFDataHandlerDeserializerFactory.java    14 Mar 2002 04:20:52 -0000      1.2
  @@ -78,17 +78,23 @@
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.DeserializerImpl;
   
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
  +
   /**
    * A JAFDataHandlerDeserializer Factory
    *
    *  @author Rich Scheuerle ([EMAIL PROTECTED])
    */
   public class JAFDataHandlerDeserializerFactory extends BaseDeserializerFactory {
  +   protected static Log log = 
LogFactory.getLog(JAFDataHandlerDeserializerFactory.class.getName());
   
       public JAFDataHandlerDeserializerFactory(Class javaType, QName xmlType) {
           super(JAFDataHandlerDeserializer.class, false, xmlType, javaType); 
  +        log.debug("Enter JAFDataHandlerDeserializerFactory ("+javaType+", 
"+xmlType+")");
       }
       public JAFDataHandlerDeserializerFactory() {
           super(JAFDataHandlerDeserializer.class, false); 
  +        log.debug("Enter JAFDataHandlerDeserializerFactory ()" );
       }
   }
  
  
  


Reply via email to