"TestHeader"
nameと paramの SOAP ヘッダーを受信するように Web サービスをセットアップしました"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());
}
}
}