|
Пытаюсь подключиться к web-сервису Post запросом.Выдает ошибку 404 |
☑ |
0
Ivan_495
11.07.19
✎
10:01
|
Пытаюсь подключиться к web-сервису Post запросом.Выдает ошибку 404. Знатоки подскажите , что делаю не так?
|
|
1
Ivan_495
11.07.19
✎
10:02
|
ИмяПользователя="";
Пароль="";
СтрокаSOAP="<soapenv:Envelope xmlns:soapenv=""schemas.xmlsoap.org/soap/envelope/"" xmlns:urn=""urn:org.gs1ru.gs46.intf"">
|<soapenv:Header/>
|<soapenv:Body>
|<urn:GetDictionary>
|<urn:src>GS46NEW</urn:src>
|<urn:dictId>WEB_90001690</urn:dictId>
|<urn:lang>ru</urn:lang>
|<urn:noCache>0</urn:noCache>
|</urn:GetDictionary>
|</soapenv:Body>
|</soapenv:Envelope>";
// Описываем заголовки HTTP-запроса
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "text/xml;charset=UTF-8");
Заголовки.Вставить("SOAPAction", ";);
Заголовки.Вставить("Authorization", "Basic "+ПолучитьBase64ЗаголовокАвторизации(ИмяПользователя, Пароль));
// Подключаемся к сайту.
Соединение = Новый HTTPСоединение("srs.gs1ru.org/GS46_Interfaces/GS1RU_Operations",,ИмяПользователя, Пароль); // Адрес должен быть без https://
// Получаем текст корневой страницы через POST-запрос.
HTTPЗапрос = Новый HTTPЗапрос("/GetDictionary", Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаSOAP);
Результат = Соединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
КонецПроцедуры
Функция ПолучитьBase64ЗаголовокАвторизации(ИмяПользователя, Пароль)
КодировкаФайла = КодировкаТекста.UTF8;
ВременныйФайл = ПолучитьИмяВременногоФайла();
Запись = Новый ЗаписьТекста(ВременныйФайл, КодировкаФайла);
Запись.Записать(ИмяПользователя+":"+Пароль);
Запись.Закрыть();
ДвДанные = Новый ДвоичныеДанные(ВременныйФайл);
Результат = Base64Строка(ДвДанные);
УдалитьФайлы(ВременныйФайл);
Результат = Сред(Результат,5);
Возврат Результат;
КонецФункции
|
|
2
Ivan_495
11.07.19
✎
10:03
|
Ошибка
Error 404--Not Found
>The server has not found anything matching the Request-URI.
No indication is given of whether the condition is temporary or permanent.
|
|
3
mikecool
11.07.19
✎
10:19
|
404 это ресурс не найден, адрес в браузере открывается?
|
|
4
mikecool
11.07.19
✎
10:20
|
встречный вопрос - откуда берутся строки soap запросов? есть какой то генератор?
|
|
5
mikecool
11.07.19
✎
10:21
|
в соединение, имхо, надо только "корень" оставить "srs.gs1ru.org", остальную часть в запрос добавить
|
|
6
Ivan_495
11.07.19
✎
11:20
|
исправил
Соединение = Новый HTTPСоединение("srs.gs1ru.org",,ИмяПользователя, Пароль);
HTTPЗапрос = Новый HTTPЗапрос("/GS46_Interfaces/GS1RU_Operations", Заголовки);
выдает ошибку 500
Couldn't create SOAP message. Expecting Envelope in namespace , but got schemas.xmlsoap.org/soap/envelope/ </faultstring></ns0:Fault></S:Body></S:Envelope>
|
|
7
Ivan_495
11.07.19
✎
11:21
|
да строки тестовые от интегратора
|
|
8
Ivan_495
11.07.19
✎
12:04
|
разобрался с ошибками
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший