调试webservice的时候发现个错误 “.”(十六进制值 0x00)是无效的字符,
经过排查,发现如果返回参数是字符串时,字符串结尾是多个\0。\0表示空,但还是占内存和字符串长度的。
经过反序列化返回的xml中\0被转换为�,在解析xml的时候就会报出上面的错误。
如果项目中是添加服务引用不会出现这种问题,如果是添加web引用就会有这个问题,现在还不清楚这两者在处理webservice上的区别,望高手指点。
出现这种问题的方法就是去掉返回参数后面的n个\0,可以用replace("\0",""),也可以用trim('\0'),如果能找到这种字符串的来源,从源头上解决最好。
浙公网安备 33010602011771号