I think the exception is not thrown by the invoke() method but a fault is generated in the response.
try
{
resp =
call.invoke(url, "");
//System.out.println("Response is: " +
resp);
} catch (SOAPException e)
{
e.printStackTrace();
System.err.println("Caught SOAPException (" + e.getFaultCode()
+
"): " + e.getMessage());
return
null;
}
// Check
the response.
if
(!resp.generatedFault())
{
Parameter ret =
resp.getReturnValue();
String encodedString = (String)
ret.getValue();
String decodedString = new String(Base64.decode(encodedString));
// System.out.println("XML String: " +
decodedString);
return decodedString;
} else
{
//this is where the error is
traced
Fault fault = resp.getFault();
System.err.println("Generated fault:
");
System.out.println(" Fault Code = " +
fault.getFaultCode());
System.out.println(" Fault String = " +
fault.getFaultString());
throw new
Exception(fault.getFaultString());
}
> only deserializes responses. Is the line at which the exception is
> thrown doing the Call#invoke?
>
> Scott Nichol
>
> ----- Original Message -----
> From: "Praveen Peddi" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, January 07, 2003 4:56 PM
> Subject: Re: Urgent: Soap With attachments example
>
>
> > I am sorry about it. I didn't mean to demand the response or anything
> like
> > that. I am just kind of under pressure and it looked like the problem
> might
> > be in the soap tool kit (since u said it didn't handler null arguments
> > before).
> >
> > But I appreciate your help. You have been a great help to me.
> >
> > uploadContentObject returns a base64 encoded string. But it looks like
> the
> > request doesn't goto the server at all. I can't see the trace on the
> server
> > I should have been seen if the request comes in.
> >
> > Praveen
> >
> > ----- Original Message -----
> > From: "Scott Nichol" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Tuesday, January 07, 2003 4:41 PM
> > Subject: Re: Urgent: Soap With attachments example
> >
> >
> > > What does uploadContentObject return, specifically, what is the Java
> > > type? If you have provided a mapping for it in the server's
> deployment
> > > descriptor, what is the mapping?
> > >
> > > Scott Nichol
> > >
> > > P.S.: I appreciate that you are probably working on something with a
> > > deadline and require help to move forward, but putting "urgent" in
> the
> > > subject and asking me to "look at the error ASAP" is not the
> greatest
> > > etiquette for this list. I am committed to helping Apache SOAP
> users
> > > and improving the Apache SOAP code, but I do so as an unpaid
> volunteer!
> > > I am also committed to making my mortgage payments ;-), so I cannot
> > > always get to things in a timely manner. Please try to be patient.
> > > And, if I (or someone else on the list) cannot respond quickly
> enough,
> > > there's always the source code available for you to trace through,
> as
> > > well.
> > >
> > > ----- Original Message -----
> > > From: "Praveen Peddi" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Cc: <[EMAIL PROTECTED]>
> > > Sent: Tuesday, January 07, 2003 4:22 PM
> > > Subject: Urgent: Soap With attachments example
> > >
> > >
> > > > Hi Scott,
> > > > Could you please look at the error ASAP and let me know whats
> wrong in
> > > my
> > > > code. I need to fix it ASAP.
> > > >
> > > > Thanks in Advance.
> > > >
> > > > Praveen
> > > >
> > > > ----- Original Message -----
> > > > From: "Praveen Peddi" <[EMAIL PROTECTED]>
> > > > To: <[EMAIL PROTECTED]>
> > > > Sent: Tuesday, January 07, 2003 11:50 AM
> > > > Subject: Re: Soap With attachments example
> > > >
> > > >
> > > > > I updated my jar file with the current jar file that I got from
> the
> > > > nightly
> > > > > build. Now this is the error I get when I pass null for
> DataHandler.
> > > > >
> > > > > Uploading ....
> > > > > uploadContentObjectUsingAttachments...
> > > > > Generated fault:
> > > > > Fault Code = SOAP-ENV:Client
> > > > > Fault String = Can't yet deserialize non-null Objects
> > > > > java.lang.Exception: Can't yet deserialize non-null Objects
> > > > > at
> > > > >
> > >
> com.contextmedia.simplex.domain.content.ContentObjectUtils.uploadCont
> > > > > entObjectWithAttachments(ContentObjectUtils.java:750)
> > > > > at
> > > > >
> > >
> com.contextmedia.simplex.ui.NewContentObjectDialog$DialogActionListen
> > > > > er.actionPerformed(NewContentObjectDialog.java:275)
> > > > > at
> > > > >
> > >
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
> > > > > 45)
> > > > > at
> > > > >
> > >
> javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
> > > > > ctButton.java:1499)
> > > > > at
> > > > >
> > >
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
> > > > > .java:373)
> > > > > at
> > > > >
> > >
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245
> > > > > )
> > > > > at
> > > > >
> > >
> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
> > > > > istener.java:211)
> > > > > at
> java.awt.Component.processMouseEvent(Component.java:3710)
> > > > > at java.awt.Component.processEvent(Component.java:3539)
> > > > > at java.awt.Container.processEvent(Container.java:1159)
> > > > > at
> java.awt.Component.dispatchEventImpl(Component.java:2588)
> > > > > at
> java.awt.Container.dispatchEventImpl(Container.java:1208)
> > > > > at java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > at
> > > > >
> > >
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446
> > > > > )
> > > > > at
> > > > >
> > >
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
> > > > >
> > > > > at
> > > > java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
> > > > > at
> java.awt.Container.dispatchEventImpl(Container.java:1195)
> > > > > at java.awt.Window.dispatchEventImpl(Window.java:923)
> > > > > at java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > at
> java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
> > > > > at
> > > > >
> > >
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
> > > > > read.java:126)
> > > > > at
> > > > >
> > >
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
> > > > > ad.java:93)
> > > > > at java.awt.Dialog.show(Dialog.java:375)
> > > > > at java.awt.Component.show(Component.java:941)
> > > > > at java.awt.Component.setVisible(Component.java:898)
> > > > > at
> > > > >
> > >
> com.contextmedia.simplex.SimplexFrame$FrameActionListener.actionPerfo
> > > > > rmed(SimplexFrame.java:391)
> > > > > at
> > > > >
> > >
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
> > > > > 45)
> > > > > at
> > > > >
> > >
> javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
> > > > > ctButton.java:1499)
> > > > > at
> > > > >
> > >
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
> > > > > .java:373)
> > > > > at
> > > > >
> > >
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245
> > > > > )
> > > > > at
> > > javax.swing.AbstractButton.doClick(AbstractButton.java:274)
> > > > > at
> > > > >
> > >
> javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseRelease
> > > > > d(BasicMenuItemUI.java:882)
> > > > > at
> java.awt.Component.processMouseEvent(Component.java:3710)
> > > > > at java.awt.Component.processEvent(Component.java:3539)
> > > > > at java.awt.Container.processEvent(Container.java:1159)
> > > > > at
> java.awt.Component.dispatchEventImpl(Component.java:2588)
> > > > > at
> java.awt.Container.dispatchEventImpl(Container.java:1208)
> > > > > at java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > at
> > > > >
> > >
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446
> > > > > )
> > > > > at
> > > > >
> > >
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
> > > > >
> > > > > at
> > > > java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
> > > > > at
> java.awt.Container.dispatchEventImpl(Container.java:1195)
> > > > > at java.awt.Window.dispatchEventImpl(Window.java:923)
> > > > > at java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > at
> java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
> > > > > at
> > > > >
> > >
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
> > > > > read.java:126)
> > > > > at
> > > > >
> > >
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
> > > > > ad.java:93)
> > > > > at
> > > > >
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
> > > > > at
> > > java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
> > > > >
> > > > > Praveen
> > > > > ----- Original Message -----
> > > > > From: "Scott Nichol" <[EMAIL PROTECTED]>
> > > > > To: <[EMAIL PROTECTED]>
> > > > > Sent: Tuesday, January 07, 2003 9:59 AM
> > > > > Subject: Re: Soap With attachments example
> > > > >
> > > > >
> > > > > > The newest nightly is right here:
> > > > > > http://cvs.apache.org/dist/soap/nightly/2003-01-07/
> > > > > >
> > > > > > Scott Nichol
> > > > > >
> > > > > > ----- Original Message -----
> > > > > > From: "Praveen Peddi" <[EMAIL PROTECTED]>
> > > > > > To: <[EMAIL PROTECTED]>
> > > > > > Sent: Tuesday, January 07, 2003 9:35 AM
> > > > > > Subject: Re: Soap With attachments example
> > > > > >
> > > > > >
> > > > > > > Hey Scott,
> > > > > > > I could not find a nightly build dated yesterday or today.
> Could
> > > you
> > > > > > please
> > > > > > > check it out. If not, where can find the insturctions on how
> to
> > > > > > compile the
> > > > > > > src, so that I can compile it and use it. Can I just replace
> the
> > > old
> > > > > > > MimePartSerializer class file with the new one or do I have
> to
> > > replece
> > > > > > the
> > > > > > > whole jar.
> > > > > > >
> > > > > > > Thanks
> > > > > > >
> > > > > > > Praveen
> > > > > > >
> > > > > > >
> > > > > > > ----- Original Message -----
> > > > > > > From: "Scott Nichol" <[EMAIL PROTECTED]>
> > > > > > > To: <[EMAIL PROTECTED]>
> > > > > > > Sent: Monday, January 06, 2003 1:00 PM
> > > > > > > Subject: Re: Soap With attachments example
> > > > > > >
> > > > > > >
> > > > > > > > This is a "quirk" of the MimePartSerializer. It is used
> to
> > > > > > serialize
> > > > > > > > InputStream, DataSource, MimeBodyPart and DataHandler.
> When a
> > > null
> > > > > > > > value is passed in for serialization, the serializer (for
> some
> > > > > > reason)
> > > > > > > > chooses to serialize it as an Object. That's why you get
> the
> > > > > > mismatch.
> > > > > > > >
> > > > > > > > I'm going to change the code to use the type specified to
> the
> > > > > > serializer
> > > > > > > > when serializing a null. You can either grab the source
> > > > > > > >
> > > > > >
> > >
> (http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-soap/java/src/org/apac
> > > > > > > >
> > > > > >
> > >
> he/soap/encoding/soapenc/MimePartSerializer.java?rev=HEAD&content-type=t
> > > > > > > > ext/plain), compile it and use it, or wait until tomorrow
> and
> > > get a
> > > > > > > > nightly build (http://cvs.apache.org/dist/soap/nightly/).
> > > > > > > >
> > > > > > > > Scott Nichol
> > > > > > > >
> > > > > > > > ----- Original Message -----
> > > > > > > > From: "Praveen Peddi" <[EMAIL PROTECTED]>
> > > > > > > > To: <[EMAIL PROTECTED]>
> > > > > > > > Sent: Monday, January 06, 2003 11:28 AM
> > > > > > > > Subject: Re: Soap With attachments example
> > > > > > > >
> > > > > > > >
> > > > > > > > Hi Scott,
> > > > > > > >
> > > > > > > > Eveyrthing seems to work fine now, except one minor
> problem.
> > > When
> > > > > > there
> > > > > > > > is nothing to send as argument I am passing in null and
> thats
> > > > > > throwing
> > > > > > > > exception. Please look at the bold lines of my code below.
> I
> > > am
> > > > > > passing
> > > > > > > > in the type of the argument as
> > > javax.activation.DataHandler.class,
> > > > > > but
> > > > > > > > it still takes it as Object. See the exception after the
> code.
> > > Look
> > > > > > at
> > > > > > > > the 6th argument of the method. It is assuming the object
> type
> > > as
> > > > > > > > "Object" not "javax.activation.DataHandler"
> > > > > > > >
> > > > > > > > Vector params = new Vector();
> > > > > > > > params.addElement(new Parameter("sessionID",
> > > long.class,
> > > > > > > > new Long(sessionID), null));
> > > > > > > > params.addElement(new Parameter("containerID",
> > > > > > > > containerID.getClass(),
> > > > > > > > new String(containerID), null));
> > > > > > > > params.addElement(new Parameter("xmlString",
> > > > > > > > xmlString.getClass(),
> > > > > > > > new String(xmlString), null));
> > > > > > > >
> > > > > > > > DataSource ds = new
> ByteArrayDataSource(sourceBytes,
> > > > > > > > "application/octet-stream");
> > > > > > > > DataHandler dh = new DataHandler(ds);
> > > > > > > > params.addElement(new Parameter("source",
> > > > > > > > javax.activation.DataHandler.class, dh,
> > > null));
> > > > > > > >
> > > > > > > > // params.addElement(new
> > > > > > Parameter("encodedSource",
> > > > > > > > encodedSource.getClass(), new String(encodedSource),
> null));
> > > > > > > > params.addElement(new Parameter("sourceFileName",
> > > > > > > > sourceFileName.getClass(), new
> > > > > > String(sourceFileName),
> > > > > > > > null));
> > > > > > > >
> > > > > > > > if (thumbBytes != null && thumbFileName!=null) {
> > > > > > > > ds = new ByteArrayDataSource(thumbBytes,
> > > > > > > > "application/octet-stream");
> > > > > > > > dh = new DataHandler(ds);
> > > > > > > > params.addElement(new Parameter("thumb",
> > > > > > > > javax.activation.DataHandler.class,
> dh,
> > > null));
> > > > > > > > params.addElement(new
> Parameter("thumbFileName",
> > > > > > > > thumbFileName.getClass(), new
> > > > > > String(thumbFileName),
> > > > > > > > null));
> > > > > > > > } else {
> > > > > > > > params.addElement(new Parameter("thumb",
> > > > > > > > javax.activation.DataHandler.class,
> null,
> > > > > > null));
> > > > > > > > params.addElement(new
> Parameter("thumbFileName",
> > > > > > > > new String().getClass(), null, null));
> > > > > > > > }
> > > > > > > >
> > > > > > > > Exception trace is as follows:
> > > > > > > >
> > > > > > > > Generated fault:
> > > > > > > > Fault Code = SOAP-ENV:Server
> > > > > > > > Fault String = Exception while handling service request:
> > > > > > > > com.contextmedia.ip.s
> > > > > > > >
> > > > > >
> > >
> ession.soap.CMISOAPContentService.uploadContentObject(long,java.lang.Str
> > > > > > > > ing,java
> > > > > > > >
> > > > > >
> > >
> .lang.String,javax.activation.DataHandler,java.lang.String,java.lang.Obj
> > > > > > > > ect,java
> > > > > > > > .lang.String) -- no signature match
> > > > > > > > java.lang.Exception: Exception while handling service
> request:
> > > > > > > > com.contextmedia.
> > > > > > > >
> > > > > >
> > >
> ip.session.soap.CMISOAPContentService.uploadContentObject(long,java.lang
> > > > > > > > .String,
> > > > > > > >
> > > > > >
> > >
> java.lang.String,javax.activation.DataHandler,java.lang.String,java.lang
> > > > > > > > .Object,
> > > > > > > > java.lang.String) -- no signature match
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> com.contextmedia.simplex.domain.content.ContentObjectUtils.uploadCont
> > > > > > > > entObjectWithAttachments(ContentObjectUtils.java:742)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> com.contextmedia.simplex.ui.NewContentObjectDialog$DialogActionListen
> > > > > > > > er.actionPerformed(NewContentObjectDialog.java:275)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
> > > > > > > > 45)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
> > > > > > > > ctButton.java:1499)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
> > > > > > > > .java:373)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245
> > > > > > > > )
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
> > > > > > > > istener.java:211)
> > > > > > > > at
> > > java.awt.Component.processMouseEvent(Component.java:3710)
> > > > > > > > at
> > > java.awt.Component.processEvent(Component.java:3539)
> > > > > > > > at
> > > java.awt.Container.processEvent(Container.java:1159)
> > > > > > > > at
> > > java.awt.Component.dispatchEventImpl(Component.java:2588)
> > > > > > > > at
> > > java.awt.Container.dispatchEventImpl(Container.java:1208)
> > > > > > > > at
> > > java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446
> > > > > > > > )
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
> > > > > > > >
> > > > > > > > at
> > > > > > > >
> > > java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
> > > > > > > > at
> > > java.awt.Container.dispatchEventImpl(Container.java:1195)
> > > > > > > > at
> java.awt.Window.dispatchEventImpl(Window.java:923)
> > > > > > > > at
> > > java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > > > > at
> > > java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
> > > > > > > > read.java:126)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
> > > > > > > > ad.java:93)
> > > > > > > > at java.awt.Dialog.show(Dialog.java:375)
> > > > > > > > at java.awt.Component.show(Component.java:941)
> > > > > > > > at
> java.awt.Component.setVisible(Component.java:898)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> com.contextmedia.simplex.SimplexFrame$FrameActionListener.actionPerfo
> > > > > > > > rmed(SimplexFrame.java:391)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
> > > > > > > > 45)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
> > > > > > > > ctButton.java:1499)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
> > > > > > > > .java:373)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:245
> > > > > > > > )
> > > > > > > > at
> > > > > > javax.swing.AbstractButton.doClick(AbstractButton.java:274)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseRelease
> > > > > > > > d(BasicMenuItemUI.java:882)
> > > > > > > > at
> > > java.awt.Component.processMouseEvent(Component.java:3710)
> > > > > > > > at
> > > java.awt.Component.processEvent(Component.java:3539)
> > > > > > > > at
> > > java.awt.Container.processEvent(Container.java:1159)
> > > > > > > > at
> > > java.awt.Component.dispatchEventImpl(Component.java:2588)
> > > > > > > > at
> > > java.awt.Container.dispatchEventImpl(Container.java:1208)
> > > > > > > > at
> > > java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2446
> > > > > > > > )
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:2211)
> > > > > > > >
> > > > > > > > at
> > > > > > > >
> > > java.awt.LightweightDispatcher.dispatchEvent(Container.java:2120)
> > > > > > > > at
> > > java.awt.Container.dispatchEventImpl(Container.java:1195)
> > > > > > > > at
> java.awt.Window.dispatchEventImpl(Window.java:923)
> > > > > > > > at
> > > java.awt.Component.dispatchEvent(Component.java:2492)
> > > > > > > > at
> > > java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
> > > > > > > > read.java:126)
> > > > > > > > at
> > > > > > > >
> > > > > >
> > >
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
> > > > > > > > ad.java:93)
> > > > > > > > at
> > > > > > > >
> > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
> > > > > > > > at
> > > > > > java.awt.EventDispatchThread.run(EventDispatchThread.java:80)
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Praveen
> > > > > > > >
> > > > > > > > ----- Original Message -----
> > > > > > > > From: "Scott Nichol" <[EMAIL PROTECTED]>
> > > > > > > > To: <[EMAIL PROTECTED]>
> > > > > > > > Sent: Friday, January 03, 2003 4:41 PM
> > > > > > > > Subject: Re: Soap With attachments example
> > > > > > > >
> > > > > > > >
> > > > > > > > > As a general recommendation, I encourage you to capture
> a
> > > stack
> > > > > > trace
> > > > > > > > > for your exceptions. Just having the exception message
> > > makes it
> > > > > > > > harder
> > > > > > > > > to understand the cause of most exceptions.
> > > > > > > > >
> > > > > > > > > This particular exception means that a
> ByteArrayDataSource
> > > was
> > > > > > created
> > > > > > > > > with no data array, such as passing a null for the byte
> > > array.
> > > > > > > > >
> > > > > > > > > Scott Nichol
> > > > > > > > >
> > > > > > > > > ----- Original Message -----
> > > > > > > > > From: "Praveen Peddi" <[EMAIL PROTECTED]>
> > > > > > > > > To: <[EMAIL PROTECTED]>
> > > > > > > > > Sent: Friday, January 03, 2003 4:18 PM
> > > > > > > > > Subject: Re: Soap With attachments example
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > Yeah. It works now. Its my bad. Sorry about that.
> > > > > > > > > >
> > > > > > > > > > BUt I have another problem. When I execute that
> method, I
> > > get
> > > > > > the
> > > > > > > > > following
> > > > > > > > > > exception.
> > > > > > > > > >
> > > > > > > > > > Caught SOAPException (SOAP-ENV:Client): No data.
> > > > > > > > > >
> > > > > > > > > > What does this mean? I double checked that my soap
> method
> > > exists
> > > > > > in
> > > > > > > > > the
> > > > > > > > > > descriptor and the implementation also exists on the
> > > server
> > > > > > side.
> > > > > > > > But
> > > > > > > > > the
> > > > > > > > > > call doesn't reach the server at all.
> > > > > > > > > >
> > > > > > > > > > Praveen
> > > > > > > > > > ----- Original Message -----
> > > > > > > > > > From: "Scott Nichol" <[EMAIL PROTECTED]>
> > > > > > > > > > To: <[EMAIL PROTECTED]>
> > > > > > > > > > Sent: Friday, January 03, 2003 2:28 PM
> > > > > > > > > > Subject: Re: Soap With attachments example
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > This sample that I created from you code works for
> me,
> > > i.e. it
> > > > > > > > does
> > > > > > > > > not
> > > > > > > > > > > throw an NPE.
> > > > > > > > > > >
> > > > > > > > > > > Scott Nichol
> > > > > > > > > > >
> > > > > > > > > > > import java.io.*;
> > > > > > > > > > > import java.util.*;
> > > > > > > > > > > import java.net.*;
> > > > > > > > > > > import org.w3c.dom.*;
> > > > > > > > > > > import org.xml.sax.*;
> > > > > > > > > > > import org.apache.soap.util.xml.*;
> > > > > > > > > > > import org.apache.soap.util.mime.*;
> > > > > > > > > > > import org.apache.soap.*;
> > > > > > > > > > > import org.apache.soap.transport.*;
> > > > > > > > > > > import org.apache.soap.encoding.*;
> > > > > > > > > > > import org.apache.soap.encoding.soapenc.*;
> > > > > > > > > > > import org.apache.soap.rpc.*;
> > > > > > > > > > > import org.apache.soap.messaging.*;
> > > > > > > > > > > import javax.activation.*;
> > > > > > > > > > > import javax.mail.internet.*;
> > > > > > > > > > > import javax.xml.parsers.*;
> > > > > > > > > > >
> > > > > > > > > > > public class TestAttachments {
> > > > > > > > > > > public static void main(String[] args) {
> > > > > > > > > > > try {
> > > > > > > > > > > URL url = "" URL(args[0]);
> > > > > > > > > > >
> > > > > > > > > > > // Build the call.
> > > > > > > > > > > SOAPMappingRegistry smr = new
> SOAPMappingRegistry();
> > > > > > > > > > > Call call = new Call();
> > > > > > > > > > > call.setSOAPMappingRegistry(smr);
> > > > > > > > > > > call.setTargetObjectURI("urn:MyServiceName");
> > > > > > > > > > > call.setMethodName("myMethodName");
> > > > > > > > > > >
> call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> > > > > > > > > > >
> > > > > > > > > > > byte[] sourceBytes = new byte[0];
> > > > > > > > > > >
> > > > > > > > > > > Vector params = new Vector();
> > > > > > > > > > > DataSource ds = new
> ByteArrayDataSource(sourceBytes,
> > > > > > > > > > > "application/octet-stream");
> > > > > > > > > > > DataHandler dh = new DataHandler(ds);
> > > > > > > > > > > params.addElement(new Parameter("source",
> > > > > > > > > > > javax.activation.DataHandler.class, dh, null));
> > > > > > > > > > >
> > > > > > > > > > > DataSource ds2 = new
> ByteArrayDataSource(sourceBytes,
> > > > > > > > > > > "application/octet-stream");
> > > > > > > > > > > DataHandler dh2 = new DataHandler(ds);
> > > > > > > > > > > params.addElement(new Parameter("thumb",
> > > > > > > > > > > javax.activation.DataHandler.class,
> > > > > > > > > > > dh2, null));
> > > > > > > > > > >
> > > > > > > > > > > call.setParams(params);
> > > > > > > > > > >
> > > > > > > > > > > // Invoke the call.
> > > > > > > > > > > Response resp;
> > > > > > > > > > >
> > > > > > > > > > > try {
> > > > > > > > > > > resp = call.invoke(url, "");
> > > > > > > > > > > //System.out.println("Response is: " + resp);
> > > > > > > > > > > } catch (SOAPException e) {
> > > > > > > > > > > System.err.println("Caught SOAPException");
> > > > > > > > > > > e.printStackTrace();
> > > > > > > > > > > }
> > > > > > > > > > > } catch (Exception e) {
> > > > > > > > > > > e.printStackTrace();
> > > > > > > > > > > }
> > > > > > > > > > > }
> > > > > > > > > > > }
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > --
> > > > > > > > > > > To unsubscribe, e-mail:
> > > > > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > > > > > For additional commands, e-mail:
> > > > > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > To unsubscribe, e-mail:
> > > > > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > > > > For additional commands, e-mail:
> > > > > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > To unsubscribe, e-mail:
> > > > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > > > For additional commands, e-mail:
> > > > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > To unsubscribe, e-mail:
> > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > > For additional commands, e-mail:
> > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > To unsubscribe, e-mail:
> > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > > For additional commands, e-mail:
> > > > > > <mailto:[EMAIL PROTECTED]>
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > To unsubscribe, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > > > > > For additional commands, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > To unsubscribe, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > > > > For additional commands, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
> > >
> >
> >
> > --
> > To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
> >
> >
>
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>