带有附件/MIME 内容的 SOAP
需要从第三方发送和接收以下格式的 SOAP 消息:
POST /api HTTP/1.1
Host: mytesthost.com
Content-Type: multipart/related;
boundary="aMIMEBoundary";
type="text/xml";
start="<soap-start>"
Content-Length: 2014
SOAPAction: ""
--aMIMEBoundary
Content-Type: text/xml; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-ID: <soap-start>
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-
env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
...
</soap-env:Header>
<soap-env:Body>
...
</soap-env:Body>
</soap-env:Envelope>
--aMIMEBoundary
Content-Type: image/gif
Content-ID: dancingbaby.gif
Content-Transfer-Encoding: base64
Content-Disposition: attachment
<Binary Data Here>
--aMIMEBoundary--
这是否被视为“带有附件的 SOAP”?我们刚刚开始对此进行研究,发现使用 .NET 技术发送此类消息的支持非常少。
如果您有此类操作的起点,请告诉我。我们已经了解了 ServiceStack 和 PocketSOAP(.NET 的 SOAP 框架)。
我们还看到提到过 DIME 和 MTOM。这可以代替 SWA(带有附件的 SOAP)消息吗?
如果您需要更多信息,请告诉我。我们主要尝试将二进制数据作为 SOAP 消息的一部分发送,这是我们第一次接触它。谢谢!
Need to send and receive a SOAP message in the following format from a third party:
POST /api HTTP/1.1
Host: mytesthost.com
Content-Type: multipart/related;
boundary="aMIMEBoundary";
type="text/xml";
start="<soap-start>"
Content-Length: 2014
SOAPAction: ""
--aMIMEBoundary
Content-Type: text/xml; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-ID: <soap-start>
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-
env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
...
</soap-env:Header>
<soap-env:Body>
...
</soap-env:Body>
</soap-env:Envelope>
--aMIMEBoundary
Content-Type: image/gif
Content-ID: dancingbaby.gif
Content-Transfer-Encoding: base64
Content-Disposition: attachment
<Binary Data Here>
--aMIMEBoundary--
Is this considered "SOAP with Attachment"? We just started looking into this and found very thin support for sending this type of message using .NET technologies.
Please let me know if you have a starting point for this type of operation. We've looked at ServiceStack and PocketSOAP (SOAP Frameworks for .NET).
We've also seen DIME and MTOM mentioned. Can this take the place of an SWA (SOAP with Attachment) message?
Please let me know if you need more info. We're mainly trying to focus on sending binary data as part of a SOAP message and this is our first exposure to it. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请注意,在 ServiceStack 中,您可以通过 multipart/form-data 内容接受上传的 HTTP 文件-键入这是实现最佳互操作性和性能的推荐方式。
GitHub 的 Rest Files 项目 中有一个执行此操作的示例。
以下是显示如何上传文件的 C# 客户端示例:
您可以 查看 Ajax 示例的源代码,了解如何在 JavaScript 中执行此操作。
这是处理上传文件的 Web 服务实现:
希望它有帮助!
Note in ServiceStack you can accept uploaded HTTP Files via the multipart/form-data Content-Type which is the recommend way for optimal interoperability and performance.
There's an example of doing this in the GitHub's Rest Files project.
Here is the C# client example showing how to upload a file:
You can view-source of the Ajax example to see how to do this in JavaScript.
And here is the web service implementation to process the uploaded files:
Hope it helps!