Задача:
Из внешней базы (сайт) необходимо отправлять произвольную строку в 1С.
Для этого в 1С необходимо создать новый веб-сервис.
Входной параметр - просто строка. Обычно JSON.
Действия с полученными данными: простая запись в регистр сведений.
Проблемы:
Простой GET запрос не работает, веб-сервис не вызывается.
https://myComp.com/myDb/ws/export.1cws?param=Hello
Требуется авторизация. => POST-запрос.
Решение:
В 1С создаем новый веб-сервис:
Публикуем на веб-сервере:
Рабочий пример отправки запроса с помощью CURL:
curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:" -d @request.xml -X POST https://myComp.com/myDb/ws/export.1cws -k -u {user}:{password}
Файл request.xml
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><Ping xmlns="http://www.myComp.com/myDb/Export"><Data>Hello</Data></Ping></soap:Body></soap:Envelope>
Ответ:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<m:PingResponse xmlns:m="http://www.ileasing.by/sales2/Export">
<m:return xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">{"status":"ok","text":""}</m:return>
</m:PingResponse>
</soap:Body>
</soap:Envelope>

