Получение данных из Web-сервиса 1С в php, с авторизацией логином и паролем на кириллице

01.08.19

Интеграция - WEB-интеграция

В рамках задачи получения данных из 1С средствами web-сервиса, часто возникает потребность авторизации на web-сервисе под учетными данными уже существующих пользователей. Но так как "логины" и "пароли" уже занесены в кириллической раскладке, возникает ошибка авторизации, в то время как логины в латинской раскладке работают корректно. Это возникает из-за того что кодировка текста (логина и пароля) отличается от той что понимает web-сервис 1С (UTF-8).

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
получение данных из Web-сервиса 1С в php, с авторизацией логином и паролем на кириллице:
.zip 0,81Kb
3 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Для решения данной проблемы, необходимо при создании экземпляра класса "SoapClient" в "stream_context" передать "правильный" заголовок с данными авторизации "Authorization".

Формирование "правильной" строки авторизации: 

$base64LoginData = base64_encode(iconv(mb_detect_encoding($login, mb_detect_order(), true), "UTF-8", $login).":".iconv(mb_detect_encoding($password, mb_detect_order(), true), "UTF-8", $password)); 

В прикрепленном файле находится пример PHP класса, который выполняет авторизацию и вызов метода web-сервиса с возвратом данных в формате JSON.

 
 Пример использования

 require('web_service.php');

$_SESSION["login"] = "Администратор";
$_SESSION["password"] = "йцукен";

$dataArray = array("Name" => "Имя1", "Data" => "Значение1");
$jsonString = json_encode($dataArray, JSON_UNESCAPED_UNICODE);    
$soapResult = $ws_client->call("GetData", array("RefListMod" => $_POST['sys_lref'], "Ref" => $_POST['sys_ref'], "Data" => $jsonString));

if ($soapResult["result"])
{
    $soapString = str_replace("\n", "", $soapResult["data"]->return);
    $jsonData = json_decode($soapString);
}

 

Вступайте в нашу телеграмм-группу Инфостарт

PHP SOPA WSDL авторизация ошибка

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24040    37    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22762    68    52    

43

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    42680    76    45    

31

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    5999    25    4    

27

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2527    6    6    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pawellkrv 29 06.02.25 16:56 Сейчас в теме
А вызов в командной строке как сделать, чтобы запрашивало авторизацию
Для отправки сообщения требуется регистрация/авторизация