2006-12-18 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Mon, 18 Dec 2006 08:46:42 +0000 (08:46 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Mon, 18 Dec 2006 08:46:42 +0000 (08:46 -0000)
* TypeStubManager.cs, Methods.cs, SoapServerMethod.cs :
  added WsiClaims property to TypeStubInfo, to implement
  SoapServerMethod.WsiClaims.

svn path=/branches/atsushi/mcs/; revision=69648

mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog
mcs/class/System.Web.Services/System.Web.Services.Protocols/Methods.cs
mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServerMethod.cs
mcs/class/System.Web.Services/System.Web.Services.Protocols/TypeStubManager.cs

index d35b46621b5f66051995f34e25d47435607254d6..36633323b49e58dee11650e3b2acdbd2f955e5f7 100644 (file)
@@ -1,3 +1,9 @@
+2006-12-18  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TypeStubManager.cs, Methods.cs, SoapServerMethod.cs :
+         added WsiClaims property to TypeStubInfo, to implement
+         SoapServerMethod.WsiClaims.
+
 2006-12-15  Atsushi Enomoto  <atsushi@ximian.com>
 
        * ServerType.cs : added SOAP 1.2 protocol as a different one from
index 0e5c976e7e820d76a00afe3630e07aec34d13af3..b33d9f46dfb27cb796c47a00a3350ed8672b680b 100644 (file)
@@ -438,7 +438,9 @@ namespace System.Web.Services.Protocols {
                Hashtable[] header_serializers = new Hashtable [3];
                Hashtable[] header_serializers_byname = new Hashtable [3];
                Hashtable methods_byaction = new Hashtable (); 
-
+#if NET_2_0
+               WsiProfiles wsi_claims = WsiProfiles.None;
+#endif
                // Precomputed
                internal SoapParameterStyle      ParameterStyle;
                internal SoapServiceRoutingStyle RoutingStyle;
@@ -468,6 +470,11 @@ namespace System.Web.Services.Protocols {
                                // Remove the default binding, it is not needed since there is always
                                // a binding attribute.
                                Bindings.Clear ();
+#if NET_2_0
+                               WebServiceBindingAttribute wsba = (WebServiceBindingAttribute) o [0];
+                               if (wsba.EmitConformanceClaims)
+                                       wsi_claims = wsba.ConformsTo;
+#endif
                        }
                                
                        foreach (WebServiceBindingAttribute at in o)
@@ -507,6 +514,12 @@ namespace System.Web.Services.Protocols {
                        SoapExtensions = SoapExtension.GetTypeExtensions (Type);
                }
 
+#if NET_2_0
+               public override WsiProfiles WsiClaims {
+                       get { return wsi_claims; }
+               }
+#endif
+
                public override XmlReflectionImporter XmlImporter 
                {
                        get { return xmlImporter; }
index 17ef72f3cd1eef03b282ce018c84d01188f80111..bec14dffdb1958913f1f503ebeb41af43f49b168 100644 (file)
@@ -40,6 +40,7 @@ namespace System.Web.Services.Protocols
        public sealed class SoapServerMethod
        {
                SoapMethodStubInfo info;
+               WsiProfiles wsi_claims;
 
                [MonoTODO] // what to do here?
                public SoapServerMethod ()
@@ -50,6 +51,7 @@ namespace System.Web.Services.Protocols
                public SoapServerMethod (Type serverType, LogicalMethodInfo methodInfo)
                {
                        TypeStubInfo type = TypeStubManager.GetTypeStub (serverType, "Soap");
+                       wsi_claims = type.WsiClaims;
                        foreach (SoapMethodStubInfo m in type.Methods) {
                                bool match = false;
                                if (m.MethodInfo.MethodInfo == null)
@@ -113,9 +115,8 @@ namespace System.Web.Services.Protocols
                        get { return info.SoapBindingStyle == SoapBindingStyle.Rpc; }
                }
 
-               [MonoTODO]
                public WsiProfiles WsiClaims {
-                       get { throw new NotImplementedException (); }
+                       get { return wsi_claims; }
                }
        }
 }
index 3683c26438eaf18f21176a180ae2eab436750b19..6690d591491143ec9de5cdea18b1e997156383f3 100644 (file)
@@ -99,6 +99,12 @@ namespace System.Web.Services.Protocols {
                        Bindings.Add (binfo);
                }
                
+#if NET_2_0
+               public virtual WsiProfiles WsiClaims {
+                       get { return WsiProfiles.None; }
+               }
+#endif
+               
                public ServerType LogicalType
                {
                        get { return logicalType; }