I've built a webservice that wraps Apache FOP. You send it XML, and it gives you an MTOM stream that contains the rendered PDF. Now that its working, I'd like to run some performance tests on it. soapUI says they support MTOM, and I use it for all my other webservice performance testing, so it would be great if I didn't have to write a custom test harness.
So here's the issue: I get the response back in soapUI, and it looks like this:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:RenderDocumentResponse xmlns:ns2="http://webservices.cscinfo.com/renderService">
<ns2:Content>
<ns2:fileName xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns2:fileType>pdf</ns2:fileType>
<ns2:mimeType>application/pdf</ns2:mimeType>
<ns2:binaryData>JVBERAkAAiNkRUcERRkaYIMijggKNDkbEiioUBUbHrBBlE1HFwFBuWSWStGd+8ee/Nm98f935rn73P3Wfvfda6AJD8gwXCTFgJgAyhWBTh58WIjYtnYAcBDPAAA2wA4HCzs0IW+EYCmQJ82IxsmRP4F726DiD5+yrTP4zBAP+flLlZIjEAUJiM5/L42VwZF8k4PVecJbdPyZi2NE3OMErOIlmCMlaTc</ns2:binaryData>
</ns2:Content>
<ns2:message>file rendered</ns2:message>
</ns2:RenderDocumentResponse>
</soapenv:Body>
</soapenv:Envelope>
How do I get soapUI to dump and decode the binary data for me? I want to make sure its a valid PDF and all that. (I've truncated the data in the response for brevity, and munged it to protect the guilty! So its not real PDF data in this post)
Update: here's what soapUI shows in the "raw" response tab:
HTTP/1.1 200 OK
Date: Wed, 13 Jan 2010 17:02:31 GMT
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
X-Powered-By: Servlet/2.5 JSP/2.1
First you need to set the request properties to enable and force MTOM. Then, on the attachments tab click the + icon and select a file to attach. You have the option of caching the file inside the request or not, I usually chose to cache it just in case the original file is deleted.
SoapUI supports extensive testing of RESTful web services and their resources, representations, and so on. This step-by-step tutorial will help you learn how to send requests to a REST API and verify its responses with assertions in SoapUI.
Here is what worked for me:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With