使用PayPal SOAP API发送API调用请求

5

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

但是过去,我习惯使用HttpWebRequest对象使用NVP来完成这个过程,但从未尝试使用WSDL并以这种方式发送SOAP请求。

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

除了WSDL与通过NVP API和查询字符串参数发送HttpWebRequest之间的区别外,我真的不明白发送请求的方式是否有所不同。所有这些都是通过Http进行传输,因此您不能还使用HttpWebRequest通过SOAP API(使用WSDL)进行传输吗?


你能否帮我解决这个问题??!?https://dev59.com/ml_Va4cB1Zd3GeqPOwDg - dparkar
1个回答

9
从元数据生成服务引用: 右击项目 -> 添加服务引用,指向WSDL链接地址: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);
}

是的,我已经有了这个服务,只是不知道该使用哪个对象来发送请求。所以我知道如何使用代理类,只是如果我要像HttpWebRequest那样使用,还是要使用代理类来发出请求并包含SOAP。 - PositiveGuy
我现在修改了原始帖子。请再次阅读。 - PositiveGuy
当我从WSDL URL导入服务引用时,PayPalAPIInterfaceClient是自动生成的类。它包含与SOAP API交互所需的所有函数。 - Darin Dimitrov
同样适用于Credentials代理对象。我在最新的wsdl中没有看到它。 - PositiveGuy
那么为什么不使用 [nameofMethod]RequestType 和 [nameofMethod]ResponseType 呢? - PositiveGuy
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接