JPOS和SSLSocket:“不支持shutdownOutput()”

时间:2019-07-09 10:36:19

标签: java sockets ssl jpos

我似乎无法解决这个问题,所以我正在寻求您的帮助。

我们正在使用JPOS在我们自己和业务伙伴之间传输某些消息,并且我们看到有关“ SSLSocket不支持shutdownOutput()”的错误。 as another developer remarked在2012年似乎是一个罕见的问题:

  

为什么我是第一个遇到此问题的人?我想我是   缺少一些简单的东西。否则没有人将SSL与jpos一起使用。还是没人   关闭连接...

后续讨论参考了a question here on SO,但是由于以下事件流,建议的解决方案似乎无法应用:

  1. 我们正在一次调用JPOS库以发送请求(org.jpos.iso.BaseChannel.send(ISOMsg msg)
  2. 我们正在一次调用JPOS库以接收响应(ISOMsg response = org.jpos.iso.BaseChannel.receive()
  3. JPOS通过许多内部方法和子方法,使用有问题的“ shutdownOutput()”调用接收响应,处理响应并关闭套接字
  4. 尝试关闭套接字时,它将引发异常-这样做会丢弃我们感兴趣的响应

似乎我们没有“注入点”可以实际接收消息,但不能关闭套接字(我们可以自己做,或者以不同的方式处理异常)。

我在这里没看到什么?

仅供参考,我们正在使用2010年以来的JPOS v1.7.0,但是从阅读当前代码来看,似乎v2.1.7也在以相同的方式进行操作。

编辑:另外,还有一些日志记录功能,但似乎完全包含在receive()调用中。如果可以检查日志,也许可以进行更详细的调查,但是似乎没有地方可以(或可以)设置(或传递)LogListener。在哪里可以找到有关如何管理JPOS日志的信息,如何查看它们?

编辑2:我在阅读代码时失明了。基于非常有见地的评论,我们将必须将JPOS实例至少升级到v1.8.8,以获取针对此问题的修复程序。

0 个答案:

没有答案