1

我需要编写 .Net (C#) 一个从 SAP 端使用的 Web 服务。我编写了 c# 网络服务,但问题是需要添加 HTTP 请求标头。实际上我不知道如何将 HTTP 请求标头添加到 Web 服务?我添加了 SOAP 标头,但 SAP 端需要 HTTP 请求标头。

示例代码

    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")
            {
            }
        }
    }

请问有人知道怎么做吗?

谢谢

4

1 回答 1

0

我已经研究过类似的解决方案,但在 VB.net 中。在那个解决方案上,我创建了一个单独的层(项目)来处理 SAP 通信和数据检索。下面的代码是带有 SOAP 身份验证的 Web 服务片段。

<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
于 2015-01-26T18:59:44.870 回答