C# 如何向Soap头添加附加参数
我有一个连接到服务的应用程序。我想在Soap头中添加一个额外的参数,我应该在哪里添加这个参数C# 如何向Soap头添加附加参数,c#,.net,winforms,web-services,asmx,C#,.net,Winforms,Web Services,Asmx,我有一个连接到服务的应用程序。我想在Soap头中添加一个额外的参数,我应该在哪里添加这个参数 protected override WebRequest GetWebRequest(Uri uri) { //apptoken name to be sent instead of caller app name - 10.1 this.RequestSoapContext.Addressing.From = new Uri(ServiceConfig
protected override WebRequest GetWebRequest(Uri uri)
{
//apptoken name to be sent instead of caller app name - 10.1
this.RequestSoapContext.Addressing.From = new Uri(ServiceConfiguration.APPTOKEN, UriKind.Relative);
WebRequest req = base.GetWebRequest(uri);
req.Headers.Add(ServiceConfiguration.HEADER_COOKIE_NAME_C, ServiceConfiguration.HEADER_COOKIE_VALUE);
req.Method = ServiceConfiguration.REQUEST_METHOD;
req.ContentType = ServiceConfiguration.REQUEST_CONTENT_TYPE;
string smsession = GetSMSessionCookie();
if (smsession != "")
{
req.Headers.Add(ServiceConfiguration.HEADER_COOKIE_NAME_C, smsession);
}
m_webRequest = req;
return req;
}
我在一个web服务类中有这个。但我觉得这似乎是一个Http头
我在另一个类中也有这个,我指定了常量
public const string REQUEST_METHOD = "POST";
public const string REQUEST_CONTENT_TYPE = "text/xml";
public const string HEADER_SOAP_ACTION_NAME = "SOAPAction";
public const string HEADER_SOAP_ACTION_VALUE = "/";
public const string HEADER_COOKIE_VALUE = "SMCHALLENGE=YES";
public const string HEADER_APPLICATION_NAME = "APPLICATION_NAME";
public const string HEADER_APPLICATION_VALUE = "XLS";
public const string COOKIE_SMSESSION = "SMSESSION=";
public const string HEADER_COOKIE_NAME_C = "Cookie";
public const string HEADER_COOKIE_NAME_SETC = "Set-Cookie";
public const string HEADER_COOKIE_SEPARATOR = ";";
有人能帮助我如何在SOAP请求头中添加我自己的附加参数吗
我使用的是winforms.net 4.0 c#。我不确定您的问题是否正确,但您可以通过键入来添加自定义标题
请求标题添加(“customheadername”、“value”)请参考@juanreyesv:no,他使用的是传统的ASMX web服务技术。服务是否定义了此标头?您不能只在ASMX web服务客户端中添加任意头。@JohnSaunders-我想我的使用svc。@JohnSaunders-我在web服务方面很差,我知道我的解决方案中的服务类中有一个自动生成的代码。所以现在在服务部分有一个额外的参数被添加到“Header”中,所以我需要通过我的应用程序从Header发送这个参数。如何做到这一点?@juanreyesv是否有一个名为SoapHeaderAttribute()的方法允许您添加标头?不,这将添加到HTTP标头,而不是SOAP标头。@JohnSaunders-您看到了吗