[Mono-bugs] [Bug 57423][Nor] New - "Could not deserialize Soap message" on webmethod with struct arg

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 22 Apr 2004 10:47:45 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by gabrielm@itcsoluciones.com.

http://bugzilla.ximian.com/show_bug.cgi?id=57423

--- shadow/57423	2004-04-22 10:47:45.000000000 -0400
+++ shadow/57423.tmp.11662	2004-04-22 10:47:45.000000000 -0400
@@ -0,0 +1,89 @@
+Bug#: 57423
+Product: Mono: Class Libraries
+Version: unspecified
+OS: 
+OS Details: SUSE 9.0
+Status: NEW   
+Resolution: 
+Severity: Unknown
+Priority: Normal
+Component: Sys.Web.Services
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: gabrielm@itcsoluciones.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: "Could not deserialize Soap message" on webmethod with struct arg 
+
+Description of Problem:
+When invoking a web service with a struct argument, I get "Could not
+deserialize Soap message". This happens on mono 0.31.1, however, it works
+fine on mono 0.30.2
+
+Steps to reproduce the problem:
+1. Create the following source files:
+----- WebServiceTest.asmx ------------
+<%@ WebService Language="C#" Class="WebServiceTest" %>
+using System;
+using System.Web.Services;
+
+public struct Structure {
+	  public String name;
+}
+
+public class WebServiceTest : WebService
+{
+	 [WebMethod]
+	 public string SampleMethod(Structure s) { return "Hello " + s.name; }
+}
+--------- end: WebServiceTest.asmx --------
+
+----------------- Test.cs ------------
+using System;
+
+class MainClass
+{
+	public static void Main(string[] args)
+	{
+		WebServiceTest ws = new WebServiceTest();
+		Structure s = new Structure();
+		s.name = "world";
+        String result = ws.SampleMethod(s);
+        Console.WriteLine(result);
+	}
+}
+----------------- end: Test.cs --------
+2. Start xsp on the directory where the source files were created with:
+mono /usr/bin/xsp.exe
+3. Build the test application with the following commands:
+wget -O WebServiceTest.cs http://localhost:8080/WebServiceTest.asmx?code=cs
+mcs Test.cs WebServiceTest.cs -r:System.Web.Services
+4. Execute the test application with 
+mono Test.exe
+
+Actual Results:
+Unhandled Exception: System.Web.Services.Protocols.SoapException: Could not
+deserialize Soap message
+in <0x004de>
+System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse
+(System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.Services.Protocols.SoapExtension[])
+in <0x0007d> (wrapper remoting-invoke-with-check)
+System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse
+(System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.Services.Protocols.SoapExtension[])
+in <0x002d8> System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke
+(string,object[])
+in <0x0006b> (wrapper remoting-invoke-with-check)
+System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke (string,object[])
+in <0x0005b> WebServiceTest:SampleMethod (Structure)
+in <0x00063> MainClass:Main (string[])
+
+
+Expected Results (this is what I get if I repeat steps 2-4 with mono 0.30.2):
+Hello world
+
+How often does this happen? 
+always
+
+Additional Information:
+none