2010-05-11 1 views
2

Я использую веб-службу Java как службу WCF от .NET.Не удается найти аутентификатор токена для токена 'System.IdentityModel.Tokens.X509SecurityToken'

Служба имеет конечную точку HTTPS и требует, чтобы сообщение было подписано с сертификатом клиента.

Я настроил трассировку WCF и с помощью Service Trace Viewer. Я могу подтвердить, что запрос подписан и отправлен, как ожидалось, и действительный ответ возвращается из службы. Но мой консольный прием не принят. Вместо того, чтобы следующее исключение:

Не удается найти маркер аутентификатор для маркер типа в «System.IdentityModel.Tokens.X509SecurityToken». Токены этого типа не могут принимать в соответствии с текущими настройками безопасности .

Что я делаю неправильно?

ответ

-1

По-видимому, существует небольшое, но значительное изменение способа WCF, и эта веб-служба Java реализует этот тип безопасности (может быть характерна для этой службы или может быть общей проблемой Java).

Получен правильный ответ, но WCF не может интерпретировать элемент токена.

Моим решением, точнее обходным путем, было использование предшественника WCF WSE (Web Service Enhancements 3.0).

Ссылка на сборку Microsoft.Web.Services3, много царапин на голове (WTF) и длительную работу кода, включая MutualCertificate10Assertion, позже я получил свой ответ.

+0

Я имею дело с одной и той же проблемой при использовании службы IBM DataPower от моего клиента WCF. Можете ли вы опубликовать образец кода или отправить его мне по электронной почте? – YONDERBOI

+0

Я решил проблему по-другому. см. [link] (http://stackoverflow.com/questions/5503684/ibm-datapower-3-7-1-x-issues-with-wcf-clients) – YONDERBOI

+3

Немного разочаровывает, что в этом ответе нет уровень детализации, необходимый каждому для реализации того же решения. – Fenton