Копировать ссылку на страницу

Чтобы создать метод веб-сервиса, определите метод Public класса сервиса и пометьте его атрибутом WebMethod.

Пример

 

''' <summary>
''' Сложение двух целочисленных значений.
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
<WebMethod>
Public Function HelloWorld() As WebServiceResponse(Of String)
   Return WebServiceResponse(Of String).OK("HelloWorld")
End Function

Только для методов, помеченных атрибутом WebMethod, и их параметров будет сгенерировано WSDL-описание, поэтому только о них будет известно клиентскому приложению.

Методы сервиса могут принимать как параметры и возвращать результатом любые значимые типы данных, массивы этих типов, структуры и классы, состоящие из этих типов. Таким образом, веб-сервис умеет работать с любым типом данных, который может быть сериализован в XML или JSON.

Для работы с сервисами используется пространство имен WebAccess.services.

Функции WebAccess.services представлены в таблице:

Имя функции

Возвращаемое значение

Описание

call(service_method, opt_params, opt_spinnerText, opt_onCompleteSpinnerText, opt_hideError, opt_hideWarning)

deferred-объект

Вызвать метод веб-сервисов

callSync(service_method, opt_params, opt_spinnerText, opt_onCompleteSpinnerText, opt_hideError, opt_hideWarning)

deferred-объект

Выполнить синхронный вызов методов веб-сервисов, т.е. пока не закончится выполнение веб-сервиса, метод не запустится

В обеих функциях в методы done и error можно передать функции обратного вызова, которые выполняются тогда, когда будет получен ответ от сервиса. Если операции веб-сервиса прошли без сбоев, то будет вызвана функция, переданная в метод done данного deffered-объекта. Иначе будет вызвана функция, переданная в метод еrror. Полный ответ сервиса можно получить, обратившись к контексту this внутри функции callback.

Вызов метода веб-сервиса

 

WA.SRV.call('Planning.asmx/HelloWorld').done(function(response) { alert(response)});
 
WA.SRV.call('/Planning.asmx/SendForExecution', {RecordID: 146336}).done(function( response) {alert(response)})

Вызов сценария DIRECTUM

 

WA.services.call("/Script.asmx/Run",{Name:"WADemoTest","Params": {"id": 10} }).error(function(errorText) { ShowDialog(errorText); } );

Вызов сценария

 

WA.services.script.run()

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM