上周是悲剧的一周,尝试用C#调用一个java的Web services,一直未能成功。
因为该Web services的服务器环境设置为NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以它使用的是GBK字符集。
在多次设置代理类的RequestEncoding为 GBK/gb2312/utf-8后,都只能收到乱码报文头 “锘??xml version=”1.0″ encoding=”UTF-8″?>”,其实应该是“<?xml version=”1.0″ encoding=”UTF-8″?>”。
最后查阅了很久才知道.NET中应该使用myproxy.RequestEncoding = System.Text.Encoding.GetEncoding("GB18030");这样的方式来设置GBK字符集……终于搞定了。