Просьба Помочь С Веб-сервисом

Тема в разделе "Lotus - Программирование", создана пользователем Alsodan, 27 ноя 2012.

  1. Alsodan

    Alsodan Member

    Регистрация:
    27 ноя 2012
    Сообщения:
    7
    Симпатии:
    0
    Доброго времени суток!

    Есть такая задача:
    Требуется отсылать некоторые документы с сервера Домино на веб-сервис приема этих документов. Документы должны передаваться в виде XML-файлов. Агента, который соберет эти документы по серверу я напишу, XML создам, но как их отправить по указанному адресу?

    Может кто сталкивался с подобным?
    Или хотя-бы подскажите, в какую сторону копать.
    Заранее спасибо.
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Погуглите "notes web service consumer" или "web service site:codeby.net", инфы море.
     
  3. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Вот ссылки, могут помочь:

    Практическое использование Web-сервисов в IBM Lotus Domino 7: Что такое Web-сервисы и почему они важны?

    Практическое использование Web-сервисов в IBM Lotus Domino 7: Написание и проверка простых Web-сервисов

    Практическое использование Web-сервисов в IBM Lotus Domino 7: Создание сложных Web-сервисов

    Web-службы Lotus Notes/Domino 7

    Быстрое создание Web-служб Domino

    Использование Web-сервисов с помощью Java-агента Lotus Domino

    Но главное понимать одно - что web-service - это, грубо говоря, просто точка входа в систему. В общем случае, в той системе, в которую передают данные (в вашем случае, то куда вы собираетесь слать xml) создают веб-сервис, который имеет набор методов (команд), которые "что-то делают" в этой системе :), и которые можно вызывать из вне по средствам http ссылка. Весь сервис, в общем, представляет из себя WSDL файл, который потом передается вам, и публикуется в вашей системе как web service Consumer (это конкретно в Lotus, а так с ним можно работать просто видя WSDL в браузере и отсылая к нему команды с параметрами). Таким образом вам предоставляются методы, которыми можно работать с внешней системой.
     
  4. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.021
    Симпатии:
    8
    Можно я тут спрошу, чтоб темы не плодить?
    Занимаюсь сейчас примерно той же задачей. Создал лотусовый web service consumer по WDSL-файлу. И столкнулся с тем, что часть параметров (в частности, файлы) передается сервису как
    Код (LotusScript):
    bytearray() as byte
    . Насколько мне помнится, размер массива в lotusscript ограничен, а файлы будут большими. Что делать? Использовать Java очень не хочется... :)
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Мыш
    У LS слишком много ограничений, чтобы писать на нём web service Consumer, хоть LN это и позволяет. Пишите сразу на Яве, чтобы потом не переписывать.
     
  6. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    Насколько мне помнится, размер массива в lotusscript ограничен, а файлы будут большими. Что делать? Использовать Java очень не хочется... blush.gif

    из-за ограничений в системе (использование только LS) я передавал файлы как base64, а так, конечно, лучше джава
     
  7. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.021
    Симпатии:
    8
    nvy, Kee_Keekkenen - спасибо. Если не затруднит, расскажите поподробней.
    Дело в том, что сервис я как раз не пишу (он есть и менять его я не могу), мне нужен только "клиент" к нему. Грубо гря - раньше присылали файлы по почте, теперь требуют использовать web-сервис. Взял я нужный WDSL-файл, создал на его основе consumer - и типы для передачи файлов сам Лотус определил (в библиотеке Consumer'а) как bytearray() as byte. При попытке подсунуть ему другие типы в функцию, он, ессно, ругается на несовместимость... Соббсно, вопрос - можно ли как-то обойти ограничение на размер массивов, используя другие типы - и как это сделать?
    В web-сервисах я не силен, а код для обработки получаемых от сервиса данных старый, большой и весь написан для LS. Не хочется громоздить java-агентов отдельно....
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Мыш
    Я дёргал серверный ява-агент и результат сохранял в документ, потом полученные данные обрабатывал лс-скриптом. Попытка подключить ява веб-сервис-потребителя успехом не увенчалась ( Подключить Java Web-servece Consumer Через Ls2j). Код веб-сервис-потребителя дизайнер лотуса генерирует автоматически при импорте wsdl, вносить туда изменения можно, но с большими ограничениями, а при обновлении wsdl все правки будут потеряны. Можете попробовать заменить bytearray() as byte на NotesStream или String, только не забудьте задокументировать код.

    Если для подключения к веб-сервису нужна авторизация см. тут.

    Добавлено
    В 8.5 на клиенте можно дёргать агента методом RunWithDocumentContext, "скармливая" ему несохранённый документ. Изменения полей, сделанные в этом документе агентом (в т.ч явовым), будут доступны после завершения агента.
     
Загрузка...
Похожие Темы - Просьба Помочь Веб
  1. Michael18
    Ответов:
    0
    Просмотров:
    2.035
  2. stas79
    Ответов:
    1
    Просмотров:
    1.173
  3. 123456789igor
    Ответов:
    3
    Просмотров:
    3.073
  4. Akupaka
    Ответов:
    0
    Просмотров:
    1.652
  5. Hemenede
    Ответов:
    2
    Просмотров:
    246

Поделиться этой страницей