2010-07-09 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Fri, 9 Jul 2010 09:17:26 +0000 (09:17 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Fri, 9 Jul 2010 09:17:26 +0000 (09:17 -0000)
* MessageHeader.cs, MessageHeaderInfo.cs: add internal Prefix
  property and copy them from source to destination.

svn path=/trunk/mcs/; revision=160107

mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
mcs/class/System.ServiceModel/System.ServiceModel.Channels/MessageHeader.cs
mcs/class/System.ServiceModel/System.ServiceModel.Channels/MessageHeaderInfo.cs

index 8097e8f34dbf06fbc9b94a09a62f68f4a3a50d74..b6b77bf995e70c2c5ceb708717c1f93d1a4d216c 100755 (executable)
@@ -1,3 +1,8 @@
+2010-07-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeader.cs, MessageHeaderInfo.cs: add internal Prefix
+         property and copy them from source to destination.
+
 2010-07-09  Atsushi Enomoto  <atsushi@ximian.com>
 
        * MessageImpl.cs : When XmlReaderMessage was writing its contents,
index c2abe80e7555a734b4dd60046e20df8635d17425..4e45b21de5cb39afb259613ed7ee62e2e4d545b7 100644 (file)
@@ -123,7 +123,7 @@ namespace System.ServiceModel.Channels
                {
                        var dic = Constants.SoapDictionary;
                        XmlDictionaryString name, ns;
-                       var prefix = Namespace.Length > 0 ? writer.LookupPrefix (Namespace) : String.Empty;
+                       var prefix = Prefix ?? (Namespace.Length > 0 ? writer.LookupPrefix (Namespace) : String.Empty);
                        if (dic.TryLookup (Name, out name) && dic.TryLookup (Namespace, out ns))
                                writer.WriteStartElement (prefix, name, ns);
                        else
@@ -216,6 +216,7 @@ namespace System.ServiceModel.Channels
 
                        public RawMessageHeader (XmlReader reader, string soap_ns)
                        {
+                               Prefix = reader.Prefix;
                                Id = reader.GetAttribute ("Id", Constants.WsuNamespace);
 
                                string s = reader.GetAttribute ("relay", soap_ns);
index 4deafbe7e3f403facd161a6be2f47ef9502d4b97..5e4beadc32f33b9cd606d743fe7947fd07f80bc5 100644 (file)
@@ -42,5 +42,7 @@ namespace System.ServiceModel.Channels
                        get { return id; }
                        set { id = value; }
                }
+
+               internal string Prefix { get; set; }
        }
 }
\ No newline at end of file