Представляю две функции для работы с веб-сервисами из системы DIRECTUM: UDL_XMLHTTPSendSOAPRequest, UDL_WinHTTPSendSOAPRequest
Функция UDL_XMLHTTPSendSOAPRequest для вызова методов веб-сервиса использует объект MSXML2.XMLHTTP (выполняет POST запрос)
Возможности функции:
Пример вызова:
WebServiceURL = "http://directum:8080/IntegrationService.svc/datacontract"
Host = "directum:8080"
SOAPAction = "GetEntity"
Message = '<soapenv:envelope xmlns:ns="http://docs.npo-comp.ru/IntegrationServices/5.0/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:header>
<soapenv:body>
<ns:getentity>
<ns:referencename>Организации</ns:referencename>
<ns:recordkey>51891719-0774-4C55-B7D8-7DBEB6BC9A0F</ns:recordkey>
<ns:iscode>1С</ns:iscode>
</ns:getentity>
</soapenv:body>
</soapenv:header></soapenv:envelope>'
// Отправить SOAP запрос
Response = UDL_XMLHTTPSendSOAPRequest(WebServiceURL; Host; SOAPAction; Message; False)
Функция UDL_WinHTTPSendSOAPRequest для вызова методов веб-сервиса использует объект WinHttp.WinHttpRequest.5.1 (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384106(v=vs.85).aspx) (выполняет POST запрос). Функции во много похожи, отличие заключается в работе с клиентским сертификатом (есть возможность указать конкретный сертификат).
Возможности функции:
Пример вызова:
WebServiceURL = "http://directum:8080/IntegrationService.svc/datacontract"
Host = "directum:8080"
SOAPAction = "GetEntity"
Message = '<soapenv:envelope xmlns:ns="http://docs.npo-comp.ru/IntegrationServices/5.0/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:header>
<soapenv:body>
<ns:getentity>
<ns:referencename>Организации</ns:referencename>
<ns:recordkey>51891719-0774-4C55-B7D8-7DBEB6BC9A0F</ns:recordkey>
<ns:iscode>1С</ns:iscode>
</ns:getentity>
</soapenv:body>
</soapenv:header></soapenv:envelope>'
// Отправить SOAP запрос
Response = UDL_WinHTTPSendSOAPRequest(WebServiceURL; Host; SOAPAction; Message; False)
Архив с функциями:
Функции для веб-сервисов.zip (7,09 Кб)
А что такое <ns:recordkey>51891719-0774-4C55-B7D8-7DBEB6BC9A0F</ns:recordkey> ?
Для справочника "организации", для записи "1С" - я знаю "код" и "ИД". Что такое "recordkey" и где его брать ?
Авторизуйтесь, чтобы написать комментарий