Отправка вызова API с помощью API-интерфейса PayPal SOAP

Итак, у меня есть ссылка на сервис в моем проекте.NET. И да, я знаю, что теперь у вас есть доступ к прокси-классам.

Но в прошлом я привык делать это через объект HttpWebRequest с использованием NVP, но никогда не пытался использовать WSDL и отправлять SOAP-запрос таким способом.

Я не совсем уверен, какой объект использовать для отправки запроса. Не уверен, с чего начать. Я просмотрел документы, но не нашел хороших примеров для.NET и PayPal.

Кроме WSDL и отправки HttpWebRequest через API-интерфейс NVP и параметры строки запроса, я действительно не понимаю, есть ли разница в том, как вы отправляете запрос. Это все по Http, так что вы не можете использовать HttpWebRequest также через SOAP API (с использованием WSDL)?

1 ответ

Решение

Вы начинаете с создания ссылки на службу из метаданных: щелкните правой кнопкой мыши по проекту -> Добавить ссылку на службу и укажите URL-адрес 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);
}
Другие вопросы по тегам