I have solved problem with exception (it was my bug), but now I receive on client side ManagedMemoryDataSource instance with 0 avaiable bytes! :(
1) How make I creation of instance of my DataSource implementation on client side? 2) Why ManagedMemoryDataSource instance, created on client side was empty? thank you! ------------------------------------------------------------------------ Bernshtam Pavel 053-398944 Certified Java 2 Programmer [EMAIL PROTECTED] http://www.mutek.com http://www.cs.bgu.ac.il/~barnshte > -----Original Message----- > From: Pavel Bernshtam [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, June 18, 2002 1:13 PM > To: '[EMAIL PROTECTED]' > Subject: DataSource > > > 1) As I see in the source code of ManagedMemoryDataSource, it > does not use > at all provided InputStream is readall parameter == false. Is it bug? > 2) I really does not understand what means maxCached parameter :( > 3) I try to use my own DataSource for sending binary data as > attachment. > I have wrote such class: > ------------- > /* > * Created by IntelliJ IDEA. > * User: pavelb > * Date: 16/06/2002 > * Time: 14:41:16 > * To change template for new class use > * Code Style | Class Templates options (Tools | IDE Options). > */ > package samples.test4; > > import javax.activation.*; > import java.io.*; > > public class BinDataSource implements DataSource > { > private String _contentType; > private String _name; > private byte _data[]; > private InputStream _is; > private OutputStream _os; > > public BinDataSource(String contentType, String name, > byte[] data) > { > _contentType = contentType; > _name = name; > _data = data; > _is= new ByteArrayInputStream(_data); > _os = new ByteArrayOutputStream(); > } > > public InputStream getInputStream() throws IOException > {return _is;} > public OutputStream getOutputStream() throws IOException {return > _os;} > public String getContentType() {return _contentType;} > public String getName() {return _name;} > } > ------------- > > But if I use it for constructing DataHandler and returning > this DataHandler > from service method, I receive exception : > > What I am doing wrong? > > - Exception: > java.lang.NullPointerException > at org.apache.axis.AxisFault.makeFault(AxisFault.java:116) > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: > 267) > at > org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg > y.java:71) > at > org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:154) > at org.apache.axis.SimpleChain.invoke(SimpleChain.java:121) > at > org.apache.axis.server.AxisServer.invoke(AxisServer.java:288) > at > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:57 > 6) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > ilterChain.java:193) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:243) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV > alve.java:190) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve > .java:246) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java: > 2347) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j > ava:180) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche > rValve.java:170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j > ava:170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: > 468) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:564) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal > ve.java:174) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline > .java:566) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav > a:472) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso > r.java:1027) > at > org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja > va:1125) > at java.lang.Thread.run(Thread.java:536) > Caused by: java.lang.NullPointerException > at > java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89) > at samples.test4.BinDataSource.<init>(BinDataSource.java:27) > at > samples.test4.AttTestSoapBindingImpl.getLog(AttTestSoapBindingImpl.ja > va:52) > at > samples.test4.AttTestSoapBindingSkeleton.getLog(AttTestSoapBindingSke > leton.java:60) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. > java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > sorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider > .java:229) > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: > 262) > ... 37 more > > > > -------------------------------------------------------------- > ---------- > Bernshtam Pavel > 053-398944 > Certified Java 2 Programmer > [EMAIL PROTECTED] > http://www.mutek.com > http://www.cs.bgu.ac.il/~barnshte >