Bug 322400 (MONO79697)

Summary: [System.Web.Services] SOAP-Problems
Product: [Mono] Mono: Class Libraries Reporter: Gen2 <spielc>
Component: Sys.Web.ServicesAssignee: Atsushi Enomoto <atsushieno>
Status: RESOLVED FIXED QA Contact: Mono Bugs <mono-bugs>
Severity: Normal    
Priority: P3 - Medium CC: anmar, gert.driesen, informatique.internet
Version: 1.2   
Target Milestone: ---   
Hardware: Other   
OS: Linux   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on: 371859    
Bug Blocks:    
Attachments: c#-ws-proxy for http://www.atomic-x.com/xmlservices/GuitarManufWS.asmx?wsdl
c#-proxy for my sample ws
asmx-file of my web-service
implementation of this simple web-service
All in one test case from the above attachments (use this one to reproduce)

Description Thomas Wiest 2007-09-15 20:13:26 UTC


---- Reported by spielc@gmx.at 2006-10-19 11:31:07 MST ----

Description of Problem:

Something seems to be terribly wrong with the current client-side soap
implementation of mono. I can develop the ws itself just fine, it compiles
well. i can even test it with xsp2 (using the web-service testbench xsp2
provides) BUT as soon as i try to actually USE it everything fails (on the
mono-side, i created a ws-proxy with axis-1.4 for my simple service and the
java-client works as expected). To be correct when i try to use the client
with the web-browser through a http-get-request i get the correct result
but when i try to use the by xsp2 automatically created test form (and thus
the SOAP-Execution), execution fails (the error msg the form displays is:
Error getting response stream (ReadDone2): ReceiveFailure). When i try to
use wsdl2 to create a local-proxy for the same web-service it creates the
cs-file with the code. it compiles fine but when i try to actually use the
proxy to execute the web-method of my service it fails again...

I think that it is a general problem because i experience this problem both
with a compiled 64-bit version on gentoo linux and with a binary 32-bit
windows-version.

Steps to reproduce the problem:
1. Create a web-service
2. Create a proxy for this web-service with the mono wsdl-to-c# tools
3. Compile the created file and execute it

Actual Results:

Web-Service-Proxy crashes.

Expected Results:

Web-Service-Proxy shouldn't crash and result should be displayed


How often does this happen? 

Always

Additional Information:

As said before problems occur on both compiled/binary 32-/62-bit
windows/linux verions of mono (tried both version 1.1.17 and 1.1.18 on
gentoo linux and the version 1.1.18 on windows)



---- Additional Comments From spielc@gmx.at 2006-10-20 14:48:23 MST ----

Okey after doing some more testing i have to say that i'm dumbfound. I
used the wsdl2-tool to create proxy's for two more web-services that
could be found on xmethods.com (the wsdl-files i used can be found
here: http://www.bs-byg.dk/hashclass.wsdl and
http://www.atomic-x.com/xmlservices/GuitarManufWS.asmx?wsdl). Both
proxy's worked well (except the fact that wsdl2 creates two completely
exact proxy's, which causes gmcs to choke on the file but as soon as
you comment the second class out everything works as expected... I'll
attach one of the generated cs-files to this bugreport)

Thus the problem seems to be related to the simple web-service i
implemented (the only thing i find kinda disturbing is the fact that
my ws works without any problems with the axis-client but i have no
chance to make it work with the c#-client.

I'll attach both the source-files of the web-service and the
c#-proxy-classfiles to this bug-report. Maybe somebody else can have a
look at it and has a hint what could be wrong!

Regards! 



---- Additional Comments From spielc@gmx.at 2006-10-20 14:53:40 MST ----

Created an attachment (id=170676)
c#-ws-proxy for http://www.atomic-x.com/xmlservices/GuitarManufWS.asmx?wsdl




---- Additional Comments From spielc@gmx.at 2006-10-20 14:56:27 MST ----

Created an attachment (id=170677)
c#-proxy for my sample ws




---- Additional Comments From spielc@gmx.at 2006-10-20 14:57:10 MST ----

Created an attachment (id=170678)
asmx-file of my web-service




---- Additional Comments From spielc@gmx.at 2006-10-20 14:59:28 MST ----

Created an attachment (id=170679)
implementation of this simple web-service


Imported an attachment (id=170676)
Imported an attachment (id=170677)
Imported an attachment (id=170678)
Imported an attachment (id=170679)

Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>Gentoo Linux-2006.1</cf_op_sys_details>

Comment 1 Atsushi Enomoto 2007-11-05 13:46:55 UTC
xsp2 does not cause that ReadDone() error on web browser (DefaultWsdlHelpGenerator.aspx) on Linux. On windows it has been a long issue though (I've never seen it worked). Marek, any idea on this general issue?
Comment 2 Gert Driesen 2007-11-05 16:56:41 UTC
Creating, compiling and running the simple web service proxy works fine here on Windows.

However, the Test Form indeed results in the following error using both XSP and XSP2:

"Error getting response stream (ReadDone2): ReceiveFailure"

XSP(2) logs the following exception:

Peer unexpectedly closed the connection on write. Closing our end.
System.IO.IOException: Write failure ---> System.Net.Sockets.SocketException: An
 established connection was aborted in your host machine.
  at System.Net.Sockets.Socket.Send (System.Byte[] buf, Int32 offset, Int32 size
, SocketFlags flags) [0x00000]
  at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, Int32 offset,
 Int32 size) [0x00000] --- End of inner exception stack trace ---
  at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, Int32 offset,
 Int32 size) [0x00000]
  at Mono.WebServer.XSPWorker.Write (System.Byte[] buffer, Int32 position, Int32
 size) [0x00000]
Comment 3 Hubert FONGARNAND 2008-03-01 13:22:41 UTC
I experienced this problem on our intranet (10x/ days) but i can't reproduce it on my dev PC... But this bug is very annoying...
Comment 4 Angel Marin 2008-03-17 14:28:01 UTC
This looks like something we came into a few months ago (at least the part about axis). Problem was that axis client makes requests with chunked encoding and xsp2 does not support it.

With mod_mono is even worse, as apache automatically decodes chunked encoding requests, but is doesn't provide the content-length expected by mod-mono-server.

I have a couple dirty patched bitrotting  somewhere that addressed this, though I never got around to cleanup them.
Comment 5 Miguel de Icaza 2008-03-24 03:09:04 UTC
Hubert, can you describe what is the web server that hosts the web service that we are talking to?

Comment 6 Atsushi Enomoto 2008-03-25 04:09:14 UTC
Hubert case is almost ignorable or different from this issue because he says that he cannot reproduce the issue (while everyone else can). He should file different bug report.

Adding bug dependency (now we simply cannot access to *.asmx).
Comment 7 Hubert FONGARNAND 2008-04-08 15:57:28 UTC
(In reply to comment #5 from Miguel de Icaza)
> Hubert, can you describe what is the web server that hosts the web service that
> we are talking to?
> 

The issue appears now 3-4 times/ days...

My webserver is running asp.net over an nfs share (the aspx and the dll are on an nfs share in order to do load balancing). The nfs server is serving a SAN disk


schema of our architecture


<ASP WebServer1><--> <WebService WebServer1>
<ASP WebServer2 <--> <WebService WebServer2> 
    |                         |
    |-------------------------
<Nfs Server>
    |
<SAN>


There's something strange, two weeks ago, the write cache of our SAN has been disabled, write performance on our nfs was awful...
and the problems happened 60-70 times/days...

It seems there's a link between nfs and this problem (that's why i can't reproduce it on my dev machine which is not on an nfs share
Comment 8 Marc Christensen 2008-06-05 19:40:11 UTC
Looks like the link (http://www.atomic-x.com/xmlservices/GuitarManufWS.asmx?wsdl) is no longer valid.  Is this bug still reproduceable without that link?
Comment 9 Thomas Wiest 2008-06-05 21:42:03 UTC
Created attachment 220559 [details]
All in one test case from the above attachments (use this one to reproduce)
Comment 10 Thomas Wiest 2008-06-05 21:46:51 UTC
Using the all in one test case from comment 9, I am unable to reproduce this bug on Mono SVN r105066 on SLED 10 SP2 i586.

I'm closing this bug as I think it's been fixed. Also, from comment 6 it seems that Hubert should file a new bug for his comments on this bug.


Gen2, if you can still reproduce this, please re-open this bug.