Doo*_*ght 5 c# soap web-services soapheader
我已将 Web 服务设置为接收"TestHeader"带有 param名称的 soap 标头"Name"
如何在我的客户端中创建一个 soap 标头并将其发送到服务?
到目前为止,我已经在我的客户端中创建了它。
public class TestHeader : SoapHeader
{
public String Name;
}
Run Code Online (Sandbox Code Playgroud)
初始化我的服务,
Test.TestServicesClient SOAP = new Test.TestServicesClient();
Run Code Online (Sandbox Code Playgroud)
初始化我的标题。
TestHeader header = new TestHeader();
Run Code Online (Sandbox Code Playgroud)
在标题中设置变量
header.Name = "BoB";
Run Code Online (Sandbox Code Playgroud)
怎么办?我试过遵循 MSDN 和其他教程,但一无所获。
测试服务.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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我想我有点晚了,但答案是:
Test.TestHeader header = new Test.TestHeader();
header.Name = "BoB";
Test.TestService SOAP = new Test.TestService();
SOAP.TestHeaderValue = header;
SOAP.GetServiceDetails(0,0,False);
Run Code Online (Sandbox Code Playgroud)
下面是一个澄清主题的链接:“...Visual Studio 将在 Web 服务代理中创建一个名为“UserCredentialsValue”的属性,它将映射 Web 服务中的“消费者”公共属性(继承自 SoapHeader)。”
由于您提供的信息不够详细,仅提供一些一般性提示:
上面的链接包含解决方案,包括 WCF(第一个链接)和 SOAP(第二个链接)的示例代码...
编辑 - 根据评论:
本文(已存档)为您提供了有关实现自定义 SOAP 标头以及在调用相应服务之前设置它们的完整演练。
基本上,您需要使用您定义的Test.TestServicesClient类来扩展该类TestHeader,然后您可以在调用 Web 服务的方法之前设置其值。
| 归档时间: |
|
| 查看次数: |
48206 次 |
| 最近记录: |