Blz, é isso aí... Só para mostrar que as instruções em si estão 100% corretas, segue o teste que fiz numa VM com 12cR2 (a Developer´s Day que vc baixa em technet.oracle.com), que já vem com APEX instalado num PDB como é necessário, e no exemplo estou conectado como SYS nesse PDB.... NEM PRECISO DIZER, eu Não tenho nem Antivírus Nem firewall nem nada assim bloqueando meu acesso à internet... O exemplo :
==> o APEX tá instalado : SQL> SELECT username, account_status, TO_CHAR(lock_date, 'DD-MON-YYYY') AS lock_date, TO_CHAR(expiry_date, 'DD-MON-YYYY') AS expiry_date, default_tablespace, temporary_tablespace FROM dba_users WHERE username LIKE UPPER('%APEX%') ORDER BY username; 2 3 4 5 6 7 8 9 USERNAME -------------------------------------------------------------------------------- ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE -------------------------------- -------------------- -------------------- DEFAULT_TABLESPACE TEMPORARY_TABLESPACE ------------------------------ ------------------------------ APEX_050100 OPEN SYSAUX TEMP APEX_INSTANCE_ADMIN_USER EXPIRED 02-MAR-2017 USERS TEMP USERNAME -------------------------------------------------------------------------------- ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE -------------------------------- -------------------- -------------------- DEFAULT_TABLESPACE TEMPORARY_TABLESPACE ------------------------------ ------------------------------ APEX_LISTENER OPEN USERS TEMP APEX_PUBLIC_USER OPEN ==> vou criar um ACL, obviamente já usando a sintaxe 12c : SQL> ed Wrote file afiedt.buf 1 BEGIN 2 DBMS_NETWORK_ACL_ADMIN.append_host_ace ( 3 host => 'oracle-base.com', 4 lower_port => 80, 5 upper_port => 80, 6 ace => xs$ace_type(privilege_list => xs$name_list('http'), 7 principal_name => 'APEX_050100', 8 principal_type => xs_acl.ptype_db)); 9* END; SQL> / PL/SQL procedure successfully completed. ==> crio a função que consome o web service de demonstração lá do ORACLE_BASE , que nem ele mostrou : SQL> 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:tns="http://www.ignyte.com/whatsshowing" 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; / 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 Function created. ===> Antes que vc pergunte, como estou copiando e colando no sqlplus executando via terminal, ele desposiciona os números de linha, ignore isso.... Vou executar a função : SQL> SELECT add_numbers(1, 5) FROM dual; ADD_NUMBERS(1,5) ---------------- 6 ==> okdoc, funfa certinho.... Vou meter um SERVEROUTPUT, que nem ele sugere na página, para debug/demonstração : SQL> SET SERVEROUTPUT ON SELECT add_numbers(1, 5) FROM dual; 2 SQL> SQL> l 1* SELECT add_numbers(1, 5) FROM SQL> a dual; 1* SELECT add_numbers(1, 5) FROM dual SQL> / ADD_NUMBERS(1,5) ---------------- 6 l_xml=<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:ws_addResponse xmlns:ns1="http://oracle-base.com/webservices/"><return xsi:type="xsd:string">6</return></ns1:ws_addResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> l_result=6 SQL> Blz ??? []s Chiappa