Web Service

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

  1. imendan

    imendan Well-Known Member

    Регистрация:
    22 сен 2010
    Сообщения:
    97
    Симпатии:
    0
    Хай, пипл! Не раз убеждаюсь, что это лучший форум во всемирной паутине. Я написал просто веб-сервис с функцией выкладывания файлов в сетевую папку. Для каждого документа создается отдельная папка MkDir. Но к сожалению выходит ошибка Http server: agent message: Path Not Found. Перелопатил все возможное.
    Ошибка указывает прямо на эту строчку:
    MkDir "192.168.0.222\Shared\44ddd"
    Хотя с обычного агента, он без проблем создает эту папку.
    P.S.: Народ, если у кого-нить есть опыт с разработкой Web Service-ов в Lotus Domino, сбросьте, пож-та, ссылки, литературу, может советы какие-либо.
    И заранее спасибо всем!
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    IMENDAN
    рестриктед оперейшенс = 2 есть?
     
  3. imendan

    imendan Well-Known Member

    Регистрация:
    22 сен 2010
    Сообщения:
    97
    Симпатии:
    0
    Сорри, я не догоняю!
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    IMENDAN
    свойства сервиса, 1я закладка
    поле Restricted Operations, поставить значение "2"

    проверить права на сервере того, от чьего имени работает сервис
     
  5. imendan

    imendan Well-Known Member

    Регистрация:
    22 сен 2010
    Сообщения:
    97
    Симпатии:
    0
    Там изначально указал значение "3". Сетевую папку подключил как Сетевой диск "Z". Та же ошибка: "path no found".
     
  6. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    стоп, так ведь с сетевыми папками оно и не будет работать ....

    у меня, по крайней мере, не заработал шедульный агент по созданию сетевых папок
     
  7. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.020
    Симпатии:
    8
    Наверное, надо через LogonUser + ImpersonateLoggedOnUser делать?
     
  8. imendan

    imendan Well-Known Member

    Регистрация:
    22 сен 2010
    Сообщения:
    97
    Симпатии:
    0
    Урааа, совместными с админом усилиями сетевая папка теперь создается. И тем не менее, у кого-нибудь есть примеры веб-сервисов? Или расширенное руководство по написанию? Добрые люди, пож-та, помогите! :)
     
  9. imendan

    imendan Well-Known Member

    Регистрация:
    22 сен 2010
    Сообщения:
    97
    Симпатии:
    0
    Есть пример?
     
  10. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.020
    Симпатии:
    8
    Вот пример для LS-агента (стырено из Инета).
    Код (LotusScript):
    ' (Declarations) -- see MSDN for more details on these functions
    Declare Function LogonUser Lib "advapi32.dll" Alias "LogonUserA" (_
    Byval lpszUsername As String, _
    Byval lpszDomain As String, _
    Byval lpszPassword As String, _
    Byval dwLogonType As Long, _
    Byval dwLogonProvider As Long, _
    phToken As Long _
    ) As Long

    Declare Function ImpersonateLoggedOnUser Lib "advapi32.dll" Alias "ImpersonateLoggedOnUser" ( _
    Byval hToken As Long _
    ) As Long

    Declare Function RevertToSelf Lib "advapi32.dll" Alias "RevertToSelf" () As Long

    Declare Function CloseHandle Lib "kernel32.dll" Alias "CloseHandle" ( _
    Byval hObject As Long _
    ) As Long

    Const LOGON32_PROVIDER_DEFAULT = 0
    Const LOGON32_LOGON_INTERACTIVE = 2

    Sub Initialize
    %REM
    This agent shows how to fetch a security token for a particular NT account, and impersonate that account. In
    doing so, the agent can access files on remote machines under the security context of another NT account. Note
    that impersonation only occurs in the current thread, and concludes when the current thread terminates.

    Copyright 2001 Paul Ray. Use at your own risk.
    %END REM


    Dim hToken&
    Dim file%

    ' get a security token for the specified NT account
    If LogonUser("", "", "", LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, hToken&) = 0 Then
    Msgbox "==>LogonUser failed."
    Exit Sub
    End If

    ' impersonate the NT user (only in the current thread)
    If ImpersonateLoggedOnUser(hToken&) = 0 Then
    Msgbox "==>ImpersonateLoggedOnUser failed."
    If hToken& <> 0 Then CloseHandle(hToken&)
    Exit Sub
    End If

    ' close the handle to the token
    If hToken& <> 0 Then CloseHandle(hToken&)

    ' -------------- INIZIO PARTE "CRITICA"
    ' create a file on another NT machine and write some text to it
    file% = Freefile()
    Open "P:\COMMPROF.TXT" For Output As file%
    Write #file%, "Hello World!"
    Close file%
    ' -------------- FINE PARTE "CRITICA"

    ' revert back to system account (not really required, as it should automatically revert back when thread terminates)
    Call RevertToSelf()

    End Sub
     
Загрузка...
Похожие Темы - Web Service
  1. Proger J.
    Ответов:
    1
    Просмотров:
    203
  2. TAPAKAHATOP
    Ответов:
    4
    Просмотров:
    428
  3. Xalet
    Ответов:
    8
    Просмотров:
    968
  4. lmike
    Ответов:
    4
    Просмотров:
    761
  5. doka
    Ответов:
    1
    Просмотров:
    822

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