5

好的,所以我的 .NET 项目中有服务参考。是的,我知道您现在可以访问代理类。

但在过去,我习惯于通过使用 NVP 的 HttpWebRequest 对象来执行此操作,但从未尝试过使用 WSDL 并以这种方式发送 SOAP 请求。

我不太确定使用哪个对象来发送请求。不知道从哪里开始。我查看了文档,但没有看到 .NET 和 PayPal 的好例子。

除了 WSDL 与通过 NVP API 和查询字符串参数发送 HttpWebRequest 之外,我真的不明白您发送请求的方式是否存在差异。一切都在 Http 之上,所以你不能在 SOAP API(使用 WSDL)上也使用 HttpWebRequest 吗?

4

1 回答 1

9

首先从元数据生成服务引用:右键单击项目 -> 添加服务引用并指向 WSDL url:https ://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl

这将为当前项目生成可用于发送请求的代理类:

using (var client = new PayPalAPIInterfaceClient())
{
    var credentials = new CustomSecurityHeaderType
    {
        Credentials = new UserIdPasswordType
        {
            Username = "username",
            Password = "password"
        }
    };
    var request = new AddressVerifyReq
    {
        AddressVerifyRequest = new AddressVerifyRequestType
        {
            Street = "some street",
            Zip = "12345"
        }
    };
    var response = client.AddressVerify(ref credentials, request);
}
于 2010-01-19T21:52:44.883 回答