2011-11-02 91 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