1

Я пытаюсь интегрировать наши службы s3 с приложением Oracle Apex. Перейдя по этой ссылке: http://www.oracle.com/technetwork/developer-tools/apex/application-express/integration-086636.html#S3Интеграция сервисов Amazon s3 с Oracle 11g

Я создаю приложение, которое предполагает подключение службы Amazon и должно возвращать содержимое ведер.

Кроме того, я добавил ACL правила для обеспечения связи с амазонкой службой после этой чрезвычайно полезной статьи:

http://blog.whitehorses.nl/2010/03/17/oracle-11g-access-control-list-and-ora-24247/

Я создал следующие исключения:

begin 
    dbms_network_acl_admin.create_acl (
     acl   => 'utl_http.xml', 
     description => 'HTTP Access', 
     principal => 'my_user', 
     is_grant => TRUE, 
     privilege => 'connect', 
     start_date => null, 
     end_date => null 
     ); 

    dbms_network_acl_admin.add_privilege (
     acl  => 'utl_http.xml', 
     principal => 'my_user', 
     is_grant => TRUE, 
     privilege => 'resolve', 
     start_date => null, 
     end_date => null 
     ); 


     dbms_network_acl_admin.assign_acl (
     acl  => 'utl_http.xml', 
     host  => ' *.amazonaws.com’, 
      lower_port => 80, 
     upper_port => 80 
     ); 

    commit; 

end; 

Я также получил выполнить на UTL_HTTP для моих пользователь. Независимо от того, когда я бегу приложение я получаю сообщение об ошибке:

ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-24247: network access denied by access control list (ACL) 
    Technical Info (only visible for developers) 
    is_internal_error: false 
    ora_sqlcode: -29273 
    ora_sqlerrm: ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1130 ORA-24247: network access denied by access control list (ACL) 
    component.type: APEX_APPLICATION_PAGE_PROCESS 
    component.id: 5598811807578444 
    component.name: Web Service Request 
    error_backtrace: 
    ORA-06512: at "SYS.UTL_HTTP", line 1130 
    ORA-06512: at "APEX_040200.WWV_FLOW_WEB_SERVICES", line 550 
    ORA-06512: at "APEX_040200.WWV_FLOW_WEB_SERVICES", line 1171 
    ORA-06512: at "APEX_040200.WWV_FLOW_PROCESS", line 397 

Oracle 11g, Apex 4.2

Любая помощь с благодарностью.

ответ

2

Вы все еще получаете ORA-24247, так что что-то неверно для вашего ACL. Какие пользователи вы предоставили права на подключение?
Вам нужно будет дать связываю права на

  • пользователю разборе Schema
  • технического апекс текущего пользователя в верхушечной установке. Для вершины 4.2 это APEX_040200
+0

Я добавил код, который я использовал для создания исключения ACL. Я не уверен в портах, это всего лишь 80? Также вы предлагаете мне заменить «my_user» на общий APEX? Означает ли это, что все пользователи apex смогут использовать это исключение? –

+1

Не путайте этого пользователя с помощью apex. Предоставление пользователю вершины прав на подключение является единственным способом сделать ваш внешний вызов возможным с вершины. Пользователь apex - это своего рода прокси-пользователь, с помощью которого apex использует/вызывает вещи в db. Я НЕ предлагаю заменить пользователя схемы синтаксического анализа: я говорю AND-AND. Я бы не сказал, что ваш «пользователь» нуждается в правах, но он позволяет запускать приложения вне приложения. Порт, в котором я не уверен, зависит от веб-сервиса. В качестве теста вы всегда можете сначала оставить порт пустым, а затем сузить его вниз. – Tom

+0

Он работает! Если бы мне пришлось реализовать, что для Apex 4.0 имя пользователя будет APEX_040000? –

Смежные вопросы