Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how do I test an MTOM webservice with soapUI?

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
like image 312
nont Avatar asked Jan 07 '10 19:01

nont


People also ask

How do I enable Mtom in SoapUI?

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.

Can SoapUI test REST service?

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.


1 Answers

Here is what worked for me:

  • First, set your request properties to enable MTOM

enter image description here

  • Then, when you get response, open attachments tab and click tiny button (see picture) to export attachment

enter image description here

like image 189
hendrix Avatar answered Oct 05 '22 01:10

hendrix