kin*_*man 3 base64 soap image attachment
我目前正在为业务应用程序修改文档文字SOAP服务,该服务应用程序向后和向前传输有关客户的数据.
刚刚确定了传输扫描文档图像的新要求.我遇到的问题是我使用的专有语言不支持SOAP附件.
传输的图像可以是任何高达32KB的图像.
我能想到的唯一解决方案是对图像进行base64编码,并将其作为XML文档的一个元素传递给它.
这感觉真是个坏主意,但我想不出更好的事情.
有任何想法吗?
编辑:我忘了提,远程文件系统中的图像不举行,它是存储在Oracle数据库中,我并没有直接连接到的能力,
如果您使用XML作为数据传输机制,则必须以某种方式对图像进行编码.原因是XML是一种文本格式,XML处理器将尝试解码二进制数据,就像它的文本一样(更具体地说,就好像它是UTF-8,除非你指定不同的编码).此外,XML明确禁止使用多个字符(对于XML 1.0,大多数ASCII非打印,对于XML 1.1,为\ u0000),因此如果您只是将图像数据转储到(例如)CDATA部分,则会损坏数据.
编辑:XML模式定义了一个"base64Binary的"类型,所以你应该能够适当地定义你的WSDL(假设你使用的是自动编组).至少,您应该在包含编码内容的元素上使用"xsi:type"属性.
| 归档时间: |
|
| 查看次数: |
2790 次 |
| 最近记录: |