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