`
win_you_you
  • 浏览: 26498 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决Invalid white space character (0x …… 文件下载后可直接使用

阅读更多
在进行soa webservice开发时,您可能会遇到类似以下的错误信息:
com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:509)
Invalid white space character (0x1) in text to output
Invalid white space character (0x2) in text to output
……
Invalid white space character (0x7) in text to output
Invalid white space character (0x8) in text to output
……
Invalid white space character (0x14) in text to output
……

这是因为soa webservice信息的传递是基于xml文件格式,而xml文件格式无法直接处理空白字符,如果遇到这些特殊的空白字符,则会出错。比如&在xml文件中得用&amp表示,>得用&lt表示,<得用&gt表示,不能直接在xml中写成&,>,<,当然用<!CDATA[]]>例外。

现在修改了wstx包中的源码,凡遇到类似的特殊空白字符时就用' '替换,不会再出现以上错误。
附件共有3份代码:
1、wstx-asl-3.2.9.jar是原jar包文件。
2、BaseStreamWriter.rar是修改后的class文件(仅有一个文件)
3、com.rar是修改后的源文件。

使用说明:下载后用压缩工具打开文件1,把文件2可直接拖放到1中相应的目录中,直接使用jar包即可。
也可以不修改文件1,而把文件3放到src目录下。
  • com.rar (13 KB)
  • 下载次数: 228
分享到:
评论
5 楼 wqs1010 2014-03-11  
如果遇到多个特殊字符 那源码要改多少啊!
4 楼 appyX001 2013-11-22  
楼主,我看你的代码,反编译过来应该是用' '(中间有空格),而不是''代替的 这样是对的么?我的邮箱:once4use@gmail.com 谢谢
3 楼 suzhi168 2013-06-17  
你好大虾,
我之前有个工程用axis2调用微博webservices 服务,取得信息同步,我上个月好好的。今天一运行我的程序就报这个错了。
.
org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x1) not a valid XML character

请问有什么好的解决方法,用你的好你不行。
2 楼 MrCrapBag 2013-01-31  
不修改源码是否可以搞定这个问题?
试过用handler修改发出去的码流吗
1 楼 sleep651 2013-01-18  
多谢牛人,我的问题用如上方法已解决~

相关推荐

Global site tag (gtag.js) - Google Analytics