|
Настройка обмена со сторонним web сервисом | ☑ | ||
---|---|---|---|---|
0
Dimban
23.09.19
✎
10:46
|
Добрый день форумчане.
Настраиваю обмен 1С с вэб сервисом. Поставщик сервиса предоставил их 2: LoginWSService - получение ID сесии и WebServService - непостредственно роабота с данными. В документации написано, что прежде чем вызывать методы WebServService необходимо войти в сеанс с помощью сервиса LoginWSService. Предоставили пример реализации на C#. Помогите перевести с языка C# на язык 1С, как это реализовать. К сервису LoginWSService обращаюсь успешно, получаю ID сесии. Непонятно, как сервису WebServService указать работать в рамках этой сесии. Вот пример вызова метода ConsEnvEstados web сервиса WebServService. C# WebService.WebServService wsWebService = new WebService.WebServService(); wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader(); wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--; string xmlResult = wsWebService.ConsEnvEstados("agencia-cargo", "agencia-origen", "albaran"); |
|||
1
Dimban
23.09.19
✎
11:59
|
Вот ссылка на документацию, чтобы было ясней
https://drive.google.com/open?id=1pWfAwEyOfn5tVI6pwkF0fUwJhWxOkOjH |
|||
2
DrWatson
23.09.19
✎
12:10
|
А login ты как посылал?
|
|||
3
Dimban
23.09.19
✎
12:15
|
НаименованиеВебСервиса = "LoginWSService";
НаименованиеПорта = "LoginWSServicePort"; ВебСервис = WSСсылки.Envialia_LoginWSService.СоздатьWSПрокси(InputParam.URI, НаименованиеВебСервиса, НаименованиеПорта); ВебСервис.LoginCli2(InputParam.strCodAge, InputParam.strCliente, InputParam.strPass, OutputParam.Result, OutputParam.strCodAgeOut, OutputParam.strCod, OutputParam.strNom, OutputParam.strCodCR,OutputParam.strTipo, OutputParam.strVersion, OutputParam.strError, OutputParam.strSesion, OutputParam.strURLDetSegEnv); В параметр OutputParam.strSesion возвращается примерно такая строка {C5C720BF-94B9-4F64-A93C-F1E14FD5E9E4} |
|||
4
mzelensky
23.09.19
✎
12:20
|
(0) Не знаю как сейчас, на свежих платформах, но раньше реализовать подобное было нельзя, т.к. 1С-ка не хранит куки\сессии по веб-сервисам.
Каждый запрос - свое отдельное государство со своей авторизацией и набором данных. |
|||
5
DrWatson
23.09.19
✎
12:29
|
(3) Не нашел решение, если вызывать метод через WSПрокси.
Попробуй через вариант: Other possibility of use for languages that do not support .wsdl consists in launching a POST petition to the desired address and port, passing a XML carrying input data, and the server will return the output data. |
|||
6
Dimban
23.09.19
✎
12:45
|
Видимо придется. А так хотелось облегчить себе жизнь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |