You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Raymond Feng <zh...@xecent.com> on 2002/03/15 00:30:06 UTC

Attachment sample works!

Hi, Rick.

It works with the updated attachdeploy.wsdd. Great job!

Raymond

----- Original Message -----
From: "Rick Rineholt" <ri...@us.ibm.com>
To: <ax...@xml.apache.org>
Cc: <zh...@xecent.com>
Sent: Thursday, March 14, 2002 12:08 PM
Subject: Re: cvs commit: xml-axis/java/src/org/apache/axis/encoding/ser
JAFDataHandlerDeserializerFactory.java


> So much for testing in a polluted environment.  Try this again with this
> deployment
> file.
> >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" <bu...@us.ibm.com>
> >To: <ax...@xml.apache.org>
> >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
> >> butek@us.ibm.com
> >> ---------------------- Forwarded by Russell Butek/Austin/IBM on
> 03/14/2002
> >> 09:08 AM ---------------------------
> >>
> >>
> >>
> >>
> >>
> >> rineholt@apache.org on 03/13/2002 10:20:52 PM
> >>
> >> Please respond to axis-dev@xml.apache.org
> >>
> >> To:    xml-axis-cvs@apache.org
> >> 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/JAFDataHandlerDeserializerFa
c
>
> >tory.java
> >>
> >>
> >>   Index: JAFDataHandlerDeserializerFactory.java
> >>   ===================================================================
> >>   RCS file:
> >>
>
>/home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/JAFDataHandlerDese
r
>
> >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 (scheu@us.ibm.com)
> >>     */
> >>    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 ()" );
> >>        }
> >>    }
> >>
> >>
> >>
> >>
> >>
>
>
> Rick Rineholt
> "The truth is out there...  All you need is a better search engine!"
>
> rineholt@us.ibm.com
>