发送SOAP请求,从哪里开始?

Viv*_*ndi 9 .net c# soap

我需要向URL发送SOAP请求.但我发现这比我认为的更难.

我必须发送的请求是:

string bla = "" +
"<?xml version='\"1.0\" encoding=\"UTF-8\"?>" +
    "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
        "<soap:Body>" +
            "<ns1:sendNotificationResponse" +
              "xmlns=\"http://notification.services.adyen.com\"" +
              "xmlns:ns2=\"http://common.services.adyen.com\">" +
            "<notificationResponse>[accepted]</notificationResponse>" +
            "</sendNotificationResponse>" +
        "</soap:Body>" +
    "</soap:Envelope>";
Run Code Online (Sandbox Code Playgroud)

我收到了一个网址:https://ca-test.adyen.com/ca/services/Notification?wsdl

问题是,我不确定如何继续这里.我可以简单地向该URL发送请求吗?或者我必须先以某种方式导入WSDL?

我在网上发现了很多例子,但我对大多数例子都没有意义.有些人甚至过时了,因为他们仍在使用:Microsoft.Web.Services3

所以简而言之,我对我在这里必须做的事情以及如何做有点无能为力.我只是想发送'SOAP'消息......

Ric*_*ich 4

您可以通过将服务引用添加到您在问题中提供的端点 URL 来完成此操作。然后,您可以像调用普通方法一样调用 Web 方法,就在客户端对象之外。下面分步骤进行:

  1. 右键单击引用,选择添加服务引用
  2. 输入 URL 以添加服务引用
  3. 在代码中实例化新客户端并使用如下:
ServiceReference1.NotificationPortTypeClient client = new ServiceReference1.NotificationPortTypeClient(); 
client.sendNotification(...);
Run Code Online (Sandbox Code Playgroud)

编辑

更详细地查看 Web 服务,您在问题中包含的 SOAP 请求似乎是您调用该方法时由 url 发回的响应,而不是您将发送到 Web 服务的请求来调用该方法。