Web Service

Тема в разделе "Lotus - Программирование", создана пользователем Cleric-Lviv, 19 фев 2013.

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Всем привет!

    Вопрос следующий:

    Когда вызываю сервис (для теста через лотусиного агента) и указываю параметры начинает ругатся на параметр который обявлен с типом дата

    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"Web Service"</div></div><div class="sp-body"><div class="sp-content">Web Service Provider:

    Web Service Provider:

    Class Create_User_Card

    Public Function Create_Card(u_name As String, u_mid_name As String, u_last_name As String, _
    u_department As String, u_user_id As String, u_in_date As XSD_DATE) As String

    code :D

    End Function

    End Class

    Web Service Consumer:

    %INCLUDE "lsxsd.lss"
    Class Create_User_Card As PortTypeBase

    Sub NEW
    Call Service.Initialize ("UrnDefaultNamespaceCreate_User_CardService", _
    "Create_User_CardService.Domino", "http://192.168.101.1:8080/Test/WebServiceDB.nsf/CreateUserCard?OpenWebService", _
    "Create_User_Card")
    End Sub

    Function CREATE_CARD(U_NAME As String, U_MID_NAME As String, U_LAST_NAME As String, _
    U_DEPARTMENT As String, U_USER_ID As String, U_DATE_IN As XSD_DATE) As String
    Let CREATE_CARD = Service.Invoke("CREATE_CARD", U_NAME, U_MID_NAME, U_LAST_NAME, U_DEPARTMENT, U_USER_ID, U_DATE_IN)
    End Function

    End Class


    Агент :

    Option Public
    Use "Create_User_Card"

    Sub Initialize

    Dim Create_User_Card As New Create_User_Card
    Print Create_User_Card.Create_card("Petr", "Petrovich", "Kolobok", "IT", "5091513196", "2013-01-15")

    End Sub

    нарыл инфу о формате. вроде все ок... пробол с разными параметрами (2013-01-15, 2013-01-15+02:00, 2013-01-15Z, 2013-01-15+00:00)
    все равно ошыбка.....
    Может кто работал с датами в веб сервисе? помогите плз
     
  2. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    XSD_DATE
    The proxy class mapped to XML Schema type date. Nillable.

    SUB SetValueFromNotesDateTime (value As NotesDateTime)Sets the XML representation of the object from the NotesDateTime object. Any time zone information is ignored.

    т.е.
    Dim s as New NotesSession
    Dim tmpDate as NotesDateTime
    Dim tmpXSDDate as New XSD_Date

    set tmpDate = s.CreateDateTime("18.02.2013")
    Call tmpXSDDate.SetValueFromNotesDateTime(tmpDate)
    ..................
    Print Create_User_Card.Create_card("Petr", "Petrovich", "Kolobok", "IT", "5091513196", tmpXSDDate)
     
  3. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    Если вы решились писать web-service'ы на Lotus Script. будьте готовы постоянно ходить по граблям несоответствия типов.
     
  4. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    susinmn

    Держите + ! Спасибо.

    Но слепец я еще тот :) ..... вчера курил статью на ибм в которой была опись как работать с датой и времям.... и както я прошел мимо...мдя...


    garrick

    Ваш вариант: Java ?
     
  5. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    Теперь "Да". Потому как бывали проблемы не только с датами, но и банально с простыми строками. Приходилось скачивать wsdl файл локально, править его руками и только потом скармливать Domino Designer, что бы он сгенерил код, совместимый с работающим web-service'ом. В Java таких проблем нет, к тому же куча всяких библиотек для XML, XSL и пр. часто необходимых для разбора ответов и генерации запросов web-service. Всё равно ваш сервис или потребитель в Domino работает через Axis, только для Lotus Script это делается каким-то хитрым окольным путём. Второй положительный момент - Java код вы, при необходимости, можете оторвать от Domino и исполнять в дальнейшем в другой среде.
     
Загрузка...
Похожие Темы - Web Service
  1. Proger J.
    Ответов:
    1
    Просмотров:
    204
  2. TAPAKAHATOP
    Ответов:
    4
    Просмотров:
    430
  3. Xalet
    Ответов:
    8
    Просмотров:
    968
  4. lmike
    Ответов:
    4
    Просмотров:
    764
  5. doka
    Ответов:
    1
    Просмотров:
    822

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