Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как добавить SecurityHeader в SOAP Message, Добавление SecHeader в SOAP Message 
:(
    Опции темы
MrLjaO
Дата 15.7.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 30.3.2006
Где: Minsk

Репутация: нет
Всего: нет



Есть серверная часть приложения. Для работы используется Axis2.

С неё получил wsdl  и сгенерировал stub.

Тестовый класс вызова сервиса выглядит до нельзя просто, если бы не одно но.
Сервис вызывается , но в SOAP message не содержит Security Header с UsernameToken(Username и Password).
В статьях говориться о том, что следует подключить rampart совместивый с используемой версией Axis2 (1.4 в моём случае) и этот rampart сделает всю чёрную работу.
Пример тестового класса
Код

String path = "Путь к конфигурационному файлу б + тут же должен лежать rampart.mar";
ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(path,null);
try {
// Делаем Stub
PlatformStub stub = new PlatformStub(ctx);
ServiceClient sc = stub._getServiceClient();
sc.engageModule("rampart");

Options options = sc.getOptions();
options.setUserName("apache");
options.setPassword("password");
 
// Затем идём вызов сервиса

}
...


Это пример кода , который приводиться в качестве "Работающего" в статьях.

К сожалению не работает для меня  - может кто сталкивался с подобной проблемой и занает оч элегантное решение этой проблемы ?

P.S.
Знаю, что это вопрос не в Общую Тему .. но не нашёл специализированного раздела.

Это сообщение отредактировал(а) MrLjaO - 15.7.2008, 15:14
PM MAIL WWW   Вверх
Vier
Дата 16.7.2009, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.6.2009

Репутация: нет
Всего: нет



У меня такой же вопрос. За год никто случайно не разобрался? : )
PM MAIL   Вверх
Fame_biz
Дата 17.7.2009, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.2.2007

Репутация: нет
Всего: нет



пробуйте так 
Код

        ScheduleRetrieverService_Service tabelSynchronizer = new ScheduleRetrieverService_ServiceLocator();
        URL serviceUrlISubscription = new URL(URL.......);
        SOAPHeaderElement e1 = new SOAPHeaderElement("http://services.WF", "username", "login......");
        SOAPHeaderElement e2 = new SOAPHeaderElement("http://services.WF", "password", "password.....");
        tabelsynchronizer = tabelSynchronizer.getScheduleRetrieverService(serviceUrlISubscription);
        org.apache.axis.client.Stub s = (Stub) tabelsynchronizer;
        ((Stub) tabelsynchronizer).setHeader(e1);
        ((Stub) tabelsynchronizer).setHeader(e2);


или так 
Код

        EngineConfiguration config = new FileProvider(axisConfigFilePath);
        ServiceLocator locator = new ServiceLocator(config);
        locator.setEndpointAddress("ServiceSoap", URL.....);
    
        Remote remote = locator.getPort(ServiceSoapStub.class);
        Stub axisPort = (Stub) remote;
        axisPort._setProperty(WSHandlerConstants.TIMESTAMP_PRECISION, "false");
        axisPort._setProperty(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
        axisPort._setProperty(UsernameToken.PASSWORD_TYPE, WSConstants.PASSWORD_DIGEST);
        axisPort._setProperty(WSHandlerConstants.USER, "login ...");
        axisPort._setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, "utils.PWCallback");
        return (ServiceSoapStub) axisPort;



Это сообщение отредактировал(а) Fame_biz - 17.7.2009, 10:35
PM MAIL   Вверх
Vier
Дата 17.7.2009, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.6.2009

Репутация: нет
Всего: нет



Fame_biz, спасибо за отзыв. Но это, к сожалению, код для первого axis'a. 
PM MAIL   Вверх
Fame_biz
Дата 17.7.2009, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.2.2007

Репутация: нет
Всего: нет



тогда тебе сюда
Код

http://www.ibm.com/developerworks/java/library/j-jws4/index.html?ca=drs-

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.