(using Axis2 1.4 & Tomcat 5.0) I have 3 methods in my service 2 with attachments, 1 no attachments The method without attachments runs correctly, but the ones with attachments don't For server returning attachments I have method javax.activation.DataHandler sendAttach(String filename) In axis2.xml I have set MTOM enable to true; I have client generated by WSDL2Java & also example from Axis2 MTOM guide, both return the same error. What am I missing??? server log shows 2009-04-07 11:50:51, DEBUG builder.StAXOMBuilder - END_ELEMENT: {http://general.service.webservices.skire.com}datahandler:datahandler 2009-04-07 11:50:51, DEBUG builder.StAXOMBuilder - END_ELEMENT: {http://general.service.webservices.skire.com}getAttach:getAttach 2009-04-07 11:50:51, ERROR receivers.RPCMessageReceiver - Exception occurred while trying to invoke service method getAttach org.apache.axis2.AxisFault: javax.activation.DataHandler at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:30) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:410) at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:722) at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:670) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:602) at org.apache.axis2.rpc.receivers.RPCUtil.processRequest(RPCUtil.java:153) at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:188) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.InstantiationException: javax.activation.DataHandler at java.lang.Class.newInstance0(Class.java:335) at java.lang.Class.newInstance(Class.java:303) at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:28)