CallMethodXML — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
== Описание ==
 
== Описание ==
Вызов методов модуля плагина c авторизацией( с имеющимся идентификатором сессии - '''account_id''' ). Предназначен для вызовов из интегрируемых систем, работающих с xml, таких как 1C или SAP.
+
Вызов методов модуля плагина c авторизацией( с имеющимся идентификатором сессии - '''session_id ''' ). Предназначен для вызовов из интегрируемых систем, работающих с xml, таких как 1C или SAP.
  
 
== Параметры ==
 
== Параметры ==
 
* {{Шаблон:ApiParam|query_id|1|строка|uuid для идентификации вызова метода}}
 
* {{Шаблон:ApiParam|query_id|1|строка|uuid для идентификации вызова метода}}
 
* {{Шаблон:ApiParam|guid_module|1|строка|uuid модуля полученный через GetModule()}}
 
* {{Шаблон:ApiParam|guid_module|1|строка|uuid модуля полученный через GetModule()}}
 +
* {{Шаблон:ApiParam|module_method |1|строка|Имя вызываемого метода модуля}}
 
* {{Шаблон:ApiParam|parameters_module_method|1|строка|json с параметрами, сериализованный в строку}}
 
* {{Шаблон:ApiParam|parameters_module_method|1|строка|json с параметрами, сериализованный в строку}}
 
* {{Шаблон:ApiParam|account_id|1|строка| идентификатором сессии, полученный при регистрации}}
 
* {{Шаблон:ApiParam|account_id|1|строка| идентификатором сессии, полученный при регистрации}}
 
== Результат ==
 
== Результат ==
Результат следует ожидать через вызов функции ReadAllXml2()
+
Работа с ExtSdk2 осуществляется асинхронно, поэтому ответ следует ждать через вызов функции [[ReadAllXml2|ReadAllXml2]]. Более подробное о получении ответов и видах событий см. в статье [[Виды_событий_-_Сценарии_ExtSdk2|Виды событий]].
В результате должно прийти событие Message, у которого в Result лежит 'результат работы вызываемого метода
+
В результате должно прийти событие [[Виды_событий_-_Сценарии_ExtSdk2#Примеры ответов от модуля#Message|Message]], у которого в Result лежит 'результат работы вызываемого метода.
  
 
== Пример успешного вызова ==
 
== Пример успешного вызова ==
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
CallMethodXML( query_id, guid_module, module_method, parameters_module_method, account_id )
+
 
 +
query_id = str(uuid.uuid4())
 +
module_method = "ExtSdk2.WriteDocument"
 +
parameters_module_method = "<object><object name="Document"></object></object>"
 +
 
 +
CallMethodXML( query_id, guid_module, module_method, parameters_module_method, session_id )
 +
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
== Ответ ==
 +
 +
 
[[Категория:OLE ExtSdk2]]
 
[[Категория:OLE ExtSdk2]]

Текущая версия на 11:26, 21 июля 2021

Описание

Вызов методов модуля плагина c авторизацией( с имеющимся идентификатором сессии - session_id ). Предназначен для вызовов из интегрируемых систем, работающих с xml, таких как 1C или SAP.

Параметры

  • query_id ! (строка) - uuid для идентификации вызова метода
  • guid_module ! (строка) - uuid модуля полученный через GetModule()
  • module_method ! (строка) - Имя вызываемого метода модуля
  • parameters_module_method ! (строка) - json с параметрами, сериализованный в строку
  • account_id ! (строка) - идентификатором сессии, полученный при регистрации

Результат

Работа с ExtSdk2 осуществляется асинхронно, поэтому ответ следует ждать через вызов функции ReadAllXml2. Более подробное о получении ответов и видах событий см. в статье Виды событий. В результате должно прийти событие Message, у которого в Result лежит 'результат работы вызываемого метода.

Пример успешного вызова

query_id = str(uuid.uuid4())
module_method = "ExtSdk2.WriteDocument"
parameters_module_method = "<object><object name="Document"></object></object>"

CallMethodXML( query_id, guid_module, module_method, parameters_module_method, session_id )

Ответ