2012-03-27 232 views
2

我正在使用soap_api,如鏈接http://www.oracle-base.com/articles/9i/ConsumingWebServices9i.php。我能夠在Oracle 11g ORA-24247:網絡訪問被訪問控制列表(ACL)拒絕

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 

調用Web服務,但是當我使用相同的

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)" 

請幫

+3

類似:[http://stackoverflow.com/questions/9875257/how - 可以-A-添加-ACL規則換甲骨文11克到允許-PL-SQL的上載文件] [1] [1]:http://stackoverflow.com/曲estions/9875257/how-can-a-add-acl-rules-for-oracle-11g-to-allow-pl-sql-upload-file – 2012-03-27 12:30:01

+0

謝謝..我的wsdl文件位於http://xx.xxx。 xx.xxx:9080/WesService/WebMethod/WebMethod.wsdl那麼我有什麼程序對嗎? – paramupk 2012-03-27 12:57:27

+2

您必須將acl權限添加到該xx.xxx.xx.xxx網址:)並指定給該特定端口,或者將端口保留爲空,則允許使用所有端口。 – 2012-03-28 06:14:47

回答

0

Oracle允許外部訪問使用幾個PL/SQL API(UTL_TCP,UTL_SMTP,UTL_MAIL,UTL_HTTP和UTL_INADDR)的網絡服務,所有這些都是ar e使用TCP協議實現。您需要爲此創建一個ACL(訪問控制列表)。在這種情況下,貝貝腳本可能對我有用。就我而言:我使用SYS.UTL_HTTP從pl/sql級別調用一個基於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; 

你可以看看:here

  • 根據需要=自己定義根據您的需要
+1

這賦予每個*數據庫用戶連接到每個*端口上的每個*主機的權利 - 似乎是一種矯枉過正和徹底的DOS攻擊邀請。 – 2014-03-17 07:30:17

+0

謝謝@FrankSchmitt編輯腳本。 – Forhad 2014-03-17 09:34:05