如何从SOAP响应中提取多部分附件

时间:2012-04-17 15:26:00

标签: c# soap multipart

我正在尝试提取SOAP响应的多部分附件部分。

我有一个使用Web Reference与第三方Web服务通信的项目。我能够成功地发出请求并从服务中获得有效的响应,但我不知道附件数据的位置在哪里。查看Web引用自动生成的代码,没有任何对象与实际附件数据匹配。

在最初使用第三方WSDL时,是否需要设置任何类型的选项才能使其正常工作?

1 个答案:

答案 0 :(得分:2)

我原本希望有一个.NET多部分边界解析器,但是找不到它,所以我自己写了。

我通过将原始HTTP响应作为字符串进行分割,在部分边界------=_Part_*上进行拆分来完成此操作。然后为每个部分寻找Content-Transfer-Encoding: base64,然后提取base 64区域并使用Convert.FromBase64String将其转换为字节数组,最后将其保存为文件。