2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Protocols / SoapHttpClientProtocol.cs
index dc231ef96bdfab0991526a8ba6b76fd1201171cd..143432a50207121a1ecfd279bc44f86b28837f2a 100644 (file)
@@ -244,6 +244,9 @@ namespace System.Web.Services.Protocols
                                        msg = String.Format (msg, (int) code, code);\r
                                        throw new WebException (msg, null, WebExceptionStatus.ProtocolError, http_response);\r
                                }\r
+                               if (response.ContentLength == 0 && (code == HttpStatusCode.Accepted || code == HttpStatusCode.OK)) {\r
+                                       return new object[0];\r
+                               }\r
                        }\r
                        \r
                        //\r
@@ -269,13 +272,16 @@ namespace System.Web.Services.Protocols
                        \r
                        // Deserialize the response\r
 \r
-                       StreamReader reader = new StreamReader (stream, encoding, false);\r
-                       XmlTextReader xml_reader = new XmlTextReader (reader);\r
-\r
                        SoapHeaderCollection headers;\r
                        object content;\r
 \r
-                       WebServiceHelper.ReadSoapMessage (xml_reader, type_info, msi.Use, msi.ResponseSerializer, out content, out headers);\r
+                       using (StreamReader reader = new StreamReader (stream, encoding, false)) {
+                               XmlTextReader xml_reader = new XmlTextReader (reader);
+
+                               WebServiceHelper.ReadSoapMessage (xml_reader, type_info, msi.Use, msi.ResponseSerializer,
+                                                               out content, out headers);
+                       }
+
                        \r
                        if (content is Fault)\r
                        {\r