我需要帮助将以下标题添加到C#ASP.net Web应用程序中的SOAP请求
<wata:auth xmlns:wata="http://osb.wata.com">
<username>username</username>
<password>password</password>
</wata:auth>
请注意标记应该是相同的,并且我已经尝试通过继承Microsoft.Web.Service3.WebServicesClientProtocol形式添加此标头,但这不起作用,因为标记不同。
服务调用类似于使用WSDL定义生成的以下内容
service.ServiceProxy check = new service.ServiceProxy();
check.checkPostService(serviceId);
由于
答案 0 :(得分:0)
您可以使用以下命令以编程方式添加SOAP标头:
service.ServiceProxy check = new service.ServiceProxy();
using (new OperationContextScope(check.InnerChannel))
{
var usernameHeader = MessageHeader.CreateHeader("username", string.Empty, _username);
OperationContext.Current.OutgoingMessageHeaders.Add(usernameHeader);
var passwordHeader = MessageHeader.CreateHeader("password", string.Empty, _passowrd);
OperationContext.Current.OutgoingMessageHeaders.Add(passwordHeader);
check.checkPostService(serviceId);
}