Имя: Пароль:
1C
1С v8
кодировка SOAP сообщения
0 kimba
 
16.09.13
16:55
Есть веб сервис который принимает сообщения в кодировке win-1251.
1с шлет ему utf-8. Сервис получает иероглифы и ругается.
Как поменять кодировку при отправке сообщения из 1с?
Искал не нашел...
1 Fragster
 
модератор
16.09.13
16:56
проще веб сервис переписать
2 kimba
 
16.09.13
17:14
(1) Ты уверен?
3 ДенисЧ
 
16.09.13
17:17
(2) Я с ним согласен.
4 kimba
 
16.09.13
17:18
Еще мнения?
5 Heckfy
 
16.09.13
17:23
КодировкаТекста (TextEncoding)
Значения

ANSI (ANSI)
OEM (OEM)
UTF16 (UTF16)
UTF8 (UTF8)
Системная (System)

Описание:

Определяет набор допустимых кодировок текстовых файлов.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Возможен обмен с сервером.
См. также:

ТекстовыйДокумент, метод Прочитать
ТекстовыйДокумент, метод Записать
ЧтениеТекста, метод Открыть
ЗаписьТекста, метод Открыть
ЧтениеТекста, конструктор По имени файла
ЗаписьТекста, конструктор По имени файла
ТекстовыйДокумент, метод УстановитьТипФайла
6 kimba
 
16.09.13
17:27
(5) Это к чему? Вот код отправки сообщения:

    Сервис = WSСсылки.WSСсылка1.СоздатьWSПрокси("http://tempuri.org/";, "Serviceservice", "ServicePort");
    Сериализатор = Новый СериализаторXDTO(СервисИФА.ФабрикаXDTO);
    Сервис.Test(AData, AErrorStr, ReturnStr);

Вот где указывать кодировку soap сообщения, которое отправляется в момент выполнения функции Сервис.Test() ???
7 kimba
 
16.09.13
17:54
глухо я так понимаю
8 kimba
 
16.09.13
18:16
апп
9 Mafoni
 
16.09.13
18:45
ИМХО - (1) - прав
10 Torquader
 
17.09.13
00:19
Кодировка сообщения указывается в заголовке xml-файла обмена, а он из 1С недоступен.
Кроме того, 1С правильно указывает в заголовке кодировку utf-8, как положено стандартом - если Web-сервис просто этого не может понять - 1С тут не при чём.
Так что - или переписывать Web-сервис, или обращаться вручную через XmlHttpRequest (но там тоже придётся поиграться с кодировками).