【问题标题】:Unable to call a secure webservice after making a secure call over MQ通过 MQ 进行安全调用后无法调用安全 Web 服务
【发布时间】:2011-12-20 14:01:33
【问题描述】:

我正在开发一个 j2ee 项目,这是一个公共网站。该应用程序内置了很多安全性。

它通过 MQ 调用大型机数据库,我相信这是一个安全的对话。在这个地方之前一切正常。

我的工作是调用第三方安全网络服务,网络服务的 url 是 https url。

当我第一次从应用程序调用 web 服务时,一切正常,但如果我在大型机调用之后进行此调用,我会收到以下错误。

无法加载位于“mynode”的信任库。 DerInputstream.getlength 长度 tag=127 太大

请原谅我,我不能在这里粘贴代码或配置,因为它是一个客户项目。 使用的环境是:IBM WAS 6.1 with webservices feature pack 6.0.15 & Spring Webservices 1.5.4

任何帮助将不胜感激。提前致谢

【问题讨论】:

    标签: web-services jakarta-ee ssl ibm-mq


    【解决方案1】:

    默认情况下,每个 JVM 只有一个密钥库。一旦你加载了 WMQ,web 服务就会失败,反之亦然。您可以编写代码来管理多个密钥库as described in this post。在这种情况下,我怀疑 WMQ 将需要使用 JVM 密钥库,而您的应用可以通过代码选择备用密钥库。

    【讨论】:

    • 您好,感谢您的回答...我想指出的是,我仅在默认信任库中加载安全 Web 服务的证书。另外,如果我在 MQ 调用之前调用 webservice 绝对没有问题,但只有相反的情况会产生问题(即在 MQ 调用之后调用 Webservice)
    • 啊,好的。我误解了这个问题。不过,同样的答案也适用。当您首先加载 WMQ 密钥库时,找不到默认密钥库。加载默认密钥库的部分过程是检查是否已经加载了密钥库。显然 WMQ 没有以相同的方式定位它的密钥库,因此不会遇到这个问题。
    • 嘿,感谢您为解决我的问题所做的努力。我花了大约 5-6 天的时间来解决这个问题,但您上面的回答向我展示了解决问题的方法。非常感谢:)
    • 很高兴听到它有帮助!听起来好像可能有一些额外的解决方案细节没有在这里捕获。如果您有时间用这些更新您的帖子,它将帮助其他人将来遇到同样的问题。谢谢!
    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多