java.lang.IllegalArgumentException:'不是有效的XML字符 [英] java.lang.IllegalArgumentException : ' is not a valid XML character

查看:439
本文介绍了java.lang.IllegalArgumentException:'不是有效的XML字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在JAVA类中调用.net webservice,它将从文本文件读取字符串,并将UTF8编码并将该字符串返回给JAVA。有一次,正确的输出即将到来。但是有时这是给出非法参数异常,而文本文件中的文本格式正确。
下面是我得到的异常:

  ** SEVERE:Servlet.service()为servlet BaseController抛出异常
java.lang.IllegalArgumentException:'return'后的字符'0x0':502
< HEAD>< TITLE>父代理未响应< / TITLE>< / HEAD>
< BODY BGCOLOR =whiteFGCOLOR =black>< H1>父代理未响应< / H1>< HR>
< FONT FACE =Helvetica,Arial>< B>
说明:父代理未响应< / B>< / FONT>
< HR>
<! - 默认父代理未响应响应(502) - >
< / BODY>
'不是有效的XML字符。
在org.apache.axis.components.encoding.AbstractXMLEncoder.encode(AbstractXMLEncoder.java:110)
在org.apache.axis.utils.XMLUtils.xmlEncodeString(XMLUtils.java:131)
在org.apache.axis.utils.DOM2Writer.normalize(DOM2Writer.java:344)
在org.apache.axis.utils.DOM2Writer.print(DOM2Writer.java:246)
在org .apache.axis.utils.DOM2Writer.print(DOM2Writer.java:208)
在org.apache.axis.utils.DOM2Writer.serializeAsXML(DOM2Writer.java:77)
在org.apache.axis .utils.DOM2Writer.serializeAsXML(DOM2Writer.java:60)
在org.apache.axis.utils.DOM2Writer.nodeToString(DOM2Writer.java:49)
在org.apache.axis.utils.XMLUtils .privateElementToString(XMLUtils.java:433)
在org.apache.axis.utils.XMLUtils.ElementToString(XMLUtils.java:442)
在org.apache.axis.utils.XMLUtils.getInnerXMLString(XMLUtils .java:542)
在org.apache.axis.AxisFault.dumpToString(AxisFault.java:388)
在org.apache.axis.AxisFault.printStac kTrace(AxisFault.java:789)
在java.lang.Throwable.printStackTrace(Throwable.java:451)
在com.hcl.webservice.BaseController.doPost(BaseController.java:155)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
在org.apache.catalina .createFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
在.incn .java:127)
在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109 )
在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
在org。 apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:588)
在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)
在// @帮助解决这个问题。
提前感谢

解决方案

该消息表示完整的以下字符串后的NULL字符(0x0):

 返回代码:502 
< HEAD>< TITLE>父代理未响应< / TITLE& / HEAD>
< BODY BGCOLOR =whiteFGCOLOR =black>< H1>父代理未响应< / H1>< HR>
< FONT FACE =Helvetica,Arial>< B>
说明:父代理未响应< / B>< / FONT>
< HR>
<! - 默认父代理未响应响应(502) - >
< / BODY>

不是有效的XML字符。换句话说,您遇到涉及父代理的网络问题,并且HTTP响应的正文包含HTML格式的问题的可读描述。您的服务客户端正在尝试将此文本解析为XML,因此您的错误。


I am calling .net webservice in JAVA class which will read string from text file and UTF8 encode that and return that string to JAVA .Some times the correct output is coming . but sometimes this is giving illegal argument exception eventhough the text in text file is in correct format . Below is the exception I am getting:

**SEVERE: Servlet.service() for servlet BaseController threw exception
java.lang.IllegalArgumentException: The char '0x0' after 'return code:  502
<HEAD><TITLE>Parent proxy is not responding</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black"><H1>Parent proxy is not responding</H1><HR>
<FONT FACE="Helvetica,Arial"><B>
Description: Parent proxy is not responding</B></FONT>
<HR>
<!-- default "Parent proxy is not responding" response (502) -->
</BODY>
' is not a valid XML character.
    at org.apache.axis.components.encoding.AbstractXMLEncoder.encode(AbstractXMLEncoder.java:110)
    at org.apache.axis.utils.XMLUtils.xmlEncodeString(XMLUtils.java:131)
    at org.apache.axis.utils.DOM2Writer.normalize(DOM2Writer.java:344)
    at org.apache.axis.utils.DOM2Writer.print(DOM2Writer.java:246)
    at org.apache.axis.utils.DOM2Writer.print(DOM2Writer.java:208)
    at org.apache.axis.utils.DOM2Writer.serializeAsXML(DOM2Writer.java:77)
    at org.apache.axis.utils.DOM2Writer.serializeAsXML(DOM2Writer.java:60)
    at org.apache.axis.utils.DOM2Writer.nodeToString(DOM2Writer.java:49)
    at org.apache.axis.utils.XMLUtils.privateElementToString(XMLUtils.java:433)
    at org.apache.axis.utils.XMLUtils.ElementToString(XMLUtils.java:442)
    at org.apache.axis.utils.XMLUtils.getInnerXMLString(XMLUtils.java:542)
    at org.apache.axis.AxisFault.dumpToString(AxisFault.java:388)
    at org.apache.axis.AxisFault.printStackTrace(AxisFault.java:789)
    at java.lang.Throwable.printStackTrace(Throwable.java:451)
    at com.hcl.webservice.BaseController.doPost(BaseController.java:155)
    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 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.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:680)
**

Please help in solving this problem. Thanks in advance

解决方案

The message says that the NULL-character (0x0) after the complete following string:

return code:  502
<HEAD><TITLE>Parent proxy is not responding</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black"><H1>Parent proxy is not responding</H1><HR>
<FONT FACE="Helvetica,Arial"><B>
Description: Parent proxy is not responding</B></FONT>
<HR>
<!-- default "Parent proxy is not responding" response (502) -->
</BODY>

is not a valid XML character. In other words, you are experiencing network problems involving the parent proxy, and the body of the HTTP response contains a human-readable description of the problem in HTML format. Your service client is trying to parse this text as XML and therefore your error.

这篇关于java.lang.IllegalArgumentException:'不是有效的XML字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆