<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум компьютерной помощи &mdash; LotusScript агент, обращающийся к веб-сервису.]]></title>
		<link>https://itpmr.ru/viewtopic.php?id=974</link>
		<atom:link href="https://itpmr.ru/extern.php?action=feed&amp;tid=974&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «LotusScript агент, обращающийся к веб-сервису.».]]></description>
		<lastBuildDate>Thu, 14 Apr 2016 12:03:35 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: LotusScript агент, обращающийся к веб-сервису.]]></title>
			<link>https://itpmr.ru/viewtopic.php?pid=124535#p124535</link>
			<description><![CDATA[<p>Хотим послать с лотуса данные не на вебсервис, а как некий урл страничку в интернете.<br />Изначально проверяем, открывается ли страничка сайта в эксплорере.</p><p>Запрос из LotusScript к веб странице с помошью Msxml2.XMLHTTP&nbsp; - GET метод.</p><div class="codebox"><pre><code>Sub Click(Source As Button)
    
    Dim xml As String
    Dim xmlhttp As Variant
    Set xmlhttp = CreateObject(&quot;Msxml2.XMLHTTP&quot;)
    Set DOMDocument = CreateObject(&quot;MSXML2.DOMDocument&quot;)
    xml = |https://192.168./api/v1/execute_query?username=ebn@gos&amp;password=123&amp;pact_id=42&amp;query={&quot;FullName&quot;:&quot;Шериф&quot;}|
    Call xmlhttp.open(&quot;GET&quot;,xml, False,&quot;&quot;,&quot;&quot;)
    Call xmlhttp.send()
    readyState = xmlhttp.readyState
    getAllResponseHeaders = xmlhttp.getAllResponseHeaders()
    responseText = xmlhttp.responseText
    Set DOMDocument = xmlhttp.responseXML
    domtext =   DOMDocument.text
    Status =  xmlhttp.Status    &#039; 12029 для ошибки &quot;cannot connect&quot;.
End Sub</code></pre></div><p>POST метод.</p><div class="codebox"><pre><code>Sub Click(Source As Button)
    On Error Goto ErrH
    Dim xml As Variant
    Dim xmlhttp As Variant
    Set xmlhttp = CreateObject(&quot;Msxml2.XMLHTTP&quot;)
    &#039;Set DOMDocument = CreateObject(&quot;MSXML2.DOMDocument&quot;)
    
    Call xmlhttp.open(&quot;POST&quot;,&quot;https://192.168./api/v1/execute_query&quot;, False,&quot;&quot;,&quot;&quot;)
    Call xmlhttp.setRequestHeader (&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;)
    Call xmlhttp.setRequestHeader (&quot;User-Agent&quot;, &quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&quot;)
    
    xml =  |username=ebn@gos&amp;password=123&amp;pact_id=42&amp;query={&quot;FullName&quot;:&quot;Шер&quot;}|
    Call xmlhttp.send (xml)
    readyState = xmlhttp.readyState
    Status =  xmlhttp.Status
    If Status = 200 Then &#039; ответ веб сервера - всё ок
        getAllResponseHeaders = xmlhttp.getAllResponseHeaders()
        responseText = xmlhttp.responseText
        ok = Instr(responseText, &quot;Запрос получен успешно0&quot;)        
        If ok&gt;1 Then
            Msgbox responseText
        End If
    &#039;Set DOMDocument = xmlhttp.responseXML
    &#039;domtext =   DOMDocument.text
    End If
    Exit Sub
ErrH:
    Errmy$ = &quot;Ошибка: &quot; &amp; Error(Err) &amp; &quot; в строке &quot; &amp; Erl
End Sub</code></pre></div><p>Где<br />&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot; - кодировка запроса<br />&quot;User-Agent&quot;, &quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&quot;&nbsp; - юзер агент</p><p> readyState - Номер состояния запроса 0 - Unitialized 1 - Loading 2 - Loaded 3 - Interactive &nbsp; &nbsp; 4 - Complete<br />status -&nbsp; 200 - OK, 404 - Not Found</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Thu, 14 Apr 2016 12:03:35 +0000</pubDate>
			<guid>https://itpmr.ru/viewtopic.php?pid=124535#p124535</guid>
		</item>
		<item>
			<title><![CDATA[Re: LotusScript агент, обращающийся к веб-сервису.]]></title>
			<link>https://itpmr.ru/viewtopic.php?pid=124532#p124532</link>
			<description><![CDATA[<p>Пример 3. Агент посылает вебсервису UNID документа, получает по нему поле документа - &quot;название&quot; / FULLNAME.</p><p>Web service consumers:<br /></p><div class="codebox"><pre><code>Class ULNAMEARRAY As XSD_ANYTYPE
    Public MAINMASSIV() As POLIAYURL
End Class

Class POLIAYURL As XSD_ANYTYPE
    Public FULLNAME As String
    Public SHORTNAME As String
.....
Class Yurclass As PortTypeBase
    
    Sub NEW
        Call Service.Initialize (&quot;UrnDefaultNamespaceYurclassService&quot;, _
        &quot;YurclassService.Domino&quot;, &quot;http://192.168:80/GSse/ArhJ.nsf/YurServiceGTKbyID?OpenWebService&quot;, _
        &quot;Yurclass&quot;)
        Call Service.SetCredentials(&quot;LOGIN&quot;, &quot;123123123&quot;)
    End Sub
    
    Function GETFK(FKOD As String, YURNAME As String, REGNUM As String, SERPASSP As String, _
    NUMPASSP As String, FIO As String, UNIDSALL As String, FPREDPREEM As Integer, FRESP As Integer) As ULNAMEARRAYLITE
        Set GETFK = Service.Invoke(&quot;GETFK&quot;, FKOD, YURNAME, REGNUM, SERPASSP, NUMPASSP, FIO, UNIDSALL, FPREDPREEM, FRESP)
    End Function

Function GETULBYID(ULUNID As String, ULUNIDSALL As String) As ULNAMEARRAY
        Set GETULBYID = Service.Invoke(&quot;GETULBYID&quot;, ULUNID, ULUNIDSALL)
    End Function</code></pre></div><p>Код агента:</p><div class="codebox"><pre><code>Option Public
Option Declare

Use &quot;GTK&quot;
Sub Initialize
    On Error GoTo er    
    Print &quot;GTK Initialize&quot;
    Dim session As New NotesSession, db As NotesDatabase
    dim arg As New XSD_String
    Dim otv As ULNAMEARRAY
    Dim objectclass As New Yurclass ()
    Dim Ulunid As String, Ulunidsall As String
 
    Ulunid=&quot;1017E32767EE3511C22579B80048B293&quot;
    Ulunidsall = &quot;&quot;    
    arg.Setvaluefromstring(Ulunid)
    arg.Setvaluefromstring(Ulunidsall)
    
    Set otv = objectclass.Getulbyid(Ulunid, Ulunidsall)
    Print otv.Mainmassiv(0).FULLNAME
    Print &quot;УРА - GTK  агент  отработал!&quot;
    Exit Sub
er:
    Print &quot;Произошла ошибка &quot; &amp; Error$ &amp; &quot; в строке &quot;&amp; CStr(Erl)    
End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Mon, 11 Apr 2016 05:22:19 +0000</pubDate>
			<guid>https://itpmr.ru/viewtopic.php?pid=124532#p124532</guid>
		</item>
		<item>
			<title><![CDATA[Re: LotusScript агент, обращающийся к веб-сервису.]]></title>
			<link>https://itpmr.ru/viewtopic.php?pid=124516#p124516</link>
			<description><![CDATA[<p>Пример 2.&nbsp; Агент послвает два числа X1 и X2 на вебсервис, в ответ получает их сумму.</p><p>WSDL - web service consumers:</p><div class="codebox"><pre><code>%INCLUDE &quot;lsxsd.lss&quot;
Class LicInfo As PortTypeBase
    
    Sub NEW
        Call Service.Initialize (&quot;UrnDefaultNamespaceLicInfoService&quot;, _
        &quot;LicInfoService.Domino&quot;, &quot;http://ju....../licInfo?OpenWebService&quot;, &quot;LicInfo&quot;)
        
    End Sub
    
    Function SUM(X1 As Integer, X2 As Integer) As Integer
        Let SUM = Service.Invoke(&quot;SUM&quot;, X1, X2)
    End Function
    
End Class</code></pre></div><p>Код агента:</p><div class="codebox"><pre><code>Option Public
Option Declare
Use &quot;licenz&quot;

Sub Initialize
    On Error GoTo er
    Print &quot;агент LITC Initialize&quot;
    Dim session As New NotesSession, db As NotesDatabase
    
    Dim otvet As Integer
    Dim objectclass As New LicInfo ()
    Dim argument As New Xsd_integer
    
    Dim X1 As Integer, X2 As Integer 
    X1 = 1
    X2 = 2    
    argument.Setvaluefromstring(X1)
    argument.Setvaluefromstring(X2)

otvet =  objectclass.SUM(X1,X2) 
    Print &quot;ответ: &quot; &amp; CStr(otvet)
    Print &quot;LITC отработал&quot;
    Exit Sub    
er:
    Print &quot;Произошла ошибка &quot; &amp; Error$ &amp; &quot; в строке &quot;&amp; CStr(Erl)
    Exit Sub    
End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Wed, 30 Mar 2016 07:55:03 +0000</pubDate>
			<guid>https://itpmr.ru/viewtopic.php?pid=124516#p124516</guid>
		</item>
		<item>
			<title><![CDATA[LotusScript агент, обращающийся к веб-сервису.]]></title>
			<link>https://itpmr.ru/viewtopic.php?pid=124515#p124515</link>
			<description><![CDATA[<p>Пример 1.</p><p>Делаем простейший агент, который обращается к вебсервису и получает какой-то ответ от него.<br />Вот адресс вебсервиса:<br />webservicex.net/stockquote.asmx?WSDL</p><p>В лотусе в клиенте не ниже 9 версии, создаем новый&nbsp; &quot;web service consumers&quot;, импортируем WSDL файл от существующего вебсервиса, вставив ссылку вебсервиса - пункт &quot;URL that points to a WSDL file&quot;.<br />Получаем такой сгенерированный лотусом код:</p><div class="codebox"><pre><code>%INCLUDE &quot;lsxsd.lss&quot;
Const n0 = &quot;http://_.webserviceX.NET/&quot;
Class StockQuoteSoap_n0 As PortTypeBase
    
    Sub NEW
        Call Service.Initialize (&quot;HttpWwwWebserviceXNETStockQuote&quot;, _
        &quot;StockQuote.StockQuoteSoap&quot;, &quot;http://_.webservicex.net/stockquote.asmx&quot;, _
        &quot;StockQuoteSoap_n0&quot;)
        
    End Sub
    
    Function GetQuote(symbol As XSD_STRING) As XSD_STRING
        Set GetQuote = Service.Invoke(&quot;GetQuote&quot;, symbol)
    End Function
    
End Class</code></pre></div><p>Далее создаем агент на LotusScript, который на любой запрос отвечает словом &quot;исключение / exceptoin&quot;.</p><div class="codebox"><pre><code>Option Public
Option Declare
Use &quot;web&quot;

Sub Initialize
    On Error GoTo er
    Print &quot;weebtest&quot;
    &#039;Dim ws As  NotesUIWorkspace
    Dim sq As New StockQuoteSoap_n0()
    Dim symbol As String
    symbol= &quot;JAVA&quot; &#039; любой текст - запрос в вебсервис
    Dim sh As New XSD_STRING()
    Call sh.setValueFromString(symbol)
    Set sh = sq.GetQuote(sh) &#039; GetQuote - вызываемая функция в вебсервисе
    Print  &quot;ответ вебсервиса: &quot; &amp; sh.getValueAsString()
    Print &quot;END weebtest&quot;
    Exit Sub    
er:
    Print &quot;Произошла ошибка &quot; &amp; Error$ &amp; &quot; в строке &quot;&amp; CStr(Erl)
    Exit Sub    
End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Wed, 30 Mar 2016 06:30:02 +0000</pubDate>
			<guid>https://itpmr.ru/viewtopic.php?pid=124515#p124515</guid>
		</item>
	</channel>
</rss>
