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!
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!