Hi folks, Do you see any problem in the attached code? My intension is to create an envelope with body element containing DataHandler object. I have been consistently getting the Null pointer exception.
My set up is like this. 1) Axis - 1.1RC2 2) mail.jar 1.3 3) activation.jar - ??? And my classpath is "activation.jar;mailapi.jar;mail.jar;xerces_1_4_3.jar;jaxrpc.jar;saaj.jar;co mmons-logging.jar;commons-discovery.jar;axis.jar" Your help is much appriciated. Regards, Ayyappan Gandhirajan The error description is -- Exception in thread "main" java.lang.NullPointerException at org.apache.axis.encoding.ser.JAFDataHandlerSerializer.serialize(JAFDa taHandlerSerializer.java:96) at org.apache.axis.encoding.SerializationContextImpl.serializeActual(Ser ializationContextImpl.java:1247) at org.apache.axis.encoding.SerializationContextImpl.serialize(Serializa tionContextImpl.java:787) at org.apache.axis.message.MessageElement.outputImpl(MessageElement.java :813) at org.apache.axis.message.MessageElement.output(MessageElement.java:779 ) at org.apache.axis.message.MessageElement.outputImpl(MessageElement.java :822) at org.apache.axis.message.MessageElement.output(MessageElement.java:779 ) at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:150) at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:413 ) at org.apache.axis.message.MessageElement.output(MessageElement.java:779 ) at org.apache.axis.message.MessageElement.getAsString(MessageElement.jav a:702) at org.apache.axis.message.MessageElement.getAsDocument(MessageElement.j ava:681) at org.apache.axis.message.MessageElement.getAsDOM(MessageElement.java:7 10) at MessageTest.createEnvelope(MessageTest.java:78) at MessageTest.main(MessageTest.java:52) The source code is as follows: public class MessageTest{ private static String SOAPSECNS = "http://schemas.xmlsoap.org/soap/security/2000-12"; private static String SOAPSECprefix = "SOAP-SEC"; //private static DataHandler dh = null; public static void main(String[] args) throws Exception{ MessageTest test = new MessageTest(); String namespace = "http://tempuri.org"; String methodName = "echoAttachment"; System.out.println("File exists - "+new File("test.txt").exists()); DataHandler dh = new DataHandler(new File("test.txt").toURL()); System.out.println("File Name - "+dh.getName()); test.createEnvelope(namespace, methodName, dh); System.out.println("Success"); } public void createEnvelope(String namespace, String methodName, DataHandler dh) throws Exception{ System.out.println("Creating envelope...."); //envelope SOAPEnvelope env = new SOAPEnvelope(); env.addMapping(new Mapping(SOAPSECNS, SOAPSECprefix)); env.addAttribute(Constants.URI_SOAP11_ENV, "actor", "http://tempuri.org"); env.addAttribute(Constants.URI_SOAP11_ENV, "mustUnderstand", "1"); //Header System.out.println("Creating envelope.header...."); SOAPHeaderElement header = new SOAPHeaderElement(XMLUtils.StringToElement(SOAPSECNS, "Signature", "")); env.addHeader(header); //Body System.out.println("Creating envelope.body...."); SOAPBodyElement sbe = new SOAPBodyElement(env.createName(methodName, "m", namespace)); env.addBodyElement(sbe); sbe.addChildElement(new MessageElement(new QName("in0"), dh)); System.out.println(""); System.out.println("Printing envelope"); System.out.println("**************ENVELOPE STARTS**************"); XMLUtils.PrettyElementToStream(env.getAsDOM(), System.out); System.out.println("**************ENVELOPE ENDS**************"); } }