Группа: Местный
Сообщений: 264
Спасибо сказали: 70 раз
Рейтинг: 0
Пишу обмен с сайтом на движке OWOX. Столкнулся с переносом/обновлением остатков - очень сложных механизм. Есть кто нибудь кто делал подобное? Может хоть посоветуюсь...
после двухдневного рысканья по интернету решил делать так: все, что заключено в boundary (то есть текст шаблона между строками "--onesboundarydelimiter" и "--onesboundarydelimiter--") записываю в файл "C:\1c8\otpravka.xml". Далее делаю в 1С HTTPЗапрос, отправляю его через HTTPСоединение.ОтправитьНаОбработку (метод POST), вуаля. Вот мой текст модуля:
//ЗАДАЕМ НЕОБХОДИМЫЕ ПЕРЕМЕННЫЕ...
//а) Разделитель (Boundary) - может быть любая уникальная строка, будем считать что это GUID константы, она неизменная Boundary = СтрЗаменить(Константы.ВалютаУправленческогоУчета.Получить().УникальныйИдентификатор(), "-", "");
//б) Размер файла отправки ФайлОтправки = Новый Файл("C:\1c8\otpravka.xml"); РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
//1. УСТАНАВЛИВАЕМ СОЕДИНЕНИЕ С СЕРВЕРОМ... Сервер = "api.testm.mysite.ua"; ИмяПользователя = "demo"; Пароль = "mypassword";
Соединение = Новый HTTPСоединение(Сервер,,ИмяПользователя,Пароль);
//б) сам запрос Запрос = Новый HTTPЗапрос("/Goods",Заголовки); Запрос.УстановитьИмяФайлаТела("C:\1c8\otpravka.xml");
//3. ОТПРАВЛЯЕМ ЗАПРОС НА СЕРВЕР МЕТОДОМ POST СРЕДСТВАМИ 1С... Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ТекстОтвета = Ответ.ПолучитьТелоКакСтроку();
ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(ТекстОтвета);//выведем ответ от сервера в поле формы
Получаю текст ответа : Internal Server Error Сервер временно недоступен по техническим причинам. Пожалуйста, зайдите позже. Хотя через advanced REST Client - дополнение Google chrome запрос отправляется норм. Что Я Делаю Не Так? Понимаю, что многабукав, но все таки, если разберемся, будет неплохой опыт читателям форума...
Группа: Местный
Сообщений: 264
Спасибо сказали: 70 раз
Рейтинг: 0
Вобщем, проблема была в кириллице. Не так просто в моем случае оказалось скормить мой xml-файл который вмещает строки на кириллице (сформированный с помощью ЗаписьXML) объекту HTTPЗапрос. Обошел проблему таким образом: Сначала читаю файл в текстовыйДокумент, обязательно с виндовс кодировкой!
ФайлДляПередачи = Новый ТекстовыйДокумент; ФайлДляПередачи.Прочитать(имяФайлаОтправки, КодировкаТекста.ANSI);
Затем устанавливаю полученный текст как тело HTTPЗапроса:
Группа: Пользователи
Сообщений: 5
Спасибо сказали: 0 раз
Рейтинг: 0
Доброго времени суток!
Так же, пишу обмен 1С с сайтом на базе OWOX
И столкнулся с проблемой корректной отправки HTTPзапросов.
Программисты сайта как-то не охотно идут на контакт.
Хочу спросить, на Ваш взгляд, где у меня ошибка:
Ответ сервера:
Цитата
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>500 Internal Server Error</title> </head><body> <h1>Internal Server Error</h1> <p>Сервер временно недоступен по техническим причинам. Пожалуйста, зайдите позже.</p> <hr> {prod SERVER} </body></html>
Группа: Пользователи
Сообщений: 25
Спасибо сказали: 2 раз
Рейтинг: 0
Доброго времени суток!
Где можно посмотреть документацию по owox. Есть доступы к документации, там текст "Взаимодействие с внешними системами (API)
API - то функционал работы с данными модуля через обращение по URL. Нужно для того, чтобы клиент мог интегрировать интернет—магазин в его бизнес. Самый просто пример — актуализировать статус заказа после его обработки в 1С.
OwoxEngine дает возможность взаимодействовать с сиcтемой по двум стандартам XML-RPC и REST. " и т.п. Вот а какие реквизиты брать, к чему обращаться непонятно. По каким мануалам пишите господа, по какому принципу.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!