服务端:
客户端:
1
using System;
2
using System.Web;
3
using System.Web.Services;
4
using System.Web.Services.Protocols;
5
6
[WebService(Namespace = "http://livebaby.cn")]
7
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
8
public class Service : System.Web.Services.WebService
9
{
10
public SecurityHeader currentUser;
11
public Service()
12
{
13
14
//如果使用设计的组件,请取消注释以下行
15
//InitializeComponent();
16
}
17
[WebMethod, SoapHeader("currentUser")]
18
public string GetResult(string queryString)
19
{
20
if(ValidateUser(currentUser.UserName,currentUser.UserPass))
21
{
22
return "你发送的字符串是:"+queryString;
23
}
24
else
25
return "对不起:" + currentUser.UserName+",您不是合法的用户!";
26
}
27
//检验SOAP HEADER
28
private bool ValidateUser(string user, string pass)
29
{
30
if (user.Equals("user") && pass.Equals("user"))
31
return true;
32
else
33
return false;
34
}
35
}
36
//自定义Soap Header Class
37
public class SecurityHeader : System.Web.Services.Protocols.SoapHeader
38
{
39
public string UserName;
40
public string UserPass;
41
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

客户端:
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Text;
7
using System.Windows.Forms;
8
9
namespace SoapHeader
10
{
11
public partial class Form1 : Form
12
{
13
public Form1()
14
{
15
InitializeComponent();
16
}
17
18
private void button_Invoke_Click(object sender, EventArgs e)
19
{
20
SoapHeader.localhost.SecurityHeader header = new SoapHeader.localhost.SecurityHeader();
21
header.UserName = textBox_User.Text;
22
header.UserPass = textBox_Pass.Text;
23
SoapHeader.localhost.Service service = new SoapHeader.localhost.Service();
24
service.SecurityHeaderValue = header;
25
this.textBox_Output.Text+=service.GetResult(this.textBox_Input.Text)+Environment.NewLine;
26
}
27
}
28
}
29

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29
