【问题标题】:How do I call a WCF web service in .NET Core 3.1?如何在 .NET Core 3.1 中调用 WCF Web 服务?
【发布时间】:2020-05-25 15:49:38
【问题描述】:

我按照这个文档在 VS 中设置连接的 wcf 服务,一切运行良好。 https://docs.microsoft.com/en-us/dotnet/core/additional-tools/wcf-web-service-reference-guide

但是,现在我正在努力弄清楚如何向这个 SOAP 服务发送我的凭据(un,pwd)。

以下是 Connected Service 的外观...

https://photos.app.goo.gl/hA6ABN2DNVtXW5KC8

如何调用和发送我的凭据?然后查看结果?

【问题讨论】:

  • 您尝试了哪些方法,又是如何失败的?您之前如何调用 SOAP 服务的凭据?
  • this SO post 会给你一个答案吗?
  • 当它为您生成客户端代码时,只需通过代码传递用户凭据。可以找到示例,例如 docs.microsoft.com/en-us/dotnet/framework/wcf/… 根据您的服务端身份验证模式,用户凭据可能会有所不同。

标签: c# wcf .net-core


【解决方案1】:

可以通过生成的代理类调用服务端的方法和属性。这是我的demo:

这是WCF Web服务引用提供者工具生成的代理类。我们需要通过这些类来调用服务。

     class Program
{
    static void Main(string[] args)
    {
        ServiceReference1.Service1Client service1Client = new ServiceReference1.Service1Client();
        System.Threading.Tasks.Task<ServiceReference1.Result> user=service1Client.GetUserDataAsync("Test");
        Result rr=user.Result;
        Console.WriteLine(JsonConvert.SerializeObject(rr));
        Console.ReadLine();
    }
}

我通过代理类创建一个客户端,通过创建的客户端调用服务。

在您的代码中,您还需要像这样创建一个客户端,然后通过客户端的方法调用或发送您的凭据。

【讨论】:

  • 如何配置Web服务的URL? PRO 环境,TEST 环境...
  • 如何将凭据发送到 Service1Client ?我得到客户端身份验证方案“匿名”的 HTTP 请求未经授权。从服务器收到的身份验证标头是“NTLM”
猜你喜欢
  • 1970-01-01
  • 2021-09-28
  • 2021-02-13
  • 2020-10-22
  • 2020-07-31
  • 2021-05-01
  • 1970-01-01
  • 2020-07-09
  • 1970-01-01
相关资源
最近更新 更多