< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Channels.MessageHeader
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Channels/MessageHeader.cs
Line coverage
57%
Covered lines: 60
Uncovered lines: 44
Coverable lines: 104
Total lines: 645
Line coverage: 57.6%
Branch coverage
55%
Covered branches: 33
Total branches: 60
Branch coverage: 55%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
IsMessageVersionSupported(...)50%2266.66%
ToString()0%440%
WriteHeader(...)100%110%
WriteHeader(...)50%4475%
WriteStartHeader(...)50%4466.66%
OnWriteStartHeader(...)100%11100%
WriteHeaderContents(...)50%4466.66%
WriteHeaderAttributes(...)62.5%8875%
CreateHeader(...)100%11100%
CreateHeader(...)100%110%
CreateHeader(...)100%110%
CreateHeader(...)100%11100%
CreateHeader(...)100%110%
CreateHeader(...)100%110%
CreateHeader(...)100%110%
CreateHeader(...)0%220%
GetHeaderAttributes(...)86.36%222292.85%
ToBoolean(...)20%101028.57%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Channels/MessageHeader.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System;
 5using System.Globalization;
 6using System.IO;
 7using System.Runtime.Serialization;
 8using System.Xml;
 9using CoreWCF.Description;
 10using CoreWCF.Dispatcher;
 11using CoreWCF.Runtime;
 12
 13namespace CoreWCF.Channels
 14{
 15    public abstract class MessageHeader : MessageHeaderInfo
 16    {
 17        private const bool DefaultRelayValue = false;
 18        private const bool DefaultMustUnderstandValue = false;
 19        private const string DefaultActorValue = "";
 20
 21        public override string Actor
 22        {
 3110223            get { return ""; }
 24        }
 25
 26        public override bool IsReferenceParameter
 27        {
 1228            get { return false; }
 29        }
 30
 31        public override bool MustUnderstand
 32        {
 033            get { return DefaultMustUnderstandValue; }
 34        }
 35
 36        public override bool Relay
 37        {
 224238            get { return DefaultRelayValue; }
 39        }
 40
 41        public virtual bool IsMessageVersionSupported(MessageVersion messageVersion)
 42        {
 2892343            if (messageVersion == null)
 44            {
 045                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(messageVersion));
 46            }
 47
 2892348            return true;
 49        }
 50
 51        public override string ToString()
 52        {
 053            XmlWriterSettings xmlSettings = new XmlWriterSettings() { Indent = true };
 054            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
 55            {
 056                using (XmlWriter textWriter = XmlWriter.Create(stringWriter, xmlSettings))
 57                {
 058                    using (XmlDictionaryWriter writer = XmlDictionaryWriter.CreateDictionaryWriter(textWriter))
 59                    {
 060                        if (IsMessageVersionSupported(MessageVersion.Soap12WSAddressing10))
 61                        {
 062                            WriteHeader(writer, MessageVersion.Soap12WSAddressing10);
 63                        }
 64                        //else if (IsMessageVersionSupported(MessageVersion.Soap12WSAddressingAugust2004))
 65                        //{
 66                        //    WriteHeader(writer, MessageVersion.Soap12WSAddressingAugust2004);
 67                        //}
 68                        //else if (IsMessageVersionSupported(MessageVersion.Soap11WSAddressing10))
 69                        //{
 70                        //    WriteHeader(writer, MessageVersion.Soap11WSAddressing10);
 71                        //}
 72                        //else if (IsMessageVersionSupported(MessageVersion.Soap11WSAddressingAugust2004))
 73                        //{
 74                        //    WriteHeader(writer, MessageVersion.Soap11WSAddressingAugust2004);
 75                        //}
 76                        //else if (IsMessageVersionSupported(MessageVersion.Soap12))
 77                        //{
 78                        //    WriteHeader(writer, MessageVersion.Soap12);
 79                        //}
 080                        else if (IsMessageVersionSupported(MessageVersion.Soap11))
 81                        {
 082                            WriteHeader(writer, MessageVersion.Soap11);
 83                        }
 84                        else
 85                        {
 086                            WriteHeader(writer, MessageVersion.None);
 87                        }
 88
 089                        writer.Flush();
 090                        return stringWriter.ToString();
 91                    }
 92                }
 93            }
 094        }
 95
 96        public void WriteHeader(XmlWriter writer, MessageVersion messageVersion)
 97        {
 098            WriteHeader(XmlDictionaryWriter.CreateDictionaryWriter(writer), messageVersion);
 099        }
 100
 101        public void WriteHeader(XmlDictionaryWriter writer, MessageVersion messageVersion)
 102        {
 197103            if (writer == null)
 104            {
 0105                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(writer));
 106            }
 107
 197108            if (messageVersion == null)
 109            {
 0110                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(messageVersion));
 111            }
 112
 197113            OnWriteStartHeader(writer, messageVersion);
 197114            OnWriteHeaderContents(writer, messageVersion);
 197115            writer.WriteEndElement();
 197116        }
 117
 118        public void WriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion)
 119        {
 46483120            if (writer == null)
 121            {
 0122                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(writer));
 123            }
 124
 46483125            if (messageVersion == null)
 126            {
 0127                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(messageVersion));
 128            }
 129
 46483130            OnWriteStartHeader(writer, messageVersion);
 46483131        }
 132
 133        protected virtual void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion)
 134        {
 28861135            writer.WriteStartElement(Name, Namespace);
 28861136            WriteHeaderAttributes(writer, messageVersion);
 28861137        }
 138
 139        public void WriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
 140        {
 46483141            if (writer == null)
 142            {
 0143                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(writer));
 144            }
 145
 46483146            if (messageVersion == null)
 147            {
 0148                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(messageVersion));
 149            }
 150
 46483151            OnWriteHeaderContents(writer, messageVersion);
 46483152        }
 153
 154        protected abstract void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion);
 155
 156        protected void WriteHeaderAttributes(XmlDictionaryWriter writer, MessageVersion messageVersion)
 157        {
 31166158            string actor = Actor;
 31166159            if (actor.Length > 0)
 160            {
 0161                writer.WriteAttributeString(messageVersion.Envelope.DictionaryActor, messageVersion.Envelope.DictionaryN
 162            }
 163
 31166164            if (MustUnderstand)
 165            {
 1974166                writer.WriteAttributeString(XD.MessageDictionary.MustUnderstand, messageVersion.Envelope.DictionaryNames
 167            }
 168
 31166169            if (Relay && messageVersion.Envelope == EnvelopeVersion.Soap12)
 170            {
 0171                writer.WriteAttributeString(XD.Message12Dictionary.Relay, XD.Message12Dictionary.Namespace, "1");
 172            }
 31166173        }
 174
 175        public static MessageHeader CreateHeader(string name, string ns, object value)
 176        {
 1177            return CreateHeader(name, ns, value, DefaultMustUnderstandValue, DefaultActorValue, DefaultRelayValue);
 178        }
 179
 180        public static MessageHeader CreateHeader(string name, string ns, object value, bool mustUnderstand)
 181        {
 0182            return CreateHeader(name, ns, value, mustUnderstand, DefaultActorValue, DefaultRelayValue);
 183        }
 184
 185        public static MessageHeader CreateHeader(string name, string ns, object value, bool mustUnderstand, string actor
 186        {
 0187            return CreateHeader(name, ns, value, mustUnderstand, actor, DefaultRelayValue);
 188        }
 189
 190        public static MessageHeader CreateHeader(string name, string ns, object value, bool mustUnderstand, string actor
 191        {
 5192            return new XmlObjectSerializerHeader(name, ns, value, null, mustUnderstand, actor, relay);
 193        }
 194
 195        public static MessageHeader CreateHeader(string name, string ns, object value, XmlObjectSerializer serializer)
 196        {
 0197            return CreateHeader(name, ns, value, serializer, DefaultMustUnderstandValue, DefaultActorValue, DefaultRelay
 198        }
 199
 200        public static MessageHeader CreateHeader(string name, string ns, object value, XmlObjectSerializer serializer, b
 201        {
 0202            return CreateHeader(name, ns, value, serializer, mustUnderstand, DefaultActorValue, DefaultRelayValue);
 203        }
 204
 205        public static MessageHeader CreateHeader(string name, string ns, object value, XmlObjectSerializer serializer, b
 206        {
 0207            return CreateHeader(name, ns, value, serializer, mustUnderstand, actor, DefaultRelayValue);
 208        }
 209
 210        public static MessageHeader CreateHeader(string name, string ns, object value, XmlObjectSerializer serializer, b
 211        {
 0212            if (serializer == null)
 213            {
 0214                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(serializer));
 215            }
 216
 0217            return new XmlObjectSerializerHeader(name, ns, value, serializer, mustUnderstand, actor, relay);
 218        }
 219
 220        internal static void GetHeaderAttributes(XmlDictionaryReader reader, MessageVersion version,
 221            out string actor, out bool mustUnderstand, out bool relay, out bool isReferenceParameter)
 222        {
 19276223            int attributeCount = reader.AttributeCount;
 224
 19276225            if (attributeCount == 0)
 226            {
 558227                mustUnderstand = false;
 558228                actor = string.Empty;
 558229                relay = false;
 558230                isReferenceParameter = false;
 231            }
 232            else
 233            {
 18718234                string mustUnderstandString = reader.GetAttribute(XD.MessageDictionary.MustUnderstand, version.Envelope.
 18718235                if (mustUnderstandString != null && ToBoolean(mustUnderstandString))
 236                {
 4273237                    mustUnderstand = true;
 238                }
 239                else
 240                {
 14445241                    mustUnderstand = false;
 242                }
 243
 18718244                if (mustUnderstand && attributeCount == 1)
 245                {
 4175246                    actor = string.Empty;
 4175247                    relay = false;
 248                }
 249                else
 250                {
 14543251                    actor = reader.GetAttribute(version.Envelope.DictionaryActor, version.Envelope.DictionaryNamespace);
 14543252                    if (actor == null)
 253                    {
 14543254                        actor = "";
 255                    }
 256
 14543257                    if (version.Envelope == EnvelopeVersion.Soap12)
 258                    {
 14524259                        string relayString = reader.GetAttribute(XD.Message12Dictionary.Relay, version.Envelope.Dictiona
 14524260                        if (relayString != null && ToBoolean(relayString))
 261                        {
 0262                            relay = true;
 263                        }
 264                        else
 265                        {
 14524266                            relay = false;
 267                        }
 268                    }
 269                    else
 270                    {
 19271                        relay = false;
 272                    }
 273                }
 274
 18718275                isReferenceParameter = false;
 18718276                if (version.Addressing == AddressingVersion.WSAddressing10)
 277                {
 18667278                    string refParam = reader.GetAttribute(XD.AddressingDictionary.IsReferenceParameter, version.Addressi
 18667279                    if (refParam != null)
 280                    {
 0281                        isReferenceParameter = ToBoolean(refParam);
 282                    }
 283                }
 284            }
 18718285        }
 286
 287        private static bool ToBoolean(string value)
 288        {
 4273289            if (value.Length == 1)
 290            {
 4273291                char ch = value[0];
 4273292                if (ch == '1')
 293                {
 4273294                    return true;
 295                }
 0296                if (ch == '0')
 297                {
 0298                    return false;
 299                }
 300            }
 301            else
 302            {
 0303                if (value == "true")
 304                {
 0305                    return true;
 306                }
 0307                else if (value == "false")
 308                {
 0309                    return false;
 310                }
 311            }
 312            try
 313            {
 0314                return XmlConvert.ToBoolean(value);
 315            }
 0316            catch (FormatException exception)
 317            {
 0318                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(exception.Message, null));
 319            }
 0320        }
 321    }
 322
 323    // TODO: This needed to be made public for NetTcp, investigate making it internal again
 324    public abstract class DictionaryHeader : MessageHeader
 325    {
 326        public override string Name
 327        {
 328            get { return DictionaryName.Value; }
 329        }
 330
 331        public override string Namespace
 332        {
 333            get { return DictionaryNamespace.Value; }
 334        }
 335
 336        public abstract XmlDictionaryString DictionaryName { get; }
 337        public abstract XmlDictionaryString DictionaryNamespace { get; }
 338
 339        protected override void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion)
 340        {
 341            writer.WriteStartElement(DictionaryName, DictionaryNamespace);
 342            WriteHeaderAttributes(writer, messageVersion);
 343        }
 344    }
 345
 346    internal class XmlObjectSerializerHeader : MessageHeader
 347    {
 348        private XmlObjectSerializer _serializer;
 349        private readonly bool _mustUnderstand;
 350        private readonly bool _relay;
 351        private readonly bool _isOneTwoSupported;
 352        private readonly bool _isOneOneSupported;
 353        private readonly bool _isNoneSupported;
 354        private readonly object _objectToSerialize;
 355        private readonly string _name;
 356        private readonly string _ns;
 357        private readonly string _actor;
 358        private readonly object _syncRoot = new object();
 359
 360        private XmlObjectSerializerHeader(XmlObjectSerializer serializer, bool mustUnderstand, string actor, bool relay)
 361        {
 362            _mustUnderstand = mustUnderstand;
 363            _relay = relay;
 364            _serializer = serializer;
 365            _actor = actor ?? throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(actor));
 366            if (actor == EnvelopeVersion.Soap12.UltimateDestinationActor)
 367            {
 368                _isOneOneSupported = false;
 369                _isOneTwoSupported = true;
 370            }
 371            else if (actor == EnvelopeVersion.Soap12.NextDestinationActorValue)
 372            {
 373                _isOneOneSupported = false;
 374                _isOneTwoSupported = true;
 375            }
 376            else if (actor == EnvelopeVersion.Soap11.NextDestinationActorValue)
 377            {
 378                _isOneOneSupported = true;
 379                _isOneTwoSupported = false;
 380            }
 381            else
 382            {
 383                _isOneOneSupported = true;
 384                _isOneTwoSupported = true;
 385                _isNoneSupported = true;
 386            }
 387        }
 388
 389        public XmlObjectSerializerHeader(string name, string ns, object objectToSerialize, XmlObjectSerializer serialize
 390            : this(serializer, mustUnderstand, actor, relay)
 391        {
 392            if (null == name)
 393            {
 394                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(name));
 395            }
 396
 397            if (name.Length == 0)
 398            {
 399                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.SFXHeaderNameCannotBe
 400            }
 401
 402            if (ns == null)
 403            {
 404                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(ns));
 405            }
 406            if (ns.Length > 0)
 407            {
 408                NamingHelper.CheckUriParameter(ns, nameof(ns));
 409            }
 410            _objectToSerialize = objectToSerialize;
 411            _name = name;
 412            _ns = ns;
 413        }
 414
 415        public override bool IsMessageVersionSupported(MessageVersion messageVersion)
 416        {
 417            if (messageVersion == null)
 418            {
 419                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(messageVersion));
 420            }
 421
 422            if (messageVersion.Envelope == EnvelopeVersion.Soap12)
 423            {
 424                return _isOneTwoSupported;
 425            }
 426            else if (messageVersion.Envelope == EnvelopeVersion.Soap11)
 427            {
 428                return _isOneOneSupported;
 429            }
 430            else if (messageVersion.Envelope == EnvelopeVersion.None)
 431            {
 432                return _isNoneSupported;
 433            }
 434            else
 435            {
 436                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.Format(SR.Env
 437            }
 438        }
 439
 440        public override string Name
 441        {
 442            get { return _name; }
 443        }
 444
 445        public override string Namespace
 446        {
 447            get { return _ns; }
 448        }
 449
 450        public override bool MustUnderstand
 451        {
 452            get { return _mustUnderstand; }
 453        }
 454
 455        public override bool Relay
 456        {
 457            get { return _relay; }
 458        }
 459
 460        public override string Actor
 461        {
 462            get { return _actor; }
 463        }
 464
 465        protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
 466        {
 467            lock (_syncRoot)
 468            {
 469                if (_serializer == null)
 470                {
 471                    _serializer = DataContractSerializerDefaults.CreateSerializer(
 472                        (_objectToSerialize == null ? typeof(object) : _objectToSerialize.GetType()), Name, Namespace, i
 473                }
 474
 475                _serializer.WriteObjectContent(writer, _objectToSerialize);
 476            }
 477        }
 478    }
 479
 480    internal abstract class ReadableMessageHeader : MessageHeader
 481    {
 482        public abstract XmlDictionaryReader GetHeaderReader();
 483
 484        protected override void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion)
 485        {
 486            if (!IsMessageVersionSupported(messageVersion))
 487            {
 488                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.Format(SR.MessageHead
 489            }
 490
 491            XmlDictionaryReader reader = GetHeaderReader();
 492            writer.WriteStartElement(reader.Prefix, reader.LocalName, reader.NamespaceURI);
 493            writer.WriteAttributes(reader, false);
 494            reader.Dispose();
 495        }
 496
 497        protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
 498        {
 499            XmlDictionaryReader reader = GetHeaderReader();
 500            reader.ReadStartElement();
 501            while (reader.NodeType != XmlNodeType.EndElement)
 502            {
 503                writer.WriteNode(reader, false);
 504            }
 505
 506            reader.ReadEndElement();
 507            reader.Dispose();
 508        }
 509    }
 510
 511    internal interface IMessageHeaderWithSharedNamespace
 512    {
 513        XmlDictionaryString SharedNamespace { get; }
 514        XmlDictionaryString SharedPrefix { get; }
 515    }
 516
 517    internal class BufferedHeader : ReadableMessageHeader
 518    {
 519        private readonly MessageVersion _version;
 520        private readonly XmlBuffer _buffer;
 521        private readonly int _bufferIndex;
 522        private readonly string _actor;
 523        private readonly bool _relay;
 524        private readonly bool _mustUnderstand;
 525        private readonly string _name;
 526        private readonly string _ns;
 527        private readonly bool _streamed;
 528        private readonly bool _isRefParam;
 529
 530        public BufferedHeader(MessageVersion version, XmlBuffer buffer, int bufferIndex, string name, string ns, bool mu
 531        {
 532            _version = version;
 533            _buffer = buffer;
 534            _bufferIndex = bufferIndex;
 535            _name = name;
 536            _ns = ns;
 537            _mustUnderstand = mustUnderstand;
 538            _actor = actor;
 539            _relay = relay;
 540            _isRefParam = isRefParam;
 541        }
 542
 543        public BufferedHeader(MessageVersion version, XmlBuffer buffer, int bufferIndex, MessageHeaderInfo headerInfo)
 544        {
 545            _version = version;
 546            _buffer = buffer;
 547            _bufferIndex = bufferIndex;
 548            _actor = headerInfo.Actor;
 549            _relay = headerInfo.Relay;
 550            _name = headerInfo.Name;
 551            _ns = headerInfo.Namespace;
 552            _isRefParam = headerInfo.IsReferenceParameter;
 553            _mustUnderstand = headerInfo.MustUnderstand;
 554        }
 555
 556        public BufferedHeader(MessageVersion version, XmlBuffer buffer, XmlDictionaryReader reader, XmlAttributeHolder[]
 557        {
 558            _streamed = true;
 559            _buffer = buffer;
 560            _version = version;
 561            GetHeaderAttributes(reader, version, out _actor, out _mustUnderstand, out _relay, out _isRefParam);
 562            _name = reader.LocalName;
 563            _ns = reader.NamespaceURI;
 564            Fx.Assert(_name != null, "");
 565            Fx.Assert(_ns != null, "");
 566            _bufferIndex = buffer.SectionCount;
 567            XmlDictionaryWriter writer = buffer.OpenSection(reader.Quotas);
 568
 569            // Write an enclosing Envelope tag
 570            writer.WriteStartElement(MessageStrings.Envelope);
 571            if (envelopeAttributes != null)
 572            {
 573                XmlAttributeHolder.WriteAttributes(envelopeAttributes, writer);
 574            }
 575
 576            // Write and enclosing Header tag
 577            writer.WriteStartElement(MessageStrings.Header);
 578            if (headerAttributes != null)
 579            {
 580                XmlAttributeHolder.WriteAttributes(headerAttributes, writer);
 581            }
 582
 583            writer.WriteNode(reader, false);
 584
 585            writer.WriteEndElement();
 586            writer.WriteEndElement();
 587
 588            buffer.CloseSection();
 589        }
 590
 591        public override string Actor
 592        {
 593            get { return _actor; }
 594        }
 595
 596        public override bool IsReferenceParameter
 597        {
 598            get { return _isRefParam; }
 599        }
 600
 601        public override string Name
 602        {
 603            get { return _name; }
 604        }
 605
 606        public override string Namespace
 607        {
 608            get { return _ns; }
 609        }
 610
 611        public override bool MustUnderstand
 612        {
 613            get { return _mustUnderstand; }
 614        }
 615
 616        public override bool Relay
 617        {
 618            get { return _relay; }
 619        }
 620
 621        public override bool IsMessageVersionSupported(MessageVersion messageVersion)
 622        {
 623            if (messageVersion == null)
 624            {
 625                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(messageVersion));
 626            }
 627
 628            return messageVersion == _version;
 629        }
 630
 631        public override XmlDictionaryReader GetHeaderReader()
 632        {
 633            XmlDictionaryReader reader = _buffer.GetReader(_bufferIndex);
 634            // See if we need to move past the enclosing envelope/header
 635            if (_streamed)
 636            {
 637                reader.MoveToContent();
 638                reader.Read(); // Envelope
 639                reader.Read(); // Header
 640                reader.MoveToContent();
 641            }
 642            return reader;
 643        }
 644    }
 645}

Methods/Properties

Actor()
IsReferenceParameter()
MustUnderstand()
Relay()
IsMessageVersionSupported(CoreWCF.Channels.MessageVersion)
ToString()
WriteHeader(System.Xml.XmlWriter,CoreWCF.Channels.MessageVersion)
WriteHeader(System.Xml.XmlDictionaryWriter,CoreWCF.Channels.MessageVersion)
WriteStartHeader(System.Xml.XmlDictionaryWriter,CoreWCF.Channels.MessageVersion)
OnWriteStartHeader(System.Xml.XmlDictionaryWriter,CoreWCF.Channels.MessageVersion)
WriteHeaderContents(System.Xml.XmlDictionaryWriter,CoreWCF.Channels.MessageVersion)
WriteHeaderAttributes(System.Xml.XmlDictionaryWriter,CoreWCF.Channels.MessageVersion)
CreateHeader(System.String,System.String,System.Object)
CreateHeader(System.String,System.String,System.Object,System.Boolean)
CreateHeader(System.String,System.String,System.Object,System.Boolean,System.String)
CreateHeader(System.String,System.String,System.Object,System.Boolean,System.String,System.Boolean)
CreateHeader(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer)
CreateHeader(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer,System.Boolean)
CreateHeader(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer,System.Boolean,System.String)
CreateHeader(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer,System.Boolean,System.String,System.Boolean)
GetHeaderAttributes(System.Xml.XmlDictionaryReader,CoreWCF.Channels.MessageVersion,System.String&,System.Boolean&,System.Boolean&,System.Boolean&)
ToBoolean(System.String)