程序当中需要用到soap调用,因此我用jsoapserver建立了一个内嵌在程序里的soap服务器,客户端使用gsoap。在调试的过程中经常遇到字符错误问题,这是为什么呢?
一般有两种情况:
1) 有没有初始化的 内存
soap规定了不能用控制字符,因此没有初始化的内存在发送时可能会出现错误字符问题。
2)传输byte[]数组所用格式不正确
二进制在soap中有两种传输方式,分别是:
1 ,用base64编码后传输;
2 , 用附件(attachment)方式传输;
如果直接把utf8字符放在byte[]数组里传输,是有可能会碰到控制字符的。