1 //------------------------------------------------------------------------------
2 // <copyright file="SoapHeaderAttribute.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //------------------------------------------------------------------------------
6 
7 namespace System.Web.Services.Protocols {
8     using System.Web.Services;
9     using System.Xml.Serialization;
10     using System;
11     using System.Reflection;
12     using System.Xml;
13     using System.Collections;
14     using System.IO;
15     using System.ComponentModel;
16 
17     /// <include file='doc\SoapHeaderAttribute.uex' path='docs/doc[@for="SoapHeaderAttribute"]/*' />
18     /// <devdoc>
19     ///    <para>[To be supplied.]</para>
20     /// </devdoc>
21     [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
22     public sealed class SoapHeaderAttribute : System.Attribute {
23         string memberName;
24         SoapHeaderDirection direction = SoapHeaderDirection.In;
25         bool required = true;
26 
27         /// <include file='doc\SoapHeaderAttribute.uex' path='docs/doc[@for="SoapHeaderAttribute.SoapHeaderAttribute"]/*' />
28         /// <devdoc>
29         ///    <para>[To be supplied.]</para>
30         /// </devdoc>
SoapHeaderAttribute(string memberName)31         public SoapHeaderAttribute(string memberName) {
32             this.memberName = memberName;
33         }
34 
35         /// <include file='doc\SoapHeaderAttribute.uex' path='docs/doc[@for="SoapHeaderAttribute.MemberName"]/*' />
36         /// <devdoc>
37         ///    <para>[To be supplied.]</para>
38         /// </devdoc>
39         public string MemberName {
40             get { return memberName == null ? string.Empty : memberName; }
41             set { memberName = value; }
42         }
43 
44         /// <include file='doc\SoapHeaderAttribute.uex' path='docs/doc[@for="SoapHeaderAttribute.Direction"]/*' />
45         /// <devdoc>
46         ///    <para>[To be supplied.]</para>
47         /// </devdoc>
48         public SoapHeaderDirection Direction {
49             get { return direction; }
50             set { direction = value; }
51         }
52 
53         /// <include file='doc\SoapHeaderAttribute.uex' path='docs/doc[@for="SoapHeaderAttribute.Required"]/*' />
54         /// <devdoc>
55         ///    <para>[To be supplied.]</para>
56         /// </devdoc>
57         [Obsolete("This property will be removed from a future version. The presence of a particular header in a SOAP message is no longer enforced", false)]
58         public bool Required {
59             get { return required; }
60             set { required = value; }
61         }
62     }
63 }
64