用URLConnection传递文件参数,通过SOAP到Webservice
需求:使用URLConnection跟Webservice进行交互,其中有一个数据类型是base64Binary,对应到服务端就是byte[]。
PS:实际上就是文件处理
SOAP的请求文本格式
Server端
中间的尝试过程:
由于一部分是String,一部分是byte数组,所以很是困扰
如果使用new String(byte[] bs)添加条件,会报这个错误java.io.IOException: Invalid header signature; read 0x9EF7F6BDD73DCEE3, expected 0xE11AB1A1E011CFD0
PS:后面的数据不是唯一的,不过就是这样格式的错误
最后发现,byte数组传递时需要转成Base64数据格式
例子如下
normal:This is a Test String
Base64:VGhpcyBpcyBhIFRlc3QgU3RyaW5n
给后人谋求福利~