Dear Scott, I don't do anything special as far as I know. I think the fault is generated by the apache tool kit. Let me send you the complete method again. May be its easy to understand when u look at the full method. If you look at the arguments of my client method, sourceBytes are never null but thumbBytes are sometimes null. This is basically the case I am problems in.
public static String uploadContentObjectWithAttachments(long sessionID, String containerID, String title, byte[] sourceBytes, String sourceFileName, byte[] thumbBytes, String thumbFileName) throws Exception { System.out.println("uploadContentObjectUsingAttachments..."); // Process the arguments. URL url = null; String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<content>" + "<title>" + title + "</title>" + "<source><url><unencoded>" + sourceFileName + "</unencoded> </url></source>"; if (thumbFileName != null) { xmlString += ("<thumbnail><url><unencoded>" + thumbFileName + "</unencoded></url></thumbnail>"); } xmlString += "<categorization>"+ "<category>My Content/cat1</category>"+ "<category>My Content/cat2</category>"+ "<category>My Content/cat3</category>"+ "</categorization>"; xmlString += "</content>"; try { url = new URL(Simplex.getServerURL()); } catch (MalformedURLException me) { System.err.println("MalformedURLException:" + me.getMessage()); } // Build the call. SOAPMappingRegistry smr = new SOAPMappingRegistry(); Call call = new Call(); call.setSOAPMappingRegistry(smr); call.setTargetObjectURI("urn:CMISOAPContentService"); call.setMethodName("uploadContentObject"); call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); 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)); } call.setParams(params); // Invoke the call. Response resp; 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 { 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()); } } Praveen ----- Original Message ----- From: "Scott Nichol" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, January 07, 2003 6:00 PM Subject: Re: Urgent: Soap With attachments example > Interesting. Do you do anything special to generate the fault, such as > registering a fault listener? > > Scott Nichol > > ----- Original Message ----- > From: "Praveen Peddi" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, January 07, 2003 5:50 PM > Subject: Re: Urgent: Soap With attachments example > > > 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()); > } > > > ----- Original Message ----- > From: "Scott Nichol" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, January 07, 2003 5:18 PM > Subject: Re: Urgent: Soap With attachments example > > > > That's odd. The error message is when deserializing, but the client > > 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 = 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]> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > 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]>