读书人

webservice调用服务服务数据调用失败

发布时间: 2013-06-19 10:26:41 作者: rapoo

webservice调用服务,服务数据调用失败
使用webservice,服务端向客户端的浏览器发送数据时,由于写入的数据与soap协议有冲突,导致报了xml文件有误,但是debug查看数据,数据也很正常,这种情况怎么解决呢 Web服务
[解决办法]
应该把异常贴出来看,SOAP本身是基于XML的,如果是包含的字符与SOAP本身的协议关键字有冲突或者是其它的特殊字符,可以考虑用XML的CDATA把那部分字符包装起来,XML对CDATA段里的数据全部按正常字符处理
[解决办法]
这个不是协议冲突,是你的XML文档中存在一些不可见的非法字符所致。
类似bom之类的。
查检下你的编码吧。
可参考如下的解决办法:


public static string CleanInvalidXmlChars(string text)
{
// From xml spec valid chars:
// #x9
[解决办法]
#xA
[解决办法]
#xD
[解决办法]
[#x20-#xD7FF]
[解决办法]
[#xE000-#xFFFD]
[解决办法]
[#x10000-#x10FFFF]
// any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
string re = @"[^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u10000-u10FFFF]";
return Regex.Replace(text, re, "");
}

读书人网 >Java Web开发

热点推荐