2010-05-11 67 views
2

我正在將Java Web服務用作來自.NET的WCF服務。找不到'System.IdentityModel.Tokens.X509SecurityToken'令牌類型的令牌認證器

該服務具有HTTPS端點,並要求使用客戶端證書對消息進行簽名。

我已經設置了WCF跟蹤,並且使用服務跟蹤查看器我可以確認請求已被簽名並按預期發送,並且服務返回有效的響應。但是我的控制檯應用程序不接受該響應。相反,下面的異常被拋出:

無法找到 的 「System.IdentityModel.Tokens.X509SecurityToken」 令牌類型的令牌認證。根據當前的 安全設置,該類型的令牌不能被接受 。

我在做什麼錯?

回答

-1

顯然,WCF和此Java Web服務實現此類安全性(可能特定於此服務或可能是一般Java問題)的方式存在一個小的但顯着的變體。

收到正確的響應,但WCF無法解釋令牌元素。

我的解決方案,或者相當的解決方法是利用WCF的前身WSE(Web Service Enhancements 3.0)。

對Microsoft.Web.Services3程序集的引用,很多頭部搔癢(WTFs)和代碼的冗長工作,後來我得到了我的迴應。

+0

我正在處理同樣的問題,同時從我的WCF客戶端使用IBM DataPower服務。你可以發佈代碼示例或將它發送給我? – YONDERBOI 2011-03-31 16:23:57

+0

我以不同的方式解決了問題。看到[鏈接](http://stackoverflow.com/questions/5503684/ibm-datapower-3-7-1-x-issues-with-wcf-clients) – YONDERBOI 2011-04-01 00:59:44

+3

這是有點令人失望,這個答案沒有任何人都需要實現相同解決方案的詳細程度。 – Fenton 2012-09-28 13:48:43