xfire报错ERROR:DefaultFaultHandler:35 - Fault occurred!
最近在做一个移动应用,使用中间webservice中间服务器,发布在tomcat上。
调用时报了如下错误。
10:08:52,916ERROR:DefaultFaultHandler:35-Faultoccurred!
java.lang.IndexOutOfBoundsException:Index:0,Size:0
atjava.util.LinkedList.entry(UnknownSource)
atjava.util.LinkedList.get(UnknownSource)
atjava.util.Collections$UnmodifiableList.get(UnknownSource)
atorg.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:191)
atorg.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:51)
atorg.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
atorg.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
atorg.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
atorg.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
atorg.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
atorg.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
atorg.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:710)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atcom.foxhis.sign.filter.FilterCharset.doFilter(FilterCharset.java:31)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
atjava.lang.Thread.run(UnknownSource)
原因是:
在同一个service中使用了重载,两个同名函数,只是参数不通。
客户端调用服务器时,xfire总是报上面的错误。
同名的函数名,修改一个就可以解决。