I tried the latest code with this commit from the CVS. The EchoAttachment sample still fails with with a server-side exception which indicates that there is a parameter mismatch to call "EchoAttachmentService.echo(javax.activation.DataHandler)" with a "org.apache.axis.attachments.AttachmentPart". It's the same problem as I reported before.
Thanks, Raymond ----- Original Message ----- From: "Russell Butek" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, March 14, 2002 7:09 AM Subject: cvs commit: xml-axis/java/src/org/apache/axis/encoding/ser JAFDataHandlerDeserializerFactory.java > Does this mean Doug's issue #1 is now fixed? Can I now remove that entry > in the "MUST DO FOR BETA 1" list? > > Russell Butek > [EMAIL PROTECTED] > ---------------------- Forwarded by Russell Butek/Austin/IBM on 03/14/2002 > 09:08 AM --------------------------- > > > > > > [EMAIL PROTECTED] on 03/13/2002 10:20:52 PM > > Please respond to [EMAIL PROTECTED] > > To: [EMAIL PROTECTED] > cc: > > Subject: cvs commit: xml-axis/java/src/org/apache/axis/encoding/ser > JAFDataHandlerDeserializerFactory.java > > > > > 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/JAFDataHandlerDeserializerFac tory.java > > > Index: JAFDataHandlerDeserializerFactory.java > =================================================================== > RCS file: > /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/JAFDataHandlerDeser ializerFactory.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 ()" ); > } > } > > > > >