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 = new 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]>