Although I am not sure it is the problem, I am wary of the lines like

    DataSource ds = new ByteArrayDataSource(sourceBytes, null);

The second parameter is supposed to be the MIME content type for the
byte array, e.g. text/plain, application/octet-stream.

Scott Nichol

----- Original Message -----
From: "Praveen Peddi" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, January 03, 2003 12:38 PM
Subject: Re: Soap With attachments example


> I am getting the following exception when I used soap with attachments
from
> mime example.
> My client code looks something like:
> // 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);
>
> 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, null);
> DataHandler dh = new DataHandler(ds);
> params.addElement(new Parameter("source",
> javax.activation.DataHandler.class, dh, null));
> params.addElement(new Parameter("sourceFileName",
sourceFileName.getClass(),
> new String(sourceFileName), null));
>
> DataSource ds2 = new ByteArrayDataSource(sourceBytes, null);
> DataHandler dh2 = new DataHandler(ds);
> params.addElement(new Parameter("thumb",
javax.activation.DataHandler.class,
> dh2, null));
> params.addElement(new Parameter("thumbFileName",
thumbFileName.getClass(),
> new String(thumbFileName), 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.getFaultCode() +"): "
+
> e.getMessage());
> return null;
> }
>
> And the Error looks something like this.
> java.lang.NullPointerException
>         at javax.activation.MimeType.parse(MimeType.java:86)
>         at javax.activation.MimeType.<init>(MimeType.java:54)
>         at
org.apache.soap.rpc.SOAPContext.addBodyPart(SOAPContext.java:328)
>         at
org.apache.soap.rpc.SOAPContext.addBodyPart(SOAPContext.java:300)
>         at
> org.apache.soap.encoding.soapenc.MimePartSerializer.marshall(MimePart
> Serializer.java:153)
>         at
> org.apache.soap.encoding.soapenc.ParameterSerializer.marshall(Paramet
> erSerializer.java:102)
>         at
> org.apache.soap.rpc.RPCMessage.serializeParams(RPCMessage.java:333)
>         at
org.apache.soap.rpc.RPCMessage.marshall(RPCMessage.java:307)
>         at org.apache.soap.Body.marshall(Body.java:145)
>         at org.apache.soap.Envelope.marshall(Envelope.java:195)
>         at
> org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnec
> tion.java:246)
>         at org.apache.soap.rpc.Call.invoke(Call.java:205)
>         at
> com.contextmedia.simplex.domain.content.ContentObjectUtils.uploadCont
> entObjectWithAttachments(ContentObjectUtils.java:715)
>         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)
>
> Am I missing something here. Its not even reaching the server. The
exception
> is occuring at the client side itself I think.
>
> Praveen
>
>
> --
> 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]>

Reply via email to