Передача токена LPTA на вызов веб-сервисов не работает - PullRequest
1 голос
/ 10 октября 2011

У меня есть веб-приложение j2ee, использующее защиту j2ee, поэтому личность пользователя передается из WebSEAL в приложение, работающее в WAS7. Сейчас я пытаюсь сделать вызов веб-сервисов SOAP и распространить идентификацию пользователя в этом вызове веб-сервисов. Для этого я беру LTPA (WSCredential) и LPTA2 (SingleSignOnToken), используя вызовы WSSubject, и присоединяю их к вызову веб-сервисов, используя.

bp.getRequestContext().put(Constants.REQUEST_TRANSPORT_PROPERTIES,sendTransportHeaders);

где bp - мой BindingProvider. Это все должно работать. Но когда я звоню через веб-сервис, я получаю это исключение.

Cause =java.io.IOException: Unable to deserialize the Subjects in this Context

Я просмотрел поля в токене LTPA, и все кажется правильным (та же область между токеном и веб-службой области безопасности j2ee, которую я вызываю, токен пересылается и т. Д.), И я не могу найти много информации об этой ошибке в Интернете , за исключением (что кажется несвязанным) случая при попытке передать его в EJB и одного случая, когда области не совпадают.

Есть идеи? Спасибо.

Ответы [ 2 ]

3 голосов
/ 11 октября 2011

Можете ли вы четко заявить о том, что вы пытаетесь сделать здесь?

Вы должны иметь возможность прозрачно передавать токены LTPA с помощью простой конфигурации, вместо того, чтобы пытаться написать некоторый код для достижения того же самого.

Веб-приложения, выполняющие веб-службу, обращаются к другому серверу WebSphere.

прочитай это. http://www.ibm.com/developerworks/websphere/techjournal/0607_desprets/0607_desprets.html

В WAS7 все должно быть очень похоже на WAS V6.

НТН

Manglu

0 голосов
/ 11 октября 2011

@ jeffsix: вы пытаетесь сделать вызов веб-службы из приложения, запущенного на одном сервере websphere, к другому приложению на другом сервере websphere? Убедитесь, что ключи LTPA одинаковы на обоих серверах.

...