如何过帐到不接受SOAP的Web服务

时间:2019-01-03 16:08:30

标签: .net saml restsharp

我目前正在尝试将编译的令牌发送到需要该令牌的Web服务,但是我无法使用大多数.NET 4.5类来完成此任务。

每次我向服务器发送任何形式的HTTP POST请求时,它都无法读取我发送给它的信息,因为它们显然不接受任何形式的连接,包括SOAP调用。

我一直在积极尝试如何在不进行SOAP调用的情况下与服务器联系,但我唯一能找到的方法就是将令牌包含在HTML中并用Javascript发布。由于明显的原因,我不想使用此方法,因为它不安全。

public void sendHTTPPost(string token)
{
    ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
    var client = new RestClient("DOMAIN");
    var request = new RestRequest("URLEXTRA", Method.POST);
    var tokenToBytes = Encoding.ASCII.GetBytes(token);
    string encodedToken = System.Convert.ToBase64String(tokenToBytes);
    request.AddParameter("TOKEN", encodedToken);
    var response = client.Execute(request);
    Response.Write(response.Content);
}

服务器应该能够看到数据,但是如上所述,服务器不接受任何带有SOAP绑定的POST方法。

在没有使用SOAP调用/绑定的情况下,还有其他方法可以通过.NET与该服务联系吗?

1 个答案:

答案 0 :(得分:0)

如果期望带有参数的简单http帖子,则可以在.net中使用WebRequest客户端,而不是rest客户端。

https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-send-data-using-the-webrequest-class