[Mono-bugs] [Bug 48100][Maj] New - Mono ignores 'Bare' SoapParameterStyle when calling a Web Service

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Wed, 3 Sep 2003 10:00:49 -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 sgaines@novell.com.

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

--- shadow/48100	2003-09-03 10:00:49.000000000 -0400
+++ shadow/48100.tmp.10520	2003-09-03 10:00:49.000000000 -0400
@@ -0,0 +1,254 @@
+Bug#: 48100
+Product: Mono/Runtime
+Version: unspecified
+OS: Suse 8.2
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Major
+Component: misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: sgaines@novell.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Mono ignores 'Bare' SoapParameterStyle when calling a Web Service
+
+Please fill in this template when reporting a bug, unless you know what 
+you are doing.
+Description of Problem:
+Code that runs successfully on Windows fails to run on Mono because Mono 
+ignores the 'Bare' SoapParameterStyle when calling a Web Service and thus 
+adds an extra outer XML element on the outgoing XML SOAP message body
+
+Steps to reproduce the problem:
+1. Generate some C# source code by pointing the wsdl utility at an 
+external web service. This should be a Document style web service.
+2. Create an exe from this and invoke the web service
+3. On windows this will invoke correctly. On Mono, the external web 
+service will fail to parse the incoming SOAP body.
+
+
+How often does this happen? 
+Every time.
+
+Additional Information:
+
+Here's some sample generated source code :-
+
+//-------------------------------------------------------------------------
+-----
+// <autogenerated>
+//     This code was generated by a tool.
+//     Runtime Version: 1.1.4322.573
+//
+//     Changes to this file may cause incorrect behavior and will be lost 
+if 
+//     the code is regenerated.
+// </autogenerated>
+//-------------------------------------------------------------------------
+-----
+
+// 
+// This source code was auto-generated by wsdl, Version=1.1.4322.573.
+// 
+using System.Diagnostics;
+using System.Xml.Serialization;
+using System;
+using System.Web.Services.Protocols;
+using System.ComponentModel;
+using System.Web.Services;
+
+
+/// <remarks/>
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Web.Services.WebServiceBindingAttribute
+(Name="PatientInfoWSDLSoapBinding", Namespace="urn:PatientInfoWSDL")]
+public class PatientInfoWSDLService : 
+System.Web.Services.Protocols.SoapHttpClientProtocol {
+    
+    /// <remarks/>
+    public PatientInfoWSDLService() {
+        this.Url = "http://10.0.0.3/NHSDemo/NHSDemoComp/PatientInfoWS";
+    }
+    
+    /// <remarks/>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("\"\"", 
+Use=System.Web.Services.Description.SoapBindingUse.Literal, 
+ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
+    [return: System.Xml.Serialization.XmlElementAttribute
+("PATIENTINFORESPONSE", Namespace="urn:PatientInfoOutput")]
+    public PATIENTINFORESPONSE PatientInfoWSDLOperation
+([System.Xml.Serialization.XmlElementAttribute
+(Namespace="urn:PatientInfoInput")] PATIENTINFOREQUEST PATIENTINFOREQUEST) 
+{
+        object[] results = this.Invoke("PatientInfoWSDLOperation", new 
+object[] {
+                    PATIENTINFOREQUEST});
+        return ((PATIENTINFORESPONSE)(results[0]));
+    }
+    
+    /// <remarks/>
+    public System.IAsyncResult BeginPatientInfoWSDLOperation
+(PATIENTINFOREQUEST PATIENTINFOREQUEST, System.AsyncCallback callback, 
+object asyncState) {
+        return this.BeginInvoke("PatientInfoWSDLOperation", new object[] {
+                    PATIENTINFOREQUEST}, callback, asyncState);
+    }
+    
+    /// <remarks/>
+    public PATIENTINFORESPONSE EndPatientInfoWSDLOperation
+(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((PATIENTINFORESPONSE)(results[0]));
+    }
+}
+
+/// <remarks/>
+[System.Xml.Serialization.XmlTypeAttribute
+(Namespace="urn:PatientInfoInput")]
+public class PATIENTINFOREQUEST {
+    
+    /// <remarks/>
+    public string PATIENT_NUMBER;
+}
+
+/// <remarks/>
+[System.Xml.Serialization.XmlTypeAttribute
+(Namespace="urn:PatientInfoOutput")]
+public class PATIENTINFORESPONSECONSULTATION_RECORDSCONSULTATION {
+    
+    /// <remarks/>
+    public string DATE;
+    
+    /// <remarks/>
+    public string INSTITUTE;
+    
+    /// <remarks/>
+    public string DEPARTMENT;
+    
+    /// <remarks/>
+    public string CONSULTANT;
+    
+    /// <remarks/>
+    public string DOC_REF;
+    
+    /// <remarks/>
+    public string NOTES;
+}
+
+/// <remarks/>
+[System.Xml.Serialization.XmlTypeAttribute
+(Namespace="urn:PatientInfoOutput")]
+public class PATIENTINFORESPONSECONSULTATION_RECORDS {
+    
+    /// <remarks/>
+    public PATIENTINFORESPONSECONSULTATION_RECORDSCONSULTATION 
+CONSULTATION;
+}
+
+/// <remarks/>
+[System.Xml.Serialization.XmlTypeAttribute
+(Namespace="urn:PatientInfoOutput")]
+public class PATIENTINFORESPONSEBASIC_DETAILSEMPLOYMENT_DETAILS {
+    
+    /// <remarks/>
+    public string EMPLOYEE_NAME;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_1;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_2;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_3;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_4;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_5;
+    
+    /// <remarks/>
+    public string POSTCODE;
+}
+
+/// <remarks/>
+[System.Xml.Serialization.XmlTypeAttribute
+(Namespace="urn:PatientInfoOutput")]
+public class PATIENTINFORESPONSEBASIC_DETAILSCONTACT_ADDRESS {
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_1;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_2;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_3;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_4;
+    
+    /// <remarks/>
+    public string ADDRESS_LINE_5;
+    
+    /// <remarks/>
+    public string POSTCODE;
+}
+
+/// <remarks/>
+[System.Xml.Serialization.XmlTypeAttribute
+(Namespace="urn:PatientInfoOutput")]
+public class PATIENTINFORESPONSEBASIC_DETAILS {
+    
+    /// <remarks/>
+    public string SURNAME;
+    
+    /// <remarks/>
+    public string FIRST_NAME;
+    
+    /// <remarks/>
+    public string INITIALS;
+    
+    /// <remarks/>
+    public string NI;
+    
+    /// <remarks/>
+    public string DOB;
+    
+    /// <remarks/>
+    public string GENDER;
+    
+    /// <remarks/>
+    public string MARITAL_STATUS;
+    
+    /// <remarks/>
+    public string EMPLOYMENT_STATUS;
+    
+    /// <remarks/>
+    public string BLOOD_TYPE;
+    
+    /// <remarks/>
+    public PATIENTINFORESPONSEBASIC_DETAILSCONTACT_ADDRESS CONTACT_ADDRESS;
+    
+    /// <remarks/>
+    public PATIENTINFORESPONSEBASIC_DETAILSEMPLOYMENT_DETAILS 
+EMPLOYMENT_DETAILS;
+}
+
+/// <remarks/>
+[System.Xml.Serialization.XmlTypeAttribute
+(Namespace="urn:PatientInfoOutput")]
+public class PATIENTINFORESPONSE {
+    
+    /// <remarks/>
+    public PATIENTINFORESPONSEBASIC_DETAILS BASIC_DETAILS;
+    
+    /// <remarks/>
+    public PATIENTINFORESPONSECONSULTATION_RECORDS CONSULTATION_RECORDS;
+}