4

リンクhttp://www.oracle-base.com/articles/9i/ConsumingWebServices9i.phpのようにsoap_apiを使用しています。でWebサービスを呼び出すことができました

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
"CORE   10.2.0.1.0  Production"
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

しかし、私が同じものを使用するとき

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE   11.2.0.1.0  Production"
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

その与える

"ORA-29273: HTTP request failed
 ORA-06512: at "SYS.UTL_HTTP", line 1130
 ORA-24247: network access denied by access control list (ACL)"

助けてください

4

1 に答える 1

2

Oracleでは、いくつかのPL / SQL API(UTL_TCP、UTL_SMTP、UTL_MAIL、UTL_HTTP、およびUTL_INADDR)を使用して外部ネットワーク・サービスにアクセスできます。これらはすべて、TCPプロトコルを使用して実装されます。このために1つのACL(アクセス制御リスト)を作成する必要があります。この場合、以下のスクリプトが役立つ可能性があります。私の場合:SYS.UTL_HTTPを使用して、pl/sqlレベルから1つのSOAPベースのWebサービスを呼び出しています。

begin
  dbms_network_acl_admin.create_acl (
  acl          => 'networkacl.xml',
  description  => 'Allow Network Connectivity',
  principal    => 'PUBLIC',
  is_grant     => TRUE,
  privilege    => 'connect',
  start_date   => SYSTIMESTAMP,
  end_date     => NULL);
 dbms_network_acl_admin.assign_acl (
  acl         => 'networkacl.xml',
  host        => 'AS NEEDED*',
  lower_port  => AS NEEDED*,
  upper_port  => AS NEEDED*);
  commit;
end;

あなたは見てもよい:ここ

  • 必要に応じて=要件に基づいて自分自身を定義する
于 2014-03-17T07:25:52.363 に答える