Forum Discussion

sherington's avatar
sherington
Occasional Contributor
15 years ago

[SOLVED]Receive MTOM attachment sometimes hangs

Hi,

I've just started using soapui. I think it's superb by the way.

I have a test web service that simply serves binary files (PDF as it happens but that doesn't matter) as attachments.

My web service implementation uses Spring Web Services and I have MTOM enabled.

I have everything working from within soapui, it returns my binary files as attachments correctly and I can get to them from the soapui response tab.

My problem is that this only works for small files - e.g. 2k is ok, 3mb is not. For the 3mb case it will run for about 10 seconds and then totally hang with soapui at 100% CPU usage. No matter how long I leave it, soapui never comes back.

If I disable MTOM at the Spring Web Services side then an in-lined file comes back instead of an attachment and this works ok.

Anyone have any clues as to where I'm going wrong?

Thanks!

14 Replies

  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi!

    ok.. I've

    - imported the WSDL
    - generated a MockService
    - opened the generated MockResponse and
      - enabled MTOM in the bottom left properties
      - added a 5 mb file as an attachment and associated with the generated cid, it is correctly identified as XOP
    - called this mock from inside soapUI with the corresponding request
      - the request takes about 5 seconds, the attachment is retrieved correctly without any lockup

    Can you try to reproduce this? Do you get the same results? Be sure to use the latest nightly build (http://www.eviware.com/nightly-builds)

    Looking forward to your reply!

    regards,

    /Ole
    eviware.com
  • sherington's avatar
    sherington
    Occasional Contributor
    Hello there.

    I gave you one piece of duff information at the start, I had not tried this on Windows until today. On Windows, it works just fine, so apologies for that.

    However, I run the exact same code in my Linux environment (it's the same Eclipse workspace) and I see the problem I described here, 100% repeatable.

    I tried it on the latest JDK, which is 1.6.0_16, and the same issue.

    As a last resort, I used jvisualvm to attach to soapui and do some basic CPU profiling. I attached an image of the execution hot-spots.

    I can't explain the hot-spots because I obviously don't know your code, but if you look at that attached image you will see the following looks a bit suspicious at least to me:

    com.eviware....ModelItemIconAnimator.run() has over 8 minutes self execution time.
    com.eviware....JInspectorPanelImpl.propertyChange() has just under 8 minutes self execution time.

    This snapshot was taken something like ten minutes after the response XML came back and the UI jammed up.

    I will find some time as soon as I can to get the latest nightly build and execute the same steps as you.
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hello,

    When attachment is large showing/setting it to raw response tab in request panel breaks soapUI. Check Settings -> UISupport -> "Size of Raw Message to Show"  , just added. There you can specify a size of raw message which will be shown.

    Let me know does it helps,
    robert

    PS. check nightly builds for fix
  • sherington's avatar
    sherington
    Occasional Contributor
    eviware support wrote:

    Let me know does it helps,
    PS. check nightly builds for fix

    I installed the following build: "Build soapui-3.0-core-daily-2009-10-20-[3], Build Date 2009/10/20 18:10".

    The good news is that it worked just fine without me having to change anything. The attachment shows up perfectly, the UI never becomes non-responsive and the approximately 5mb request I make comes back on average in 500ms.

    Thanks a lot!