C# 在WCF C中使用SOAP消息中的多部分MIME对象#
在c#中,我一直很难实现这一点,而谷歌搜索也没有像我所希望的那样成功 问题是我正在作为流对象接收此MTOM信号。它有两个部分。XML和一个字节[],这是我需要保存到磁盘的ZIP文件。有人知道这样做的好方法吗 我尝试过MimeKit、MimeMessage、MimeEntity和其他一些不太知名的库,但没有机会用这些包解释我的流 以下是打印为字符串时的流:C# 在WCF C中使用SOAP消息中的多部分MIME对象#,c#,zip,mime,multipart,mtom,C#,Zip,Mime,Multipart,Mtom,在c#中,我一直很难实现这一点,而谷歌搜索也没有像我所希望的那样成功 问题是我正在作为流对象接收此MTOM信号。它有两个部分。XML和一个字节[],这是我需要保存到磁盘的ZIP文件。有人知道这样做的好方法吗 我尝试过MimeKit、MimeMessage、MimeEntity和其他一些不太知名的库,但没有机会用这些包解释我的流 以下是打印为字符串时的流: ----MIME_boundary Content-Type: application/xop+xml; charset=UTF-8; typ
----MIME_boundary
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-Id: <start.xml>
<?xml version='1.0' encoding='UTF-8' ?>
<soap:Envelope
xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xop = "http://www.w3.org/2004/08/xop/include"
>
<soap:Body>
<COMPANYDOC>
<COMPANYNET_INFO
transactionId = "00486KZ"
>
<ATTACHMENTS>
<ATTACHMENT>
<xop:Include
href = "cid:70049@COMPANY.com"
/>
</ATTACHMENT>
</ATTACHMENTS>
</COMPANYNET_INFO>
</COMPANYDOC>
</soap:Body>
</soap:Envelope>
----MIME_boundary
Content-Type: application/zip
Content-Transfer-Encoding: binary
Content-Disposition: attachment; filename="COMPANYDOC.ZIP"
Content-Id: <70049@COMPANY.com>
PK
给我StartIndex不能小于零
MimeKit.MimeEntity mime = MimeKit.MimeEntity.Load(HttpContext.Current.Request.InputStream);
它只是创建了一个内容类型为text/xml的新mimeEntity,并且没有拆分我的MIME头
这一个正是我需要的,但他的链接不工作了
所以我的问题是,我如何用C#解析这个多部分MTOM消息,并在一天结束时获得ZIP附件(这是我真正关心的)
任何帮助都将不胜感激
谢谢你的阅读 我也有同样的问题。我需要编写一个自定义编码器将MTOM附件写入磁盘,而不是将其存储在字节数组中。这种联系可能是巨大的
MimeKit.MimeEntity mime = MimeKit.MimeEntity.Load(HttpContext.Current.Request.InputStream);