Имя: Пароль:
1C
1C 7.7
v7: Проблема с получением данных от сервера HTTP
0 maestro-72
 
03.02.16
22:16
Проблема в том, что приходящий файл содержит кириллицу, а в заголовке указан формат utf-8. Меняю заголовок на windows-1251 начинает читаться но...

Данные=ВсеУзлы.ПолучитьУзел(0);
{D:\1CBASE\DB\EXTFORMS\ЗАГРУЗКА ЗАЯВОК ИЗ EDI.ERT(351)}: Выход за границы массива

Читать пытался по разному
вот так например:
Ответ =x.ResponseText;
Ответ = СтрЗаменить(Ответ, "utf-8", "Windows-1251");
        
//Результат = x.responseXML;
    
Анализатор = СоздатьОбъект("AddIn.XMLParser");
    
Файл=Анализатор.СоздатьДокумент();
Файл.ЗагрузитьИзСтроки(Ответ);
    
ВсеУзлы=Файл.ВыбратьУзлы("RetRes");
Данные=ВсеУзлы.ПолучитьУзел(0);

Вообще загрузить надо это:
Привожу только начало (Формат EDI)

<RetRes>
<Res>00000000</Res>
<Cnt>
<relation-response><relation><relation-id>349201</relation-id><partner-iln>4606038000003</partner-iln>
1 франц
 
03.02.16
22:30
а может все таки веб-сервисы нужно использовать?. нет?
2 Garykom
 
гуру
03.02.16
22:32
(1) у ТСа проблемы с brain
3 Garykom
 
гуру
03.02.16
22:34
(0) >приходящий файл содержит кириллицу, а в заголовке указан формат utf-8

содержит кириллицу в какой кодировке входящий файл?
посмотреть можно Total Commander'ом к примеру
4 maestro-72
 
04.02.16
07:37
(3) Приходящий файл посмотреть нельзя пока в заголовке не укажешь нужную кодировку.
5 cw014
 
04.02.16
07:40
(4) Да ладно? Блокноты отменили?
6 maestro-72
 
04.02.16
07:56
(5) А что Блокноты? Я в нем и меняю, после этого файл можно открыть, например, в браузере и он его корректно отображает. Если ничего не менять и пытаться открыть в том же браузере то выходит ошибка - в комментарии содержится недопустимый символ.
7 Mikeware
 
04.02.16
08:06
Это CISLink, чтоль?
8 maestro-72
 
04.02.16
08:26
(7) Мы с корусом...
9 maestro-72
 
04.02.16
08:27
Я вот отсюда идею взял, но это под 8 а мне под 77 надо
http://catalog.mista.ru/public/189959/
10 maestro-72
 
04.02.16
08:28
И вроде ответ приходи и разобрать не получается. Уже не первый подход совершаю в этом направлении, и все никак...
11 maestro-72
 
04.02.16
08:32
Вот таким запросом пытаюсь. Я поглядел свежим взглядом и подумал может везде кодировку поменять на виндовс?
    
Парам="<?xml version=""1.0"" encoding=""utf-8""?>
    |<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""; xmlns:xsd=""http://www.w3.org/2001/XMLSchema""; xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">;
    | <soap12:Body>
    |  <Relationships xmlns=""http://www.comarch.com/"">;
    |   <Name>" + Login + "</Name>
    |   <Password>" + Password + "</Password>
    |   <Timeout>5000</Timeout>
    |  </Relationships>
      | </soap12:Body>
    |</soap12:Envelope>";

    url = "https://www.ecod.pl/webserv2/EDIservice.asmx?WSDL";;
    x = CreateObject("Microsoft.XMLHTTP");

    
    
    x.Open("POST", url, 0);
    x.SetRequestHeader("Content-Type", "text/xml; charset=utf-8");
12 maestro-72
 
04.02.16
08:37
поменял, а приходит все равно вот так:

В текстовом комментарии обнаружен недопустимый знак. Ошибка при обработке ресурса ''file:///G:/Common/test/111.xml''. Стро...

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; xmlns:xsi...

Это из браузера сообщение при попытке открыть приходящий файл
13 maestro-72
 
04.02.16
08:37
Че делать то?
14 maestro-72
 
04.02.16
08:43
Дело немного сдвинулось, не тот узел выбирал в качестве корневого...
15 maestro-72
 
04.02.16
09:07
Да серьезно сдвинулось. Пока работаю...
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.