【问题标题】:Error with HTTP post requestHTTP 发布请求出错
【发布时间】:2016-12-12 09:09:29
【问题描述】:

我有一个带有第三方支付系统的应用。付款成功后,成功响应将发送回应用程序。最近我们已经将应用程序迁移到一个新的服务器,在该服务器上调用第三方支付系统是成功的,但是在我们端进行更新时,第三方面临如下错误:

抛出HTTPPost.postRequest.IOException [Error when writing data to url.] 异常。

第三方正在调用带有交易详细信息的 POST 方法来更新我们应用端的状态。

当我尝试使用浏览器中的简单 HTML 页面访问包含交易详细信息的 URL 时,它成功了。

谁能帮我解决上述错误?

在将应用迁移到新服务器时是否遗漏了任何配置?

该应用是使用 Stripes 框架在 Java 中构建的。

【问题讨论】:

  • 提供更多细节,你有stacktrace日志吗?
  • 添加代码并添加堆栈跟踪
  • 没有任何其他错误日志,除了上面提到的第三方系统,他们只分享了上述错误消息。
  • 在我们端,代码只是 ActionBean 的 defaultHandler 函数:abc.xyz/user/Payment.action 被第三方调用以更新我们端的状态。

标签: java stripes


【解决方案1】:

1.如果是POST请求,客户端数据不能附加到URL。 只有当它是 GET 请求时才能完成。

2.使用大多数浏览器,您可以跟踪网络活动。并检查 URL 对象的有效性

URL url = new URL("http://www.yourUrl.com/"); 
   HttpURLConnection con = (HttpURLConnection)url.openConnection(); 
   con.setRequestMethod("GET"); 
   con.connect() ; 
   OutputStream os = con.getOutputStream(); 
   int check= con.getResponseCode(); 

3.HTTPPost.postRequest.IOException 如果服务器有任何问题也可能发生。检查服务器是否兼容接收来自“第三方支付系统”的数据

使用堆栈跟踪提供更多详细信息,以便您可以快速获得更准确的答案。

希望这会有所帮助!

【讨论】:

  • 但同样的方法在旧服务器上运行良好。实际上我们将这个新服务器中的 apache 版本从 apache-2.2.10 升级到了 apache-2.4.10 版本
  • 这里的版本应该无关紧要,除非接收到的数据被处理。您可以更好地调试代码以获取更多信息。如果没有日志或问题的确切位置,就很难找到答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-28
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 2017-08-06
相关资源
最近更新 更多