-- 作者:sunlightbj
-- 发布时间:9/27/2006 5:01:00 PM
-- Web service里可否new新实例
我们现在做一个项目,试图把一个Video stream的java文件,转成web service发布。这个java文件,是要传输一个视频文件。 我们用的Tomcat 5 + Axis 1.4,采用最简单的办法,就是把java源文件改了以后,扩展名变成.jws,放在webapps目录下,变成web service。可是客户端调用的时候,凡是执行到service里创建某个类实例,就会报错,例如p.addControllerListener(new StateListener()); 错误信息如下: AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.reflect.InvocationTargetException faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}hostname:pcwin657 java.lang.reflect.InvocationTargetException at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at VideoTransClient.main(VideoTransClient.java:27) 我的客户端代码如下:http://www.win.tue.nl/~jzhang/VideoTransClient.java 我的服务端如下:http://www.win.tue.nl/~jzhang/VideoTransmit.java 请问:我这样做是否有什么问题?web service里可以创建实例吗?我尝试了在构造函数里new一个实例,也不行。 如果我有一个java文件要发布成web service,可是它又依赖另一个java文件的类定义,我如何把两个文件都放到webservice里?谢谢 我是web service新手。请大家帮帮忙,十分感谢!
|