Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/87: Рейтинг темы: голосов - 87, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
1

Lotus Web Service Consumer + Http Авторизация - Как?

12.04.2012, 18:08. Показов 17037. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравия всем!

Возникла необходимость подключить Lotus к веб-сервису 1С. Для доступа к сервису необходима стандартная http-авторизация (в post-запрос добавить свойство "Authorization" = "Basic " + encoding, где encoding = BASE64("LOGIN:PASSWORD")). В браузере подключаюсь к серверу, прохожу авторизацию, получаю wsdl, импортирую в Lotus, получаю кучу джава кода. Внимание вопрос — куда, в какой класс, нужно вкрутить эту пару строк:
<!--shcode--><pre><code class=java>String encoding = new sun.misc.BASE64Encoder().encode("LOGIN:PASSWORD".getBytes());
urlConnection.setRequestProperty("Authorization", "Basic " + encoding);[/CODE]
Можно было бы, конечно, написать post-запрос вызова сервиса "в ручную", но в нём много функций и не хотелось бы делать кучу лишней работы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2012, 18:08
Ответы с готовыми решениями:

Web Service Consumer
При вызове ошибка. Кто встречал? Web Service ** method ** error Error invoking operation:...

WSDL-Web Service Consumer
Втянул wsdl через Web Service Consumer. Как теперь подключить эту библиотеку в java-агент? Можно...

Проблема с web service consumer
Добрый день, коллеги! Имеется web service consumer: В итоге, когда вызываю сервис Function...

Web service consumer ошибка при отсылки больших пакетов
Всем привет и сразу к теме. Есть Web Service который крутится на TomCat сервере. В Lotus Notes...

4
Zyko
15.04.2012, 13:16 2
Цитата Сообщение от nvy
Здравия всем!

Возникла необходимость подключить Lotus к веб-сервису 1С. Для доступа к сервису необходима стандартная http-авторизация (в post-запрос добавить свойство "Authorization" = "Basic " + encoding, где encoding = BASE64("LOGIN:PASSWORD")). В браузере подключаюсь к серверу, прохожу авторизацию, получаю wsdl, импортирую в Lotus, получаю кучу джава кода. Внимание вопрос — куда, в какой класс, нужно вкрутить эту пару строк:
<!--shcode--><pre><code class=java>String encoding = new sun.misc.BASE64Encoder().encode("LOGIN:PASSWORD".getBytes());
urlConnection.setRequestProperty("Authorization", "Basic " + encoding);[/CODE]
Можно было бы, конечно, написать post-запрос вызова сервиса "в ручную", но в нём много функций и не хотелось бы делать кучу лишней работы.
urlConnection это java.net.URL объект. Он вроде встречается только в XXX_ServiceLocator в паре мест. Туда и пихать.

ПС: Сам не пробовал. Так, поумничать решил...
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
15.04.2012, 13:56 3
urlConnectionэто java.net.URL объект.
Если бы это было так, я бы не справшивал. urlConnection это объект класса java.net.HttpURLConnection.
В сгенерированном классе XXXLocator есть функция с параметром типа java.net.URL, но это не одно и то же.
0
Zyko
15.04.2012, 16:56 4
Тогда ещё поумничаю...
А если в XXX_Stub добавить:

Код
_call.setUsername("");
_call.setPassword("");
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
16.04.2012, 12:09 5
Автоподстановка в дизайнере 8.5.3 рулит! Все мои мучения помимо скудности инфы были также связаны с использованием дизайнера 8.0.1 (без автоподстановки в java).
Итого:
1) добавил в класс XXXLocator два поля:
<!--shcode--><pre><code class=java> private final String password;
private final String userName;[/CODE]
2) переписал конструктор класса XXXLocator в виде:
<!--shcode--><pre><code class=java> public LWSLocator(String u, String p) {
super("HttpLocalhostLotusLWS");
userName = u;
password = p;
}[/CODE]
3) добавил в методы getLWSSoap(java.net.URL portAddress) и getPort(Class serviceEndpointInterface) строки
<!--shcode--><pre><code class=java> if (userName.length() > 0) _stub.setUsername(userName);
if (password.length() > 0) _stub.setPassword(password);[/CODE]
Спасибо Zeka за наводку
Добавлено
Другой вариант:
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/...ox_code_element
А так это выглядит на LS
http://www-10.lotus.com/ldd/nd8forum.nsf/G...55?OpenDocument
Почему IBM не потрудилась включить это в справку?
0
16.04.2012, 12:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2012, 12:09
Помогаю со студенческими работами здесь

Lotus Web Service Provider
Здравствуйте! Есть задача, нужно разработать веб сервис с проверкой подписи на уровне соап...

проблема со связкой Lotus -web-service
Добрый день!! Я хочу из лотуса вызвать сторонний web-service. Написал агента, он нормально...

HTTP Post to a web service using VBA
Вот, собственно, озадачился прикрутить бота к мессенджеру &quot;Телеграм&quot;. Для PHP (где я мало чего...

Lotus Web, Ajax и авторизация:)
Ну собственно прежде чем пытаться изобрести велосипед, решил узнать вдруг его уже изобрели. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru