Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кодировкой в SOAP, help! 
V
    Опции темы
Snowy
Дата 13.4.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



не то. Здесь нет текста.
PM MAIL   Вверх
FatherFrost
Дата 13.4.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 1
Всего: 6



Вот идет ответный пакет от сервера сразу после запроса:
Код

0000  00 0c 6e 4b 40 3b 00 0a  48 18 46 a7 08 00 45 00   ..nK@;.. H.F...E.
0010  00 28 9f d7 40 00 80 06  75 84 c0 a8 32 03 c0 a8   .(..@... u...2...
0020  32 20 00 50 05 a9 e1 36  d1 4c 09 57 5e 15 50 10   2 .P...6 .L.W^.P.
0030  40 c0 69 b7 00 00 00 00  00 00 00 00               @.i..... ....    

Добавлено @ 14:42
Сорри, то служебный пакет. Вот ответ сервера:
Код

0000  00 0c 6e 4b 40 3b 00 0a  48 18 46 a7 08 00 45 00   ..nK@;.. H.F...E.
0010  03 31 30 66 40 00 80 06  e1 ec c0 a8 32 03 c0 a8   .10f@... ....2...
0020  32 20 00 50 05 ba 6f 1f  f4 64 63 ce 26 d0 50 18   2 .P..o. .dc.&.P.
0030  40 c0 bb aa 00 00 48 54  54 50 2f 31 2e 31 20 32   @.....HT TP/1.1 2
0040  30 30 20 4f 4b 0d 0a 44  61 74 65 3a 20 54 68 75   00 OK..D ate: Thu
0050  2c 20 31 33 20 41 70 72  20 32 30 30 36 20 31 31   , 13 Apr  2006 11
0060  3a 33 38 3a 33 35 20 47  4d 54 0d 0a 53 65 72 76   :38:35 G MT..Serv
0070  65 72 3a 20 41 70 61 63  68 65 2f 32 2e 30 2e 35   er: Apac he/2.0.5
0080  30 20 28 57 69 6e 33 32  29 20 4a 52 75 6e 2f 34   0 (Win32 ) JRun/4
0090  2e 30 0d 0a 43 6f 6e 74  65 6e 74 3a 20 0d 0a 43   .0..Cont ent: ..C
00a0  6f 6e 74 65 6e 74 2d 4c  65 6e 67 74 68 3a 20 35   ontent-L ength: 5
00b0  36 38 0d 0a 4b 65 65 70  2d 41 6c 69 76 65 3a 20   68..Keep -Alive: 
00c0  74 69 6d 65 6f 75 74 3d  31 35 2c 20 6d 61 78 3d   timeout= 15, max=
00d0  31 30 30 0d 0a 43 6f 6e  6e 65 63 74 69 6f 6e 3a   100..Con nection:
00e0  20 4b 65 65 70 2d 41 6c  69 76 65 0d 0a 43 6f 6e    Keep-Al ive..Con
00f0  74 65 6e 74 2d 54 79 70  65 3a 20 74 65 78 74 2f   tent-Typ e: text/
0100  78 6d 6c 0d 0a 0d 0a 3c  3f 78 6d 6c 20 76 65 72   xml....< ?xml ver
0110  73 69 6f 6e 3d 22 31 2e  30 22 3f 3e 0d 0a 3c 53   sion="1. 0"?>..<S
0120  4f 41 50 2d 45 4e 56 3a  45 6e 76 65 6c 6f 70 65   OAP-ENV: Envelope
0130  20 78 6d 6c 6e 73 3a 53  4f 41 50 2d 45 4e 56 3d    xmlns:S OAP-ENV=
0140  22 68 74 74 70 3a 2f 2f  73 63 68 65 6d 61 73 2e   "http:// schemas.
0150  78 6d 6c 73 6f 61 70 2e  6f 72 67 2f 73 6f 61 70   xmlsoap. org/soap
0160  2f 65 6e 76 65 6c 6f 70  65 2f 22 20 78 6d 6c 6e   /envelop e/" xmln
0170  73 3a 78 73 64 3d 22 68  74 74 70 3a 2f 2f 77 77   s:xsd="h ttp://ww
0180  77 2e 77 33 2e 6f 72 67  2f 32 30 30 31 2f 58 4d   w.w3.org /2001/XM
0190  4c 53 63 68 65 6d 61 22  20 78 6d 6c 6e 73 3a 78   LSchema"  xmlns:x
01a0  73 69 3d 22 68 74 74 70  3a 2f 2f 77 77 77 2e 77   si="http ://www.w
01b0  33 2e 6f 72 67 2f 32 30  30 31 2f 58 4d 4c 53 63   3.org/20 01/XMLSc
01c0  68 65 6d 61 2d 69 6e 73  74 61 6e 63 65 22 20 78   hema-ins tance" x
01d0  6d 6c 6e 73 3a 53 4f 41  50 2d 45 4e 43 3d 22 68   mlns:SOA P-ENC="h
01e0  74 74 70 3a 2f 2f 73 63  68 65 6d 61 73 2e 78 6d   ttp://sc hemas.xm
01f0  6c 73 6f 61 70 2e 6f 72  67 2f 73 6f 61 70 2f 65   lsoap.or g/soap/e
0200  6e 63 6f 64 69 6e 67 2f  22 3e 3c 53 4f 41 50 2d   ncoding/ "><SOAP-
0210  45 4e 56 3a 42 6f 64 79  20 53 4f 41 50 2d 45 4e   ENV:Body  SOAP-EN
0220  43 3a 65 6e 63 6f 64 69  6e 67 53 74 79 6c 65 3d   C:encodi ngStyle=
0230  22 68 74 74 70 3a 2f 2f  73 63 68 65 6d 61 73 2e   "http:// schemas.
0240  78 6d 6c 73 6f 61 70 2e  6f 72 67 2f 73 6f 61 70   xmlsoap. org/soap
0250  2f 65 6e 76 65 6c 6f 70  65 2f 22 3e 3c 4e 53 31   /envelop e/"><NS1
0260  3a 47 65 74 4c 73 68 65  74 41 64 64 72 65 73 73   :GetLshe tAddress
0270  52 65 73 70 6f 6e 73 65  20 78 6d 6c 6e 73 3a 4e   Response  xmlns:N
0280  53 31 3d 22 75 72 6e 3a  48 54 54 50 41 62 6f 6e   S1="urn: HTTPAbon
0290  65 6e 74 53 65 72 76 69  63 65 49 6e 74 66 2d 49   entServi ceIntf-I
02a0  48 54 54 50 41 62 6f 6e  65 6e 74 22 3e 3c 72 65   HTTPAbon ent"><re
02b0  74 75 72 6e 20 78 73 69  3a 74 79 70 65 3d 22 78   turn xsi :type="x
02c0  73 64 3a 73 74 72 69 6e  67 22 3e d1 83 d0 bb 2e   sd:strin g">.....
02d0  d0 a9 d0 9e d0 a0 d0 a1  d0 90 20 d0 a3 d0 9b d0   ........ .. .....
02e0  98 d0 a6 d0 90 20 d0 b4  2e 35 20 d0 ba d0 b2 2e   ..... .. .5 .....
02f0  39 39 3c 2f 72 65 74 75  72 6e 3e 3c 2f 4e 53 31   99</retu rn></NS1
0300  3a 47 65 74 4c 73 68 65  74 41 64 64 72 65 73 73   :GetLshe tAddress
0310  52 65 73 70 6f 6e 73 65  3e 3c 2f 53 4f 41 50 2d   Response ></SOAP-
0320  45 4e 56 3a 42 6f 64 79  3e 3c 2f 53 4f 41 50 2d   ENV:Body ></SOAP-
0330  45 4e 56 3a 45 6e 76 65  6c 6f 70 65 3e 0d 0a      ENV:Enve lope>.. 



--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
FatherFrost
Дата 14.4.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 1
Всего: 6



Snowy, В строках 45 - 47. Могет есть какие-нить идеи?


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
Snowy
Дата 14.4.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Хе. Да это банальный UTF-8.
Код
  s := Utf8ToAnsi(str);

И получаем "ул.ЩОРСА УЛИЦА д.5 кв.99"
Что и логично - UTF-8 родной для xml.
PM MAIL   Вверх
FatherFrost
Дата 14.4.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 1
Всего: 6



Понятно, тогда скорее нуно шарп мучать... Огромное спасибо за помощь.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
FatherFrost
Дата 14.4.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 1
Всего: 6



Возник вопрос, а можно заставить респонся отсылать в UTF 16


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
Snowy
Дата 14.4.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Да. Можно.
Для этого нужно у TXMLDocument установить Encoding := 'UTF-16';
PM MAIL   Вверх
FatherFrost
Дата 14.4.2006, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 1
Всего: 6



Snowy, ну это для XML, а для веб сервиса как быть???


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
Snowy
Дата 14.4.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



А это уже зависит от реализации веб-сервиса.
А он скорее всего также юзает этот же XML контрол.
Если нет, то нужно ковыряться в нем, чтобы узнать как и чего он кодирует.
PM MAIL   Вверх
FatherFrost
Дата 14.4.2006, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 1
Всего: 6



Я уже нашел. Для
THTTPSoapDispatcher и THTTPSoapPascalInvoker у Converter'a есть свойство Encoding. Его нужно было установить UTF-16, т.к. в C# строки в этой кодировке... У меня кодировка указана не была, поэтому ответ шел без указания кодировки (вот она главная причина нестыковки).


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0654 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.