onauthorize developer create actions paypal paypal-sandbox

paypal - developer - 403 Prohibido durante setExpressCheckout



paypal js api (3)

Recibo el siguiente error durante Expresscheckout en la cuenta de setExpressCheckout usando el método setExpressCheckout . Estoy usando la biblioteca SOAP paypal_base.jar , paypal_stubs.jar

PM com.paypal.sdk.exceptions.TransactionException <init> SEVERE: (403)Forbidden

¿Alguien me ayuda a resolver este problema?



Esto es como un resumen de todas las respuestas anteriores junto con una referencia adicional.

Como mencionó user3405529, siga el enlace y comprenda su problema.

Comerciantes que usan el protocolo HTTP 1.0.

Esto es común para todos los que usan la antigua API de PayPal con el eje 1.4

Este es el problema en mi proyecto.

Remití este enlace para más detalles para comprender y resolver el problema

http://marc.info/?l=axis-user&m=119144869612056

Hay cuatro formas de resolver esto

1) Modificar el código fuente del eje para usar el protocolo HTTP 1.1

String httpver = msgContext.getStrProp(MessageContext.HTTP_TRANSPORT_VERSION); if (null == httpver) { httpver = HTTPConstants.HEADER_PROTOCOL_V11; } //httpver = httpver.trim(); //if (httpver.equals(HTTPConstants.HEADER_PROTOCOL_V11)) { // http10 = false; //}

O configure el contexto del mensaje msgContext.setStrProp (..) como HTTPConstants.HEADER_PROTOCOL_V11

A continuación, reconstruya el eje y mantenga su propio código fuente para referencia

2) Según user3405529 use client-config.wsdd en classpath con java: org.apache.axis.transport.http.CommonsHTTPSender en la etiqueta de transporte

Probé con estos cambios y está funcionando como se esperaba.

Pero ambos enfoques utilizan HTTP 1.1 de manera predeterminada. En nuestro proyecto, ya que no estamos preparados para este cambio de la versión del protocolo HTTP.

ver más detalles en http://www2.research.att.com/~bala/papers/h0vh1.html

3) Actualice el código auxiliar de PayPal y recíclelo para usarlo - No lo intento.

4) Actualice el SDK de PayPal a la última versión ...

Vamos con el SDK de PayPal actualizado. Será útil en el futuro.

Espero que sea útil


agregue un client-config.wsdd a su classpath para usar http1.1. Puede configurar log4j para depurar el nivel para ver si está usando http 1.0 ahora. Si no, esto no te ayudará. Contenido del archivo:

<?xml version="1.0" encoding="UTF-8"?> <deployment name="defaultClientConfig" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> </transport> <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/> <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/> </deployment>