org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxParsingException: Illegal processing
instruction target ("xml"); xml (case insensitive) is reserved by the specs.
at [row,col {unknown-source}]: [1,150411]
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at cn.golaxy.yqpt.client.stub.BoardServiceStub.fromOM(BoardServiceStub.java:22704)
at cn.golaxy.yqpt.client.stub.BoardServiceStub.getDocList
(BoardServiceStub.java:222)
at cn.golaxy.yqpt.client.thread.GatherThread.run(GatherThread.java:75)
Caused by: org.apache.axiom.om.impl.exception.OMStreamingException:
com.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml
(case insensitive) is reserved by the specs.
调用webservice从大数据库中读取数据,一直运行的好好的,小数据库中也已经存了几万条数据了,
现在又莫名的冒出这么个错误,让人摸不着头脑,查了大半天的资料,终于有了些头绪,
这个错误的最终原因是:
[ERROR] Invalid white space character (0xc) in text to output
org.apache.axis2.AxisFault: Invalid white space character (0xc) in text to output
Caused by: com.ctc.wstx.exc.WstxIOException: Invalid white space character (0xc) in text
to output
意思是输出文件中有空字符,看到网上有句话说用XFire时千万注意输入和输出参数空白字符的过滤,
因为SOAP.xml中如果出现'/0x1b'等空白字符解析不了会导致调用失败。
我的输入输出参数中是带有空字符,例如:
输入参数:日期字符串(2010—08-09 12:00:00)
输出参数中的关键词也都是用空格加以区分的。
但是这样我确实取到过数据了呀,程序也一直在运行,这也许就是框架之间的区别吧
我修改了一下时间段,这个错误又没有了,据此推断,是读取的文章内容或者其他信息中带有xml不能解析的字符吧。