Отправка вызова API с помощью PayPal SOAP API
-
21-09-2019 - |
Вопрос
Итак, у меня есть ссылка на сервис в моем проекте .NET.И да, я знаю, что теперь у вас есть доступ к прокси-классам.
Но раньше я привык делать это через объект HttpWebRequest с использованием NVP, но никогда не пробовал использовать WSDL и отправлять запрос SOAP таким образом.
Я не совсем уверен, какой объект использовать для отправки запроса.Не знаю, с чего начать здесь.Я просмотрел документацию, но не нашел хороших примеров для .NET и PayPal.
Помимо WSDL vs.отправляя HttpWebRequest через NVP API и параметры строки запроса, я действительно не понимаю, есть ли разница в том, как вы отправляете запрос.Все это только через Http, так не можете ли вы использовать HttpWebRequest также через API SOAP (с использованием WSDL)?
Решение
Вы начинаете с создания ссылки на службу из метаданных:Щелкните правой кнопкой мыши проект -> Добавить ссылку на службу и укажите 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);
}