powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / web-service plsql
19 сообщений из 19, страница 1 из 1
web-service plsql
    #40003804
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте помогите сделать вызов внешнего веб сервиса база 11 g
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
1. ОТПРАВКА SMS-СООБЩЕНИЙ.
Для отправки сообщений через систему smspro.nikita.kg оборудование партнера должно
вызвать скрипт: http://smspro.nikita.kg/api/message
Либо https://smspro.nikita.kg/api/message для работы по защищенному SSL-протоколу
Для вызова используется POST – запрос.
Тело запроса должно содержать XML документ вида:
<?xml version="1.0" encoding="UTF-8"?>
<message>
<login>login</login>
<pwd>passwd</pwd>
<id>A88726</id>
<sender>My-company</sender>
<text>Any SMS message text</text>
<time>20100921235957</time>
<phones>
<phone>996550123456</phone>
<phone>996550123457</phone>
</phones>
<test>1</test>
</message>
...
Рейтинг: 0 / 0
web-service plsql
    #40003810
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт,
Код: plsql
1.
 req := utl_http.begin_request(url => '127.0.0.1', method => 'POST', 
...
Рейтинг: 0 / 0
web-service plsql
    #40003825
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй
Бакыт,
Код: plsql
1.
 req := utl_http.begin_request(url => '127.0.0.1', method => 'POST', 


параметры как передать? utl_http не работал можете подсказать
...
Рейтинг: 0 / 0
web-service plsql
    #40003837
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт,

STFF
...
Рейтинг: 0 / 0
web-service plsql
    #40003844
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так написа, запускаю получаю ошибку ORA-29273 http request failed и TNS: no listner
Код: 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.
create or replace procedure send_sms_nikita is
  req utl_http.req;
  res utl_http.resp;
  url varchar2(4000) := 'http://smspro.nikita.kg/api/message';
  --name varchar2(4000);
  buffer varchar2(4000);
  content varchar2(4000) := '<?xml version="1.0" encoding="UTF-8"?>
<message>
<login>nikita</login>
<pwd>qwerty</pwd>
<id>999999</id>
<sender>OAO SAD</sender>
<text>Any SMS message text</text>
<phones>
<phone>996550665577</phone>
</phones>
</message>';

begin
  req := utl_http.begin_request(url, 'POST',' HTTP/1.1');
  utl_http.set_header(req, 'user-agent', 'mozilla/4.0');
  utl_http.set_header(req, 'content-type', 'application/xml');
  utl_http.set_header(req, 'Content-Length', length(content));

  utl_http.write_text(req, content);
  res := utl_http.get_response(req);
  -- process the response from the HTTP call
  begin
    loop
      utl_http.read_line(res, buffer);
      dbms_output.put_line(buffer);
    end loop;
    utl_http.end_response(res);
  exception
    when utl_http.end_of_body
    then
      utl_http.end_response(res);
  end;
end;
...
Рейтинг: 0 / 0
web-service plsql
    #40003849
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт,

telnet с сервера проходит ?
...
Рейтинг: 0 / 0
web-service plsql
    #40003851
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй
Бакыт,

telnet с сервера проходит ?


postman запускаю , sms отправляет
...
Рейтинг: 0 / 0
web-service plsql
    #40003853
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот такой еще код нашел можно ли адаптировать под мой вебсервис?
Код: 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.
CREATE OR REPLACE FUNCTION add_numbers (p_int_1  IN  NUMBER,
                                        p_int_2  IN  NUMBER)
  RETURN NUMBER
AS
  l_envelope  CLOB;
  l_xml       XMLTYPE;
  l_result    VARCHAR2(32767);
BEGIN

  -- Build a SOAP document appropriate for the web service.
  l_envelope := '<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <ws_add xmlns="http://oracle-base.com/webservices/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <int1 xsi:type="xsd:integer">' || p_int_1 || '</int1>
      <int2 xsi:type="xsd:integer">' || p_int_2 || '</int2>
    </ws_add>
  </soap:Body>
</soap:Envelope>';

  -- Get the XML response from the web service.
  l_xml := APEX_WEB_SERVICE.make_request(
    p_url      => 'http://oracle-base.com/webservices/server.php',
    p_action   => 'http://oracle-base.com/webservices/server.php/ws_add',
    p_envelope => l_envelope
  );

  -- Display the whole SOAP document returned.
  DBMS_OUTPUT.put_line('l_xml=' || l_xml.getClobVal());

  -- Pull out the specific value of interest.
  l_result := APEX_WEB_SERVICE.parse_xml(
    p_xml   => l_xml,
    p_xpath => '//return/text()',
    p_ns    => 'xmlns:ns1="http://oracle-base.com/webservices/"'
  );

  DBMS_OUTPUT.put_line('l_result=' || l_result);

  RETURN TO_NUMBER(l_result);
END;


извините, я совсем незнаю как писать вызов сервиса из вне , но надо реализовать
...
Рейтинг: 0 / 0
web-service plsql
    #40003855
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт,

asl
...
Рейтинг: 0 / 0
web-service plsql
    #40003856
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123йй
Бакыт,

asl

ACL дал доступ
...
Рейтинг: 0 / 0
web-service plsql
    #40003858
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт,

Из Oracle немного геморройнее вызывать rest. Тебе надо:
1. прописать ACL - две штуки. Один для http с портами(80), один для https с портами 443
2. положить на сервер субд файлик wallet. Путь к файлу и пароль тебе пригодится для указания в параметрах запроса.
3. вообще есть много примеров по вызову. Мой совет - сначала в postman отладить свой запрос к веб-сервису, чтобы все работало, потом начинать это через plsql
...
Рейтинг: 0 / 0
web-service plsql
    #40003859
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт, значит все работает
...
Рейтинг: 0 / 0
web-service plsql
    #40003863
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oragraf
Бакыт,

Из Oracle немного геморройнее вызывать rest. Тебе надо:
1. прописать ACL - две штуки. Один для http с портами(80), один для https с портами 443
2. положить на сервер субд файлик wallet. Путь к файлу и пароль тебе пригодится для указания в параметрах запроса.
3. вообще есть много примеров по вызову. Мой совет - сначала в postman отладить свой запрос к веб-сервису, чтобы все работало, потом начинать это через plsql


можете скинуть примеры, теорию изучать сейчас совсем времени нет

postman работает без проблем
...
Рейтинг: 0 / 0
web-service plsql
    #40003866
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт
TNS: no listner

Это явно не имеет отношения к вызову сервиса
...
Рейтинг: 0 / 0
web-service plsql
    #40003871
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

имеет, когда достучаться не может
Код: plsql
1.
2.
3.
4.
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-12541: TNS:no listener
ORA-06512: at line 41
...
Рейтинг: 0 / 0
web-service plsql
    #40003874
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ACL вот так указал
1 smspro.nikita.kg 80 80 /sys/acls/nikita.xml

или мне надо было указать явно ?
Код: html
1.
 http://smspro.nikita.kg/api/messag

e
...
Рейтинг: 0 / 0
web-service plsql
    #40003884
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бакыт,

Код: plsql
1.
select * from user_network_acl_privileges


?
...
Рейтинг: 0 / 0
web-service plsql
    #40003887
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторили мне надо было указать явно ?
а почему бы не почитать документацию ?
...
Рейтинг: 0 / 0
web-service plsql
    #40003890
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oragraf
Бакыт,

Код: plsql
1.
select * from user_network_acl_privileges


?


smspro.nikita.kg 80 80 connect GRANTED
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / web-service plsql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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