powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ответ веб-сервиса в 1251
5 сообщений из 5, страница 1 из 1
ответ веб-сервиса в 1251
    #39379832
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
DECLARE
   v_URL         VARCHAR2(100) := 'https://www.zst.local/';
   req           UTL_HTTP.req;
   resp          UTL_HTTP.resp;
   is_response   BOOLEAN;
   v_txt_resp    VARCHAR2(400);
   v_bad_auth    EXCEPTION;
   v_empty_xml   EXCEPTION;

   walletdir  VARCHAR2 ( 100 ) := 'file:/***';
   walletpass VARCHAR2 ( 100 ) := '***';
   value VARCHAR2 ( 32000 );

    xmlRequest VARCHAR2(4000);
    xmlResponse varchar2(4000);

   PROCEDURE end_resp
   IS
   BEGIN
      /* is_response, resp - глобальные переменные на уровне процедуры */
      IF is_response THEN
         UTL_HTTP.end_response(resp);
         is_response := FALSE;
      END IF;
   END;

BEGIN

    UTL_HTTP.SET_WALLET( walletdir, walletpass );

    v_URL := 'https://www.***.local/***Service/***Service.asmx';

    xmlRequest := '<?xml version="1.0" encoding="utf8"?>
<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>
    <UserInfo xmlns="***Service">
      <svt_name>7264</svt_name>
      <sam_name></sam_name>
      <fam></fam>
      <cex></cex>
      <otd></otd>
      <tel></tel>
      <regn>0</regn>
      <tab>0</tab>
    </UserInfo>
  </soap12:Body>
</soap12:Envelope>';

    req := utl_http.begin_request('https://www.***.local/***Service/***Service.asmx', 'POST','HTTP/1.1');

    utl_http.set_header(req, 'Content-Type', 'text/xml');
    utl_http.set_header(req, 'Content-Length', length(xmlRequest));
    utl_http.set_header(req, 'SOAPAction', '***Service/UserInfo');
    utl_http.write_text(req, xmlRequest);
    resp := utl_http.get_response(req);

    is_response := TRUE;

     BEGIN

        LOOP
           UTL_HTTP.read_text(resp, value, 4000);
           dbms_output.put(value);

        END LOOP;
         EXCEPTION
            WHEN UTL_HTTP.end_of_body THEN null;
         END;

      end_resp;

END;

работает

русские буквы приходят вопросами
Код: plaintext
1.
2.
3.
<TAB>74</TAB>
<PHONES>30-08</PHONES>
<DOLGN>?????????????? ????????????? -??? ????? ????????????</DOLGN>
<PRED_NAME>?????? "????????????????????????"</PRED_NAME>

данные приходят, судя по всему, в UTF-8, а БД в 1251. И всякие convert'ы идут лесом
...
Рейтинг: 0 / 0
ответ веб-сервиса в 1251
    #39379863
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, жду положительных советов
...
Рейтинг: 0 / 0
ответ веб-сервиса в 1251
    #39379927
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

RTFM UTL_HTTP.set_body_charset .

Код: plsql
1.
2.
3.
4.
...
    resp := utl_http.get_response(req);
    utl_http.set_body_charset( resp, 'UTF-8' );
...



PS: К серверу тоже не факт, что будет уходить правильно, когда появится кириллица в запросе.
...
Рейтинг: 0 / 0
ответ веб-сервиса в 1251
    #39379937
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerandreymx,

RTFM UTL_HTTP.set_body_charset .

Код: plsql
1.
2.
3.
4.
...
    resp := utl_http.get_response(req);
    utl_http.set_body_charset( resp, 'UTF-8' );
...




PS: К серверу тоже не факт, что будет уходить правильно, когда появится кириллица в запросе.спасибо, что-то такое уже попробовал
в dbms нормально выводит
в XML складываю - не совсем нормально
буду ковырять далее
...
Рейтинг: 0 / 0
ответ веб-сервиса в 1251
    #39379940
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxрусские буквы приходят вопросами Правильный сервис возвращает Content-Type, в соответствии с которым read_text автоматом преобразует.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ответ веб-сервиса в 1251
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]