Invio di una chiamata API con PayPal API SOAP
-
21-09-2019 - |
Domanda
Ok, così ho il riferimento al servizio nel mio progetto NET. E sì, lo so che ora avete accesso a classi proxy.
Ma in passato, io sono abituato a fare questo tramite un oggetto HttpWebRequest utilizzando NVP, ma mai provato ad utilizzare il WSDL e l'invio di una richiesta SOAP in questo modo.
Io non sono molto sicuro di quale oggetto da utilizzare per inviare la richiesta. Non sai da dove iniziare da qui. Ho guardato i documenti, ma visto alcuna buoni esempi là fuori per .NET e PayPal.
Oltre ad una WSDL contro l'invio di un HttpWebRequest tramite un API NVP e querystring params, io davvero non capisco se c'è una differenza nel modo in cui si invia la richiesta. E 'tutto solo su HTTP, quindi non si può utilizzare HttpWebRequest anche nel corso di un API SOAP (tramite WSDL)?
Soluzione
Si inizia generando un riferimento al servizio dai metadati: Fare clic destro sul progetto -> Aggiungi riferimento al servizio e puntare l'url WSDL: https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl
Questo genererà classi proxy al progetto attuale, che potrebbe essere utilizzato per inviare richieste:
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);
}