Exception raised on transfer XOP data

Hi,

I’ve created a very simple service flow which gets a file on the IS server (on C:) and then send a XOPObject :

I’ve put a “sample.PDF” file in C:\ of my IS server.

And I’ve created the Service flow “getPDFAndSendXOP” which contains theses 3 steps :

  • call the service Flow “pub.file.getFile” to read the file
  • call the service flow “pub.io.close”
  • call the service flow “pub.soap.utils:createXOPObject”

I’ve created the file descriptor : wsGetPDFAndSendXOP, that calls the service operation getPDFAndSendXOP

I’ve tested my web service in SoapUI.
After running it the first time, the PDF attachment tab appears and the PDF file is valid.
but when running the same service a 2nd time in SoapUI, the response is empty.
If I run the service a 3rd time, all works fine (PDF valid).
If I run the service a 4th time, the SoapUi response is empty.
etc…

It wortks exactly half the time.

When it does not work (half the time) the IS returns this error :


An error occured writing the response to an HTTP request.
Caused by: org.apache.axis2.AxisFault: Could not compress response
Caused by: java.net.SocketException: Connection reset by peer: socket write error

Would you know what I may configure on the IS server to avoid this error please ?

Product webMethods Integration Server
Version 9.8.0.0
Updates IS_9.8_Core_Fix4

My IS Extended settings are :
watt.server.compile=D:\SoftwareAG\jvm\jvm\bin\javac -classpath {0} -d {1} {2}
watt.server.SOAP.MTOMStreaming.cachedFiles.location=temp\mtom\cachedfiles
watt.server.SOAP.MTOMStreaming.enable=true
watt.server.SOAP.MTOMStreaming.threshold=4000
watt.server.SOAP.MTOMThreshold=0

Regards


test_SoapUI.docx (143 KB)
getFile.JPG

The error:
02.Caused by: org.apache.axis2.AxisFault: Could not compress response
03.Caused by: java.net.SocketException: Connection reset by peer: socket write error
indicates this is a connection/access error. check with the system that you are trying to connect to, see if you have the right authentication credentials. or if the user has access to that service.

Additionally to what Tong said, maybe it will be a good idea to use a Network sniffer like Wireshark or something else and this way check what is happening on the lower level.

And I usually do the file.close after I create the xopObject, but that is just me.

Best regards,
Vlad Turian

Hi,
Tong, I had configured the IS to have the correct autorization (it is the reason, it works perfectly half the time)

Vlad, I’ve succeed in repairing the problem easily :
In setting MTOMStreamiong.enable to false, is it normal ?

(testing the file.close called after the createXOPObject, the issue still there)

Regards

In setting MTOMStreamiong.enable to false, is it normal ? I don’t think. I didn’t use it.

Thanks,

Hello,

MTOMStreamiong.enable has a typo. it should be watt.server.SOAP.MTOMStreaming.enable.

By default this value is set to false and it is used if you want to enable MTOM streaming for inbound messages.

So the setting is useful if you want to use MTOM streaming and you are creating a WS Provider.

Best regards,
Vlad Turian

Hello again,

Just wanted to say that also the following resources are valuable regarding the MTOM streaming.

8-2-SP1_Administering_Integration_Server.pdf - Appendix B Server Configuration Parameters (page 588)
8-2-SP1_Web_Services_Developers_Guide.pdf - Chapter 7 MTOM Streaming

These are for 8.2 but I am sure that there is an equivalent for other versions as well.

Vlad Turian

The initial typo I’ve used is correct “watt.server.SOAP.MTOMStreaming.enable” on my IS…

Thanks Vlad… Yes, I have these two 9.8 version documents.

Regards

Hi ,

were you able to resolve this issue. we re facing a similar issue.

Thanks,
Shiva