Re: [oracle_br] Re: Oracle Database 12c consumindo Web Services

2017-06-13 Por tôpico jlchia...@yahoo.com.br [oracle_br]
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-') AS lock_date,
   TO_CHAR(expiry_date, 'DD-MON-') AS expiry_date,
   default_tablespace,
   temporary_tablespace
FROM   dba_users
WHERE  username LIKE UPPER('%APEX%')
ORDER BY username;  23456789  

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
  2DBMS_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_resultVARCHAR2(32767);
BEGIN

  -- Build a SOAP document appropriate for the web service.
  l_envelope := '
http://schemas.xmlsoap.org/soap/envelope/";
  xmlns:tns="http://www.ignyte.com/whatsshowing";
  xmlns:xs="http://www.w3.org/2001/XMLSchema";>
  
http://oracle-base.com/webservices/"; 
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
  ' || p_int_1 || '
  ' || p_int_2 || '

  
';

  -- 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;
/  23456789   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=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/";>http://oracle-base.com/webservices/";>6
 

l_result=6
SQL> 


Blz ??? 

[]s

  Chiappa

Re: [oracle_br] Re: Oracle Database 12c consumindo Web Services

2017-06-13 Por tôpico Diego Melo diegopm...@gmail.com [oracle_br]
Opa Chiappa,
Valeu pela resposta.

Sim, o APEX está instalado no meu servidor. Estou usando o Oracle12c e
instalei a versão mais nova do APEX também (APEX_050100)

Vou testar as funcionalidades dele conforme os links mencionados.

Valeu 

Diego

2017-06-13 11:55 GMT-04:00 jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br>:

>
>
> Bom, primeiro vc *** ENTENDEU  que o exemplo lá do oracle-base é SÓ UM
> EXEMPLO, vc ** TEM ** que ADAPTAR ELE para o seu ambiente, né ?  Sendo
> assim, vc ** CONFIRMOU ** que vc tem APEX instalado E QUE o usuário do APEX
> é esse tal usuário APEX_040200  ÓBVIO ULULANTE, se teu usuário APEX é
> outro, OU PIOR, se vc Não Tem o APEX instalado, ÓBVIO que não funfa
>  No meu 12cR2, por exemplo, eu fiz a instalação padrão default e *** Não
> Veio *** o APEX instalado :
>
>  C:\Users\jlchi_000>sqlplus system/oracle
>
> SQL*Plus: Release 12.2.0.1.0 Production on Ter Jun 13 10:46:36 2017
>
> Copyright (c) 1982, 2016, Oracle.  All rights reserved.
>
> Horário do último log-in bem-sucedido: Seg Jun 12 2017 18:37:50 -03:00
>
> Conectado a:
> Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit
> Production
>
> SQL> select username from dba_users where username like 'APEX%';
>
> não há linhas selecionadas
>
> SQL>
>
> Sm Aliás, essa verificação é a PRIMEIRA COISA que o Autor pede pra
> vc fazer lá na página que vc está seguindo
>
> Uma vez Confirmado que vc tem APEX instalado e configurado OK (e com a
> ressalva que iirc no 12cR2 o APEX ** tem ** que estar instalado num
> PDB/Pluggable Database, e NÃO mais no root db/container database), aí então
> a ** SEGUNDA ** coisa é proceder de acordo com a versão : a mesma página
> que vc indicou nos Lembra que a sintaxe e o procedimento de criar um ACL
> mudou no 12cR2 : se é 12c que vc está usando, PLEASE siga as instruções de
> criação de ACL NO 12c
>
> []s
>
>   Chiappa
>
> OBS : para poder usar as rotinas do APEX, Obviamente o APEX deve estar
> totalmente funcional - para comprovar isso, seria Muito Interessante vc
> criar uma aplicação tipo hello world, um demozinho com ele, só pra
> Confirmar que o APEX em si está presente : tem umas em
> http://o7planning.org/en/10345/oracle-apex-tutorial-for-beginners (bem
> mastigadinha mesmo), em  http://www.oracle.com/webfolder/technetwork/
> tutorials/obe/db/devdays2012/apexp1_lab/apexp1_lab.html e
> https://stackoverflow.com/documentation/oracle-apex/
> 2759/getting-started-with-oracle-apex e http://www.oracle.com/
> webfolder/technetwork/tutorials/obe/db/apex/r50/apex-basic-demo-projects-
> 2848024/APEX_Basic_Demo_Projects%20v2.0.5.html 
> 
>


[oracle_br] Re: Oracle Database 12c consumindo Web Services

2017-06-13 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Bom, primeiro vc *** ENTENDEU  que o exemplo lá do oracle-base é SÓ UM 
EXEMPLO, vc ** TEM ** que ADAPTAR ELE para o seu ambiente, né ?  Sendo assim, 
vc ** CONFIRMOU ** que vc tem APEX instalado E QUE o usuário do APEX é esse tal 
usuário APEX_040200  ÓBVIO ULULANTE, se teu usuário APEX é outro, OU PIOR, 
se vc Não Tem o APEX instalado, ÓBVIO que não funfa 
 No meu 12cR2, por exemplo, eu fiz a instalação padrão default e *** Não Veio 
*** o APEX instalado :
 
 C:\Users\jlchi_000>sqlplus system/oracle

SQL*Plus: Release 12.2.0.1.0 Production on Ter Jun 13 10:46:36 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Horário do último log-in bem-sucedido: Seg Jun 12 2017 18:37:50 -03:00

Conectado a:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select username from dba_users where username like 'APEX%';

não há linhas selecionadas

SQL>

Sm Aliás, essa verificação é a PRIMEIRA COISA que o Autor pede pra vc 
fazer lá na página que vc está seguindo

Uma vez Confirmado que vc tem APEX instalado e configurado OK (e com a ressalva 
que iirc no 12cR2 o APEX ** tem ** que estar instalado num PDB/Pluggable 
Database, e NÃO mais no root db/container database), aí então a ** SEGUNDA ** 
coisa é proceder de acordo com a versão : a mesma página que vc indicou nos 
Lembra que a sintaxe e o procedimento de criar um ACL mudou no 12cR2 : se é 12c 
que vc está usando, PLEASE siga as instruções de criação de ACL NO 12c

[]s

  Chiappa
  
OBS : para poder usar as rotinas do APEX, Obviamente o APEX deve estar 
totalmente funcional - para comprovar isso, seria Muito Interessante vc criar 
uma aplicação tipo hello world, um demozinho com ele, só pra Confirmar que o 
APEX em si está presente : tem umas em 
http://o7planning.org/en/10345/oracle-apex-tutorial-for-beginners (bem 
mastigadinha mesmo), em  
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/devdays2012/apexp1_lab/apexp1_lab.html
 e  
https://stackoverflow.com/documentation/oracle-apex/2759/getting-started-with-oracle-apex
 e 
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/apex/r50/apex-basic-demo-projects-2848024/APEX_Basic_Demo_Projects%20v2.0.5.html