【发布时间】:2011-11-25 03:15:40
【问题描述】:
我的网络服务设置为接收名称为"TestHeader" 的soap 标头,参数为"Name"
如何在我的客户端创建一个soap标头并将其发送到服务?
到目前为止,我已经在我的客户端中创建了它。
public class TestHeader : SoapHeader
{
public String Name;
}
初始化我的服务,
Test.TestServicesClient SOAP = new Test.TestServicesClient();
初始化我的标题。
TestHeader header = new TestHeader();
在标题中设置变量
header.Name = "BoB";
现在呢?我试过关注 MSDN 和其他教程,但没有得到任何结果。
TestService.cs
using System;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Security.Cryptography;
using System.Runtime.InteropServices;
using System.ServiceModel.Dispatcher;
using System.ServiceModel.Channels;
namespace Test
{
// Define a SOAP header by deriving from the SoapHeader class.
public class TestHeader : SoapHeader
{
public String Name;
}
public class TestService : ITestServices
{
public TestHeader TestInHeader;
[WebMethod]
[SoapHeader("TestInHeader", Direction = SoapHeaderDirection.In)]
public List<ServiceDetails> GetServiceDetails(Int32 CostCentreNo, Int32 ServiceCode, Boolean Recurring)
{
throw new System.Exception(TestInHeader.ToString());
}
}
}
【问题讨论】:
标签: c# web-services soap soapheader