403在setExpressCheckout期间被禁止

时间:2014-03-10 09:09:20

标签: paypal paypal-sandbox

我在使用Expresscheckout方法的沙箱帐户setExpressCheckout期间收到以下错误消息。我正在使用SOAPpaypal_base.jarpaypal_stubs.jar

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

有人帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

请参阅https://www.paypal-notify.com/eventnotification/event_details?eventId=4283。  您可以尝试在轴上使用“org.apache.axis.transport.http.CommonsHTTPSender”来支持http1.1。您必须使用轴1.3或更多,因为1.2有https连接错误

答案 1 :(得分:1)

将client-config.wsdd添加到类路径以使用http1.1。您可以将log4j设置为调试级别,以查看您是否正在使用http 1.0。如果没有,这对你没有帮助。 文件内容:

<?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>

答案 2 :(得分:1)

这就像上面所有答案的总结以及其他参考资料。

如user3405529所述,请点击链接并了解您的问题。

使用HTTP 1.0协议的商家。

这对于使用带有轴1.4的旧PayPal API的所有人来说都很常见

这是我项目中的问题。

我引用此链接了解更多细节以了解和解决问题

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

有四种方法可以解决这个问题

1)修改轴源代码以使用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;
    //}

OR  将消息上下文msgContext.setStrProp(..)设置为HTTPConstants.HEADER_PROTOCOL_V11

然后重建轴并维护自己的源代码以供参考

2)根据user3405529在classpath中使用client-config.wsdd     java:org.apache.axis.transport.http.CommonsHTTPSender在运输中     标签

我测试了这些变化,它按预期工作。

但这两种方法都默认使用HTTP 1.1。在我们的项目中,因为我们没有为HTTP协议版本的更改做好准备。

http://www2.research.att.com/~bala/papers/h0vh1.html

上查看更多详情

3)更新PayPal存根并重建它以供使用 - 我不尝试。

4)将PayPal SDK更新为最新版本......

我们使用更新的PayPal SDK。这对将来会很有帮助。

我希望它有用