Тема: LotusScript агент, обращающийся к веб-сервису.
Пример 1.
Делаем простейший агент, который обращается к вебсервису и получает какой-то ответ от него.
Вот адресс вебсервиса:
webservicex.net/stockquote.asmx?WSDL
В лотусе в клиенте не ниже 9 версии, создаем новый "web service consumers", импортируем WSDL файл от существующего вебсервиса, вставив ссылку вебсервиса - пункт "URL that points to a WSDL file".
Получаем такой сгенерированный лотусом код:
%INCLUDE "lsxsd.lss"
Const n0 = "http://_.webserviceX.NET/"
Class StockQuoteSoap_n0 As PortTypeBase
Sub NEW
Call Service.Initialize ("HttpWwwWebserviceXNETStockQuote", _
"StockQuote.StockQuoteSoap", "http://_.webservicex.net/stockquote.asmx", _
"StockQuoteSoap_n0")
End Sub
Function GetQuote(symbol As XSD_STRING) As XSD_STRING
Set GetQuote = Service.Invoke("GetQuote", symbol)
End Function
End Class
Далее создаем агент на LotusScript, который на любой запрос отвечает словом "исключение / exceptoin".
Option Public
Option Declare
Use "web"
Sub Initialize
On Error GoTo er
Print "weebtest"
'Dim ws As NotesUIWorkspace
Dim sq As New StockQuoteSoap_n0()
Dim symbol As String
symbol= "JAVA" ' любой текст - запрос в вебсервис
Dim sh As New XSD_STRING()
Call sh.setValueFromString(symbol)
Set sh = sq.GetQuote(sh) ' GetQuote - вызываемая функция в вебсервисе
Print "ответ вебсервиса: " & sh.getValueAsString()
Print "END weebtest"
Exit Sub
er:
Print "Произошла ошибка " & Error$ & " в строке "& CStr(Erl)
Exit Sub
End Sub