sending attachments through SOAP

Has someone got experience on how to handle soap attachments? I want to create a flow service (and then expose this as a web service) that accepts messages that contain both structured data together with binary data (as SOAP attachments?)

any help would be appreciated.

webMethods Integration Server does not support Soap with Attachments (SWA) natively today. It is possible to do this with quite a bit of extra work by running the webMethods Glue Servlet inside Integration Server’s Tomcat instance and using the SWA functionality inside Glue. Support may be able to point you to an internal document that discusses this.

SWA is yet another web services standard that has been around for years and yet is not supported by Integration Server. To be fair, SWA is not one of the more popular web services standards, but I’ve run into several customers who were using it and most current generation soap clients and web services testing tools have supported SWA for quite some time. Glue supported SWA before The Mind Electric was acquired by WM three years ago.

Just another consequence of neglecting Integration Server features for the last 2-3 years while focusing on other non-core products. Hopefully, the 7.x releases will see IS catch up considerably in the critical areas of XML schema and web services support. I view success in these areas as critical to WM’s survival. Hopefully, they do as well.


You should know not to get Mark C started on the IS server’s support of Web Services standards. :eek:

You can probably do what you want to do by using a base64Binary field in you document. I’ve tested this out with .Net and have been able to send over files. It’s not a true SOAP attachment (because that doesn’t work as Mark C pointed out) but it will allow you to send over files. There is no guarantee either expressed or implied that this will work for ever combination of provider/consumer.

Thanks for the replies.
The base64Binary option works fine.
Are there any limitations on the size of the file(s) when I send them as a base64binary field?

I not aware of a size limit but that doesn’t mean there isn’t one. You will probably not get great performance if they get to big. We were doing 1.5 to 2MB with okay performance.

[INDENT]Please SUGGEST…:confused:

I need to create a flow service(which will be exposed as Webservice),
when the caller invokes this webservice, webMethods service should get ATTACHMENT from Oracle DB and send it back to caller service.

  1. How to get the attachment/doc(in the form of blob) to webMethods using JDBC adapter, Is it possible through procedures?

  2. How to handle the incoming file from Oracle, in webMethods?

  3. How to send the attachment(in which format) to caller service along with soap response?

I have gone through so many threads related, but I couldn’t find my solution.

Please respond to this thread, may helpful to so many…

we are using…
webMethods 7.1.3
Oracle 9i
JDBC Adapters

THANKS in Advance [/INDENT]

There are two questions here. One, related to the JDBC adapter and Blobs should be posted in the JDBC adapter or Flow services forum.

Once you have a bytearray containing the data you want to return to the caller, you’ll need to create the attachment. Search the Web Services or SOAP Developer’s guide for the specification support for either MTOM (current standard) or MIME attachments (older standard).

This article shows how SoapUI (my favorite web services testing tool) supports creation of attachments in SOAP messages. You’ll want to use something like SoapUI to test whatever you come up with.



Thanks for your suggestion Mark,

As you suggest, once I have the bitearray… need to create attachment, this is where exactly I’m strucking at.

In flow service(which will be exposed as webservice) how to create attachment from bytes and sent to caller.
I think, this is totally different from writeToFile,

Infact, I’m also using the Soapui tool for testing webservices.

Please give a solution for this ------- Thanks

My solution is for you to read the documentation that I recommended above and, if you have additional questions, post them here.

Hi Mark,

As you suggest 'Search the Web Services or SOAP Developer’s guide for the specification support for either MTOM (current standard) or MIME attachments (older standard).

I have really gone through these two documents (SOAP and webservice), even some other related guides and some forums related. They didn’t specify a single builtin service or process to create a file.
Still I didn’t find any clue to create attachment(PDF file) from blob datatype and send it to webservice caller. :mad:

Please could you let me have some full flow knoledge on this topic.