我需要编写.Net(C#)Web服务,它从SAP方面消费。我写了c#web serives,但问题是需要添加HTTP请求头。实际上我不知道如何将HTTP请求标头添加到Web服务?我添加了SOAP Header,但SAP方面需要HTTP请求Header。
示例代码
public class TestService : System.Web.Services.WebService
{
public class AuthSoapHeader : SoapHeader
{
public AuthSoapHeader() { }
public string Username = string.Empty;
public string Password = string.Empty;
}
[WebMethod]
[SoapHeader("AuthHeader")]
public List<Response> Testmethod(TestClass testData)
{
if ( AuthHeader.Username == "testuser" && AuthHeader.Password == "testpawd")
{
}
}
}
请有人知道怎么做吗?
谢谢
答案 0 :(得分:0)
我已经在类似的解决方案上工作,但在VB.net中。在该解决方案中,我创建了一个分离的层(项目)来处理SAP通信和数据检索。 下面的代码是带有SOAP身份验证的webservice代码段。
<SoapHeader("Authentication", Required:=True)> _
<WebMethod(Description:="SAP search")> _
Public Function SampleSearch() As String
Dim objSearch As New clsSapSearch
Dim dsReturn As New DataSet
dsReturn.Tables.Add(objSearch.Search("parameter1", "parameter2"))
Return GetXmlIncludingNull(dsReturn)
End Function