api - PayPal API OAuth2 I/O 异常 : peer not authenticated

标签 api rest paypal coldfusion oauth-2.0

几个月来,我的 OAuth2 例程一直运行良好。 OAuth2 例程创建新 token ,以便我可以执行 API 操作。

突然,一周前,我开始收到以下错误:

Charset     [empty string]
ErrorDetail     I/O Exception: peer not authenticated
Filecontent     Connection Failure
Header  [empty string]
Mimetype    Unable to determine MIME type of file.
Responseheader  
struct [empty]
Statuscode  Connection Failure. Status code unavailable.
Text    YES 

我正在使用 Coldfusion 10,几个月来我在测试环境中没有进行任何更改,因此更改必须来自 PayPal 的一端。

我正在使用以下 http 调用:

<cfset clientid = "***">
<cfset secret = "***">

<cfhttp method="post" url="https://api.sandbox.paypal.com/v1/oauth2/token" result="result">
<cfhttpparam type="header" name="Content_Type" value="application/json">
<cfhttpparam type="formfield" name="grant_type" value="client_credentials">
<cfhttpparam type="header" name="Authorization" value="Basic #ToBase64(clientid & ":" & secret)#">
</cfhttp>

谁能帮我解决这个问题?

最佳答案

好的,我在连接到新的 PayPal REST API 时遇到了完全相同的问题,错误背后的原因是从 Verisign G2 根证书(PayPal 不再支持)迁移到 SHA-256 算法和 Verisign G5签名证书。

令人困惑的是,Coldfusion 10 和 Coldfusion 11 已经在 ColdFusion Truststore 中拥有证书,那么为什么它仍然无法正常工作?

经过数小时的尝试和搜索,我发现证书问题出在 JRE 文件夹中,而不是 ColdFusion。这很快导致我升级 ColdFusion 以在最新版本的 Java JDK 1.8_101 上运行(我的测试服务器在 JVM 1.7 上运行,生产服务器在 1.8_25 上运行(所以我升级了两者并运行了代码(类似于 Charles原始帖子中的代码)。

简单的步骤如下:

  1. 将 ColdFusion 升级到 ColdFusion 管理员提供的最新更新
  2. 安装最新的 Java JDK(当前为 1.8_101)并记住安装位置
  3. 返回 ColdFusion Administrator 并转到服务器设置下的 Java 和 JVM,并将 JVM 指向新 JDK 中的 JRE 文件夹,例如/{JDK_home}/Contents/Home/jre 文件夹,然后重启 ColdFusion。

PayPal oAuth2.0 将再次运行! (至少它对我有用)。我希望这可以帮助人们减少数小时的挫败感,并确保最新的 PayPal REST API 可以与 ColdFusion 一起使用(即使他们没有提供示例 - 我正在努力通过 Github 将其提交给 PayPal)。

关于api - PayPal API OAuth2 I/O 异常 : peer not authenticated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133443/

相关文章:

ios - 如何在我的应用程序中获取 JSON 数据

php - 从查询过滤器开始,使用Elastica进行Elasticsearch

javascript - 你如何找到 Backbone 提取产生的错误

codeigniter - CodeIgniter 中的 PayPal Express Checkout 集成

wordpress - 如何在我的 wordpress 网站上启用 REST API?

c++ - 设计API时如何设计const和volatile的重载成员函数?

php - curl 沙箱 Paypal PHP

javascript - 禁用按钮上的页面背景提交点击

java - 如果两个线程对象的ID相等,那么线程对象本身也相等吗?

c# - 我可以将自定义 JsonSerializer 设置为 RestSharp RestClient