2011-11-02 90 views
1

我正在开发一个j2ee项目,该项目是一个公共网站。该应用程序有很多内置的安全性。在通过MQ进行安全调用之后无法调用安全的webservice

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

我的工作是打电话给第三方安全webservice,web服务的url是一个https url。

当我从应用程序的第一个调用web服务,一切运作良好,但如果我把这个调用大型机调用后,我得到以下错误。

位于“mynode”的信任商店无法加载。 DerInputstream.getlength长度标记= 127太大

请原谅,我无法粘贴代码或配置在这里,作为其客户端项目。 使用的环境是:IBM WAS 6.1 with webservices feature pack 6.0.15 & Spring Webservices 1.5.4

任何帮助,将不胜感激。在此先感谢

回答

1

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

+0

嗨,感谢您的回答...我想指出,我只在默认信任存储中加载安全web服务的证书。另外,如果我在MQ调用之前调用webservice,那么绝对没有问题,但只有相反的情况会产生问题(即在MQ调用之后使Webservice调用) – dharam

+0

嗯,好的。我误解了这个问题。虽然同样的答案适用。当您首先加载WMQ密钥库时,找不到默认的密钥库。加载默认密钥库的过程的一部分是检查并查看是否已经加载密钥库。显然,WMQ没有以相同的方式找到它的密钥库,因此不会遇到这个问题。 –

+0

嘿谢谢你解决我的问题。我花了大约5-6天的时间来解决这个问题,但是你的回答显示了我的路径。 非常感谢:) – dharam