每次调用接口都报错误,
但是如果我设置了cookie,设置http代码如下: Client client = ClientProxy.getClient(hw);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setCookie((String)this.getContext().getRequest().getSession().getAttribute("Cookie"));
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);

就可以正确调用和返回true, 但如果把这几行代码注释掉,就报以下ERROR信息。。
javax.xml.ws.WebServiceException: org.apache.cxf.binding.soap.SoapFault: org.xml.sax.SAXParseException: 文件过早结束。
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:196)
at $Proxy40.createdoc(Unknown Source)
at com.toft.webservice.client.domino.DominoInterface.createWithOutSession(DominoInterface.java:136)
at com.toft.widgets.rent.automaticscript.EndPenaltyConfirm.toCreateDominoData(EndPenaltyConfirm.java:424)
at com.toft.widgets.rent.automaticscript.EndPenaltyConfirm.execute(EndPenaltyConfirm.java:132)
at com.toft.widgets.rent.automaticscript.EndPenaltyConfirm.main(EndPenaltyConfirm.java:445)
Caused by: org.apache.cxf.binding.soap.SoapFault: org.xml.sax.SAXParseException: 文件过早结束。
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:70)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:449)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2029)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1865)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:593)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
... 5 more最后我用wsCaller测试接口并把同样的参数值设置好后。接口能返回true,
结论:1:用Java代码调用接口设置了http信息,接口顺利访问和返回true,
2:用测试工具访问也能访问并返回true,
故百思不得其解啊。求指点。Java调用哪里有问题?为什么一直报文件过早结束。xml都是一份啊!!!