xfire webservice异常 java.lang.IllegalStateException: Can't overwrite cause
2012-01-05 11:27
507 查看
ERROR [PostInvocationHandler:40] java.lang.IllegalStateException: Can't overwrite cause
ERROR [DefaultFaultHandler:35] Fault occurred!
java.lang.IllegalStateException: Can't overwrite cause
at java.lang.Throwable.initCause(Throwable.java:320)
at com.ctc.wstx.compat.Jdk14Impl.setInitCause(Jdk14Impl.java:70)
at com.ctc.wstx.exc.WstxException.<init>(WstxException.java:46)
at com.ctc.wstx.exc.WstxIOException.<init>(WstxIOException.java:16)
at com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:505)
at org.codehaus.xfire.aegis.stax.ElementWriter.writeValue(ElementWriter.java:138)
at org.codehaus.xfire.aegis.type.basic.StringType.writeObject(StringType.java:26)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.collection.CollectionType.writeObject(CollectionType.java:103)
at org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:229)
at org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:273)
at org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:90)
at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
at org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(XFireServletChannel.java:87)
at org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.service.binding.PostInvocationHandler.invoke(PostInvocationHandler.java:36)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.ulane.sentry.filter.LoginFilter.authenticate(LoginFilter.java:110)
at com.ulane.sentry.filter.LoginFilter.doFilter(LoginFilter.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:619)
=========================================================================================
异常原因:webservice传输的数据中,有特殊字符或者乱码!
解决方案:将特殊字符或者乱码过滤掉
public static final String chopWhitespace(String str) {
if(null==str || "".equals(str))return "";
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
int ci = ch;
//System.out.println(ch+" "+ci);
if (9 == ci || 10 == ci || 13 == ci || 32 <= ci && !Character.isISOControl(ci)) {
sb.append(ch);
}
}
return sb.toString();
}
ERROR [DefaultFaultHandler:35] Fault occurred!
java.lang.IllegalStateException: Can't overwrite cause
at java.lang.Throwable.initCause(Throwable.java:320)
at com.ctc.wstx.compat.Jdk14Impl.setInitCause(Jdk14Impl.java:70)
at com.ctc.wstx.exc.WstxException.<init>(WstxException.java:46)
at com.ctc.wstx.exc.WstxIOException.<init>(WstxIOException.java:16)
at com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:505)
at org.codehaus.xfire.aegis.stax.ElementWriter.writeValue(ElementWriter.java:138)
at org.codehaus.xfire.aegis.type.basic.StringType.writeObject(StringType.java:26)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.collection.CollectionType.writeObject(CollectionType.java:103)
at org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:229)
at org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:273)
at org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:90)
at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
at org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(XFireServletChannel.java:87)
at org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.service.binding.PostInvocationHandler.invoke(PostInvocationHandler.java:36)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.ulane.sentry.filter.LoginFilter.authenticate(LoginFilter.java:110)
at com.ulane.sentry.filter.LoginFilter.doFilter(LoginFilter.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:619)
=========================================================================================
异常原因:webservice传输的数据中,有特殊字符或者乱码!
解决方案:将特殊字符或者乱码过滤掉
public static final String chopWhitespace(String str) {
if(null==str || "".equals(str))return "";
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
int ci = ch;
//System.out.println(ch+" "+ci);
if (9 == ci || 10 == ci || 13 == ci || 32 <= ci && !Character.isISOControl(ci)) {
sb.append(ch);
}
}
return sb.toString();
}
相关文章推荐
- java.lang.IllegalStateException: Web app root system property already set to different value: 'webap
- Android异常总结---E/AndroidRuntime(23439): Caused by: java.lang.IllegalArgumentException: column '_id' d
- 关于java.lang.UnsatisfiedLinkError: D:\vleyong\tomcat-7.0.57\bin\tcnative-1.dll: Can't load AMD 64-bit
- java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.37\bin\tcnative-1.dll: Can't load AMD 6
- 启动Tomcat时遇到的 java.lang.IllegalArgumentException: Can't convert argument: null 异常
- java.lang.IllegalStateException: Web app root system property already set to different value: 'webap
- java.io.IOException: Can't read [proguard.ClassPathEntry@5ef04b5] (Can't process class [WEB-INF/clas
- java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.37\bin\tcnative-1.dll: Can't load AMD 6
- Android异常总结---E/AndroidRuntime(23439): Caused by: java.lang.IllegalArgumentException: column '_id' d
- 启动Tomcat时遇到的 java.lang.IllegalArgumentException: Can&#39;t convert argument: null 异常
- 040903 A WebService 's Method ,return Value can't be Object
- java.lang.UnsatisfiedLinkError: tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32
- MySQL异常: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- 开发问题及解决 E/AndroidRuntime(15377): Caused by: java.lang.InstantiationException: can't instantiate clas
- java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.37\bin\tcnative-1.dll: Can't load AMD 6
- java.lang.InstantiationException: can't instantiate class
- java.lang.UnsatisfiedLinkError: C:\tomcat\apache-tomcat-7.0.52\bin\tcnative-1.dll: Can't load IA 64-
- java.lang.UnsatisfiedLinkError: ...Sample1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
- mysql 数据库字段为datetime类型时默认值为:0000-00-00 00:00:00 查询时异常 java.sql.SQLException:Value '0000-00-00' can not be represented as java.sq
- Android SQLite 数据库 java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow异常