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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SOAP + JAVA, управление удаленной БД 
:(
    Опции темы
ruFog
Дата 5.5.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!

Подскажите пожалуйста начинающему Java-программисту! Необходимо реализовать связь клиента с удаленной базой данных через SOAP. Нужно реализовать как сервер (на Java), так и клиент (Swing + Java). Подскажите куда копать?

Читаю AXIS на офф сайте - достаточно сложно для новичка, имхо. Люди еще что-то о JBoss говорят. Подскажите какие инструменты более оптимальны и просты в эксплуатации? Может быть у Вас есть на примете какие-нибудь хорошие статьи по SOAP.

Большое спасибо!

PS: REST не подходит - нужны бинарные атачи.
PM MAIL   Вверх
Се ля ви
Дата 5.5.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

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



Какой бюджет проекта? В BEA Weblogic Workshop это реализовано довольно удобно, да и в IBM Rational Application Developer много чего для этого удобного есть, но за это нужно заплатить нехилую денежку, а вручную это писать действительно удобного инструментария я не знаю - в том числе и от JBoss`а, хотя если где его и искать, то, действительно, только у них. Правда они от поддержки Axis`а отказались и сейчас Web-сервисы реализуют в рамках собственного проекта JBoss Web Services. Попробуй поискать соответствующие плагины под eclipse, потому что для IDEA плагин довольно неудобный, IMHO.

Но вообще-то, как показывает практика, лучше начинать с простых инструментов, где будет больше ручной работы и только потом начинать использовать сложные, которые её часть делают за тебя - что бы лучше понимать процесс. Иначе в случае глюков не будешь знать, что делать.


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
sysprog
  Дата 15.5.2008, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день.

Столкнулся с подобной задачей, сервер-фасад JBoss, а клиент - PHP5 php_soap.dll

Подключиться к фасаду получается, но затем при вызове методов возникают ошибка авторизации:
SecurityException; nested exception is: 
    javax.security.auth.login.LoginException: Login Failure: all modules ignored

Исходя из того как ребята делали это на С# понял, что при вызове методов еще необходимо передавать sessionId в заголовке, и в этом вся загвоздка.

Код

    RemoteFacade.SessionHeaderValue = new SessionHeader();
    RemoteFacade.SessionHeaderValue.sessionId = 
                              RemoteFacade.login(lf.Login, lf.Password);


Вот несколько вариантов попытки вызова метода фасада на PHP через Soap. (Пишу в этой теме, т.к. ПХП программисты могут не знать JBoss)

1 Вариант. При создании объекта сразу передается логин и пароль:
Код

$client = new SoapClient($wsdl, array(
    "login"      => "superuser",
    "password"   => "",
    "trace"      => 1,
    "exceptions" => 0));

$curr = $client->__call("getCurrency", array("UAH"));
// выдается указанная выше ошибка



2 Вариант. Используем объект SoapHeader:
Код

$client = new SoapClient($wsdl,     
    "trace"          => 1,
    "exceptions" => 0);

$header = new SoapHeader("Authorization",
                           "sessionId",
                           $client->__call("login", array("superuser", ""))); // Получаем sessionId и пытаемся присвоить переменной из Namespace=Authorization (первый параметр)

$curr = $client->__call("getCurrency", array("UAH"), null, $header);
// выдается указанная выше ошибка


Подозреваю, что в этом случае может быть ошибка с установкой Namespace=Authorization, т.к. не исключено, что в Jboss Namespace будет другой. (Использовал по аналогии с другими форумами)

3 Вариант. Используем недокументированную функцию __setSoapHeaders
Код

$client = new SoapClient($wsdl,     
    "trace"          => 1,
    "exceptions" => 0);

$header = new SoapHeader( "Authorization", "sessionId", (string) $client->__call("login", array("superuser", "")));
$client->__setSoapHeaders(array($header)); // нормально устанавлива

$curr = $client->__call("getCurrency", array("UAH"));
// выдается указанная выше ошибка



Помогите, пожалуйста, нахожусь в полном замешательстве.  smile 


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

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

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


 




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


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

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