Urgent: Calling web service from PL/SQl fails with XML parsing
Hi,
I am trying to call a web service from PL/SQL (using SOAP protocol and UTL_HTTP built in Package).I am using Oracle 9i .I am calling from pl/sql block invoking web service method created in java.
I am getting the below response object as a SOAP protocol, but i couldn't able to parse the SOAP.
Could you please provide the values of FirstName, LastName and ErrorDescription
declare
request_env varchar2(32767);
v_xml XMLTYPE;
l_user_first_name varchar2(100);
l_user_last_name varchar2(100);
l_error_value varchar2(100);
begin
response_env:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<UserInfoObjResponse xmlns:axis2ns1="http://www.test.com/services">
<axis2ns1:FirstName >First Name Output</axis2ns1:FirstName>
<axis2ns1:LastName>Last Name Output</axis2ns1:LastName>
<axis2ns1:ErrorDescription />
</UserInfoObjResponse>
</soapenv:Body>
</soapenv:Envelope>';
dbms_output.put_line('Length of Request:' || length(response_env));
dbms_output.put_line ('Request: ' || response_env);
v_xml := XMLTYPE(response_env);
-- SELECT EXTRACTVALUE(v_xml, '//UserInfoObjResponse/FirstName') INTO l_user_fast_name varchar2(100); FROM DUAL;
dbms_output.put_line ('l_user_first_name: ' || l_user_first_name);
dbms_output.put_line ('l_user_last_name : ' || l_user_last_name);
dbms_output.put_line ('l_error_value: ' || l_error_value);
end;
In Oracle 9i:
SQL> declare
2 response_env varchar2(32767);
3 v_xml XMLTYPE;
4 l_user_first_name varchar2(100);
5 l_user_last_name varchar2(100);
6 l_error_value varchar2(100);
7 begin
8 response_env:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
9 <soapenv:Body>
10 <UserInfoObjResponse xmlns:axis2ns1="http://www.test.com/services">
11 <axis2ns1:FirstName >First Name Output</axis2ns1:FirstName>
12 <axis2ns1:LastName>Last Name Output</axis2ns1:LastName>
13 <axis2ns1:ErrorDescription />
14 </UserInfoObjResponse>
15 </soapenv:Body>
16 </soapenv:Envelope>';
17
18 dbms_output.put_line('Length of Request:' || length(response_env));
19 -- dbms_output.put_line ('Request: ' || response_env);
20
21 v_xml := XMLTYPE(response_env);
22
23 select EXTRACTVALUE(v_xml,'/*:Envelope/*:Body/*:UserInfoObjResponse/*:FirstName/text()') first_name,
24 EXTRACTVALUE(v_xml,'/*:Envelope/*:Body/*:UserInfoObjResponse/*:LastName/text()') last_name,
25 EXTRACTVALUE(v_xml,'/*:Envelope/*:Body/*:UserInfoObjResponse/*:ErrorDescription/text()') error_description
26 into l_user_first_name, l_user_last_name, l_error_value
27 from dual;
28
29 dbms_output.put_line ('l_user_first_name: ' || l_user_first_name);
30 dbms_output.put_line ('l_user_last_name : ' || l_user_last_name);
31 dbms_output.put_line ('l_error_value: ' || l_error_value);
32 end;
33 /
Length of Request:530
l_user_first_name: First Name Output
l_user_last_name : Last Name Output
l_error_value:
PL/SQL procedure successfully completed.In Oracle 10g:
SQL> declare
2 response_env varchar2(32767);
3 v_xml XMLTYPE;
4 l_user_first_name varchar2(100);
5 l_user_last_name varchar2(100);
6 l_error_value varchar2(100);
7 begin
8 response_env:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
9 <soapenv:Body>
10 <UserInfoObjResponse xmlns:axis2ns1="http://www.test.com/services">
11 <axis2ns1:FirstName >First Name Output</axis2ns1:FirstName>
12 <axis2ns1:LastName>Last Name Output</axis2ns1:LastName>
13 <axis2ns1:ErrorDescription />
14 </UserInfoObjResponse>
15 </soapenv:Body>
16 </soapenv:Envelope>';
17
18 dbms_output.put_line('Length of Request:' || length(response_env));
19 -- dbms_output.put_line ('Request: ' || response_env);
20
21 v_xml := XMLTYPE(response_env);
22
23 select r.*
24 into l_user_first_name, l_user_last_name, l_error_value
25 from XMLTABLE('/' PASSING v_xml
26 COLUMNS
27 first_name varchar2(30) PATH '/*:Envelope/*:Body/*:UserInfoObjResponse/*:FirstName/text()',
28 last_name varchar2(30) PATH '/*:Envelope/*:Body/*:UserInfoObjResponse/*:LastName/text()',
29 error_description varchar2(30) PATH '/*:Envelope/*:Body/*:UserInfoObjResponse/*:ErrorDescrition/text()'
30 ) r;
31
32 dbms_output.put_line ('l_user_first_name: ' || l_user_first_name);
33 dbms_output.put_line ('l_user_last_name : ' || l_user_last_name);
34 dbms_output.put_line ('l_error_value: ' || l_error_value);
35 end;
36 /
Length of Request:530
l_user_first_name: First Name Output
l_user_last_name : Last Name Output
l_error_value:
PL/SQL procedure successfully completed.Max
http://oracleitalia.wordpress.com
Edited by: Massimo Ruocchio on Feb 14, 2010 11:55 PM
Added the first one.
Similar Messages
-
Calling Web Service from PL/SQL (ORA-31011: XML parsing failed)
hi all,
i want to invoke a web service from PL/SQL.
i found a soap_api package from "Tim Hall".
but it gives error in "ealtas.soap_api.invoke function"
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00007: unexpected end-of-file encountered
ORA-06512: at "SYS.XMLTYPE", line 48
ORA-06512: at "EALTAS.SOAP_API", line 135
ORA-06512: at line 44
set scan off;
declare
P_ADRES_WS VARCHAR2(100) := 'http://<host>:<port>/dswsbobje/qaawsservices/biws?wsdl=1&cuid=AVhBxL14I2dDjz8yFoznRLY';
P_ENVELOPE VARCHAR2(32767);
P_FNC VARCHAR2(256) := 'runQueryAsAService';
ol_req ealtas.soap_api.t_request;
ol_resp ealtas.soap_api.t_response;
message varchar2(500);
BEGIN
p_envelope := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:db="DB_SUBS_BUDGET">
<soapenv:Body>
<db:runQueryAsAService>
<db:login>DWH_BO</db:login>
<db:password>Pass1234</db:password>
</db:runQueryAsAService>
</soapenv:Body>
</soapenv:Envelope>
ol_req := ealtas.soap_api.new_request(P_FNC, 'xmlns="'||P_ADRES_WS||'"');
ol_resp := ealtas.soap_api.invoke(ol_req, P_ADRES_WS, p_fnc,P_ENVELOPE);
ealtas.soap_api.show_envelope(p_envelope);
message := ealtas.soap_api.get_return_value(ol_resp, 'Db_Timeid', 'xmlns:m="'||P_ADRES_WS||'"');
DBMS_OUTPUT.PUT_LINE('AAAA -'||message);
end;
thanks.
ealtas.AlexAnd thanks for your help.
ACL is ok.
can you help me about how can i edit this function. i tried many times but i could not do it :( .
web service url : <host>:<port>/dswsbobje/qaawsservices/biws?WSDL=1&cuid=AVhBxL14I2dDjz8yFoznRLY
what must be these variables values ?
l_url :=
l_namespace :=
l_method :=
l_soap_action :=
l_result_name :=
this is the xml;
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="DB_SUBS_BUDGET" xmlns:tns1="dsws.businessobjects.com" targetNamespace="DB_SUBS_BUDGET" xmlns="http://schemas.xmlsoap.org/wsdl/" name="queryasaservice">
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="DB_SUBS_BUDGET">
- <s:element name="runQueryAsAService">
- <s:complexType>
- <s:sequence>
<s:element name="login" type="s:string" />
<s:element name="password" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:complexType name="Row">
- <s:sequence>
<s:element name="Db_Timeid" type="s:string" nillable="true" />
<s:element name="Db_Tariff" type="s:string" nillable="true" />
<s:element name="Grossadds" type="s:double" nillable="true" />
<s:element name="Cancellations" type="s:double" nillable="true" />
<s:element name="Netadds" type="s:double" nillable="true" />
<s:element name="Subs" type="s:double" nillable="true" />
<s:element name="Churn_P" type="s:double" nillable="true" />
</s:sequence>
</s:complexType>
- <s:complexType name="Table">
- <s:sequence>
<s:element name="row" maxOccurs="unbounded" type="s0:Row" />
</s:sequence>
</s:complexType>
- <s:element name="runQueryAsAServiceResponse">
- <s:complexType>
- <s:sequence>
<s:element name="table" type="s0:Table" />
<s:element name="message" type="s:string" />
<s:element name="creatorname" type="s:string" />
<s:element name="creationdate" type="s:dateTime" />
<s:element name="creationdateformated" type="s:string" />
<s:element name="description" type="s:string" />
<s:element name="universe" type="s:string" />
<s:element name="queryruntime" type="s:int" />
<s:element name="fetchedrows" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="QaaWSHeader">
- <s:complexType>
- <s:sequence>
<s:element name="sessionID" type="s:string" minOccurs="0" maxOccurs="1" nillable="true" />
<s:element name="serializedSession" type="s:string" minOccurs="0" maxOccurs="1" nillable="true" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
- <message name="runQueryAsAServiceSoapIn">
<part name="parameters" element="s0:runQueryAsAService" />
<part name="request_header" element="s0:QaaWSHeader" />
</message>
- <message name="runQueryAsAServiceSoapOut">
<part name="parameters" element="s0:runQueryAsAServiceResponse" />
</message>
- <portType name="QueryAsAServiceSoap">
- <operation name="runQueryAsAService">
<documentation>Get Web Service Provider server info</documentation>
<input message="s0:runQueryAsAServiceSoapIn" />
<output message="s0:runQueryAsAServiceSoapOut" />
</operation>
</portType>
- <binding name="QueryAsAServiceSoap" type="s0:QueryAsAServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="runQueryAsAService">
<soap:operation soapAction="DB_SUBS_BUDGET/runQueryAsAService" style="document" />
- <input>
- <soap:header message="s0:runQueryAsAServiceSoapIn" part="request_header" use="literal">
<soap:headerfault message="s0:runQueryAsAServiceSoapIn" part="request_header" use="literal" />
</soap:header>
<soap:body use="literal" parts="parameters" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="DB_SUBS_BUDGET">
<documentation />
- <port name="QueryAsAServiceSoap" binding="s0:QueryAsAServiceSoap">
<soap:address location="http://<host>:<port>/dswsbobje/qaawsservices/queryasaservice?&cuid=AVhBxL14I2dDjz8yFoznRLY&authType=secEnterprise&locale=en_US&timeout=60&ConvertAnyType=false" />
</port>
</service>
</definitions> -
Calling web service from oracle forms fails with ORA_JAVA.JAVA_ERROR
Problem Description:
I'm following the steps as per the doc:
http://www.oracle.com/technology/products/forms/htdocs/10gr2/howto/webservicefromforms/ws_10_1_3_from_forms.html
to create a java stub to call external web service and then use java importer in oracle forms to call this web service from oracle forms.
WSDL for external web service used is http://www.webservicex.net/CurrencyConverter.asmx?wsdl
Calling the web service using JDeveloper works fine but from Oracle Forms returns ORA_JAVA.JAVA_ERROR; Unable to call out to Java, Invalid object type for argument 1
The code from oracle form to call web service is as below:
DECLARE
jo ora_java.jobject;
rv ora_java.jobject;
ex ora_java.jobject;
outString varchar2(2000);
BEGIN
jo:= CurrencyConvertorStub.new;
--This will get the exchange rate from US Dollars to UK Sterling.
rv:= CurrencyConvertorStub.ConversionRate(jo,'CAD','USD');
message (float_.floatValue(RV));
EXCEPTION
WHEN ORA_JAVA.JAVA_ERROR then
message('Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR);
WHEN ORA_JAVA.EXCEPTION_THROWN then
ex := ORA_JAVA.LAST_EXCEPTION;
outString := Exception_.toString(ex);
message(outString);
END;
Any help/ideas on this is greatly appreciated. Thanks.Yes, it is the message line - so basically this call fails => rv:= CurrencyConvertorStub.ConversionRate(jo,'CAD','USD'); and control goes in the exception block
WHEN ORA_JAVA.JAVA_ERROR then
message('Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR);
Below is the code from java stub that was generated using JDeveloper by using web services stub/skeleton and associating the WSDL
public Double ConversionRate(String FromCurrency, String ToCurrency) throws Exception
URL endpointURL = new URL(endpoint);
Envelope requestEnv = new Envelope();
Body requestBody = new Body();
Vector requestBodyEntries = new Vector();
String wrappingName = "ConversionRate";
String targetNamespace = "http://www.webserviceX.NET/";
Vector requestData = new Vector();
requestData.add(new Object[] {"FromCurrency", FromCurrency});
requestData.add(new Object[] {"ToCurrency", ToCurrency});
requestBodyEntries.addElement(toElement(wrappingName, targetNamespace, requestData));
requestBody.setBodyEntries(requestBodyEntries);
requestEnv.setBody(requestBody);
Message msg = new Message();
msg.setSOAPTransport(m_httpConnection);
msg.send(endpointURL, "http://www.webserviceX.NET/ConversionRate", requestEnv);
Envelope responseEnv = msg.receiveEnvelope();
Body responseBody = responseEnv.getBody();
Vector responseData = responseBody.getBodyEntries();
return (Double)fromElement((Element)responseData.elementAt(0), java.lang.Double.class);
} -
How to call web services from PL/SQL?
Hi,
Can one help in how to call web services from PL/SQL? Steps, pros and cons, etc....
Thanks in advanceHere's some example skeleton code to get you started...
PROCEDURE p_soap_request(p_username IN VARCHAR2, p_password IN VARCHAR2, p_proxy IN VARCHAR2) IS
soap_request VARCHAR2(30000);
soap_respond CLOB;
http_req utl_http.req;
http_resp utl_http.resp;
resp XMLType;
soap_err exception;
v_code VARCHAR2(200);
v_msg VARCHAR2(1800);
v_len number;
v_txt Varchar2(32767);
BEGIN
UTL_HTTP.SET_PROXY(p_proxy);
-- Define the SOAP request according the the definition of the web service being called
soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>'||
'<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'||
' <SOAP-ENV:Body>'||
' <m:DownloadRequest xmlns:m="http://www.website.net/messages/GetDetails">'||
' <m:UserName>'||p_username||'</m:UserName>'||
' <m:Password>'||p_password||'</m:Password>'||
' </m:DownloadRequest>'||
' </SOAP-ENV:Body>'||
'</SOAP-ENV:Envelope>';
http_req:= utl_http.begin_request
( 'http://www.website.net/webservices/GetDetailsService.asmx'
, 'POST'
, 'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml');
utl_http.set_header(http_req, 'Content-Length', length(soap_request));
utl_http.set_header(http_req, 'Download', ''); -- header requirements of particular web service
utl_http.write_text(http_req, soap_request);
http_resp:= utl_http.get_response(http_req);
utl_http.get_header_by_name(http_resp, 'Content-Length', v_len, 1); -- Obtain the length of the response
FOR i in 1..CEIL(v_len/32767) -- obtain response in 32K blocks just in case it is greater than 32K
LOOP
utl_http.read_text(http_resp, v_txt, case when i < CEIL(v_len/32767) then 32767 else mod(v_len,32767) end);
soap_respond := soap_respond || v_txt; -- build up CLOB
END LOOP;
utl_http.end_response(http_resp);
resp:= XMLType.createXML(soap_respond); -- Convert CLOB to XMLTYPE
END;Using secure web services (https)...
Web serivces call in Plsql
As for 'pros and cons'... there's nothing to compare against... either you want to call a web service or you don't. -
SR: Calling Web Services from PL/SQL gives http 500 errors
Hi, people from Oracle Support sent me to this forum.
I'm trying to call the Calendar Web Services from PL/SQL using the utl_http package, but I'm getting http-500 errors.
I'm using the example from http://www.oracle.com/technology/tech/webservices/htdocs/samples/dbwebservice/DBWebServices_PLSQL.html
Here's the code
procedure showHtml
as
req soap_rpc.request;
resp soap_rpc.response;
BEGIN
req := soap_rpc.new_request('cwsl:NoOp',
'xmlns:cwsl="http://www.oracle.com/WebServices/Calendaring/1.0/"');
resp := soap_rpc.invoke(req,
'http://nllx004.nl.oracle.com/ocws-bin/ocas.fcgi',
dbms_output.put_line(resp.doc.getStringVal());
END;
Can anyone help?I am new to web services and am having trouble getting the utl_http.set_header call to work using pl/sql. listed below is the code.
CREATE OR REPLACE PACKAGE BODY adm_iModules_test
AS
NAME: Admissions iModules testing program
PURPOSE:
Ver Date Author Description
REVISIONS:
1.0 01/04/08 Julie Michael 1. Created this package body.
PROCEDURE adm_iModules_test_output
IS
--cursor to select data to populate output file
CURSOR c_iModules_main
IS
SELECT DISTINCT spriden_id sprid_id,
spriden_pidm sprid_pidm,
spriden_last_name sprid_last,
spriden_first_name sprid_first,
spriden_MI sprid_mid,
spriden_create_date sprid_create_date,
spriden_activity_date sprid_activity_date,
spbpers_pidm pers_pidm,
spbpers_name_prefix prefix,
spbpers_name_suffix suffix,
spbpers_dead_ind deceased_ind,
spbpers_dead_date deceased_date,
spbpers_birth_date, --added birth date
spbpers_sex, --added gender
goremal_pidm emal_pidm,
goremal_email_address email_address,
saradap_pidm app_pidm,
zzrimod_member_id imod_id,
gobtpac_external_user user_id
FROM spriden,
spbpers,
goremal,
saradap,
zzrimod,
gobtpac
WHERE spriden_pidm = spbpers_pidm
AND spriden_change_ind IS NULL
AND spriden_pidm = goremal_pidm
AND goremal_emal_code = 'PERS'
AND goremal_preferred_ind = 'Y'
AND spriden_pidm = saradap_pidm
AND spriden_pidm = 120116
AND spriden_pidm = gobtpac_pidm
AND spriden_pidm = zzrimod_pidm(+)
AND goremal_preferred_ind = 'Y'
AND saradap_term_code_entry in ('200810','200820','200830');
v_record VARCHAR2 (32000) := null;
v_record_counter NUMBER := 0;
f_iModules_output_test UTL_FILE.file_type;
f_iModules_filename_test VARCHAR2 (50) := 'Adm_iModules_Test.TXT';
f_iModules_dir_test VARCHAR2 (100) := 'TMP';
v_separator VARCHAR2 (50) := ',';
v_id VARCHAR2 (90) := '';
v_fname VARCHAR2 (40) := '';
v_lname VARCHAR2 (40) := '';
v_user VARCHAR2 (90) := '';
v_login VARCHAR2 (100) := '';
v_password VARCHAR2 (100) := '';
-- v_link VARCHAR2 (32767) := 'http://imodules.com/Web%20Services/';
--the below item 'http://admin.imodules.com - was https://admin.imodules.com
v_link VARCHAR2 (32767) := 'http://admin.imodules.com/ws_10/MemberQuery.asmx?WSDL';
v_non_existing_ids VARCHAR2 (100) := '"false"';
v_style VARCHAR2 (5) := '"1"';
v_imod_member_id VARCHAR2 (100) := '';
v_spriden_first_name VARCHAR2 (60) := '';
req Utl_Http.req; --for posting
resp Utl_Http.resp; --for posting
v_msg VARCHAR2(80); --for posting
H_Name VARCHAR2(255); --for posting
H_Value VARCHAR2(1023); --for posting
v_data_xml VARCHAR2(10000);
BEGIN
DBMS_OUTPUT.ENABLE(1000000);
f_iModules_output_test := UTL_FILE.fopen (f_iModules_dir_test, f_iModules_filename_test, 'w',32767);
v_record := '';
--needed for posting
-- Utl_http.set_proxy(proxy => 'xxx.yyy.com',
-- no_proxy_domains => 'xxx.com');
req := Utl_Http.begin_request(url => v_link,
method => 'POST');
-- FOR v_iModules2 IN c_iModules_main
-- LOOP
-- v_record_counter := v_record_counter + 1;
-- END LOOP;
-- v_record := 'DUQ'||','||v_record_counter||','||to_char(SYSDATE,'mm/dd/yyyy');
UTL_FILE.put_line (f_iModules_output_test, v_record, false);
v_record := null;
FOR v_iModules IN c_iModules_main
LOOP
v_id := v_imodules.sprid_id;
v_fname := v_imodules.sprid_first||'test';
v_lname := v_imodules.sprid_last;
v_user := '"'||v_imodules.email_address||'"';
v_imodules.imod_id := '29';
v_imod_member_id := '"'||v_imodules.imod_id||'"';
v_spriden_first_name := '"SPRIDEN_FIRST_NAME"';
v_login := '"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"';
v_password := '"xxxxxxxxxxxxxxxxxxxxxxxx"';
v_record :='<?xml version="1.0" encoding="utf-8"?>'||
'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'||' '||
'xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
'<soap:Body>'||'<Update xmlns:m='||v_link||'>'||'<AUTHENTICATION login='||v_login||' '||
'password='||v_password||' '||'addNonExistingIDs='||v_non_existing_ids||' '||'style='||
v_style||'/>'||'<MemberInformation ZZRIMOD_MEMBER_ID='||v_imod_member_id||'>'||
'<SPRIDEN_FIRST_NAME>'||v_fname||'</SPRIDEN_FIRST_NAME>'||'</MemberInformation>'||'</Update>'||
'</soap:Body></soap:Envelope>';
-- v_record := v_record := v_record||'<Update xmlns:m='||v_link||'>'||'<AUTHENTICATION login='||v_user||'>'||' '||
-- 'password='||v_password||' '||'addNonExistingIDs='||v_non_existing_ids||' '||'style='||
-- v_style||'/>'||'<MemberInformation ZZRIMOD_MEMBER_ID='||v_imod_member_id||' '||
-- 'column='||'"SPRIDEN_FIRST_NAME"'||' '||'newValue='||v_fname||'/>'||'</Update>';
dbms_output.put_line('code: '||v_record);
--v_record := v_record||v_separator||v_id||v_separator||v_name||v_separator||v_email;
--Http posting calls
Utl_Http.set_header(r => req,
name => 'Content-Type',
value => 'text/xml');
Utl_Http.set_header(r => req,
name => 'Content-Length',
value => to_char(length(v_record)) );
--JAM 03/25/08 - added to accomodate the missing soap action error
Utl_Http.set_header(r => req,
name => 'SOAPAction',
value => 'http://admin.imodules.com/ws_10/MemberQuery.asmx?WSDL');
Utl_Http.set_header(r => req,
name => 'MessageType',
value => 'CALL');
-- Utl_Http.set_authentication(r => req,
-- username => 'zzz',
-- password => 'ppppp',
-- scheme => 'Basic',
-- for_proxy => FALSE);
Utl_Http.write_text(r => req,
data => v_record);
resp := Utl_Http.get_response(r => req,
return_info_response => TRUE);
DBMS_OUTPUT.put_line('Status Code: ' || resp.status_code);
DBMS_OUTPUT.put_line('Reason Phrase: ' || resp.reason_phrase);
dbms_output.put_line('testing');
FOR i IN 1 .. Utl_Http.get_header_count(r => resp)
LOOP
Utl_Http.get_header(r => resp,
n => i,
name => H_Name,
value => H_Value);
--DBMS_OUTPUT.put_line( ... );
END LOOP;
BEGIN
LOOP
Utl_Http.read_text(r => resp, DATA => v_msg);
DBMS_OUTPUT.put_line(v_msg);
END LOOP;
EXCEPTION
WHEN Utl_Http.end_of_body THEN
NULL;
END;
Utl_Http.end_response(r => resp);
-- EXCEPTION
-- WHEN Utl_Http.request_failed THEN
-- DBMS_OUTPUT.put_line('Request failed: '||Utl_Http.Get_Detailed_Sqlerrm);
-- WHEN Utl_Http.http_server_error THEN
-- DBMS_OUTPUT.put_line('Http_Server_Error: '||Utl_Http.Get_Detailed_Sqlerrm);
-- WHEN Utl_Http.http_client_error THEN
-- DBMS_OUTPUT.put_line('Client Error: '||Utl_Http.Get_Detailed_Sqlerrm);
-- WHEN others THEN
-- DBMS_OUTPUT.put_line('Others2: '||Utl_Http.Get_Detailed_Sqlerrm);
-- Utl_Http.end_response(r => resp);
-- END;
--End of Htp posting calls
--UTL_FILE.put_line (f_iModules_output_test, v_record, false);
--htp.p('<post>'||v_record||'</post>');
END LOOP;
EXCEPTION
WHEN Utl_Http.request_failed THEN
DBMS_OUTPUT.put_line('Request failed: '||Utl_Http.Get_Detailed_Sqlerrm);
WHEN Utl_Http.http_server_error THEN
DBMS_OUTPUT.put_line('Http_Server_Error: '||Utl_Http.Get_Detailed_Sqlerrm);
WHEN Utl_Http.http_client_error THEN
DBMS_OUTPUT.put_line('Client Error: '||Utl_Http.Get_Detailed_Sqlerrm);
WHEN others THEN
DBMS_OUTPUT.put_line('Others2: '||Utl_Http.Get_Detailed_Sqlerrm);
Utl_Http.end_response(r => resp);
END;
-- close output file
--UTL_FILE.fclose (f_iModules_output_test);
--COMMIT;
/*EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
DBMS_OUTPUT.put_line ('Other Exception:' || SQLERRM);
-- DBMS_OUTPUT.put_line ('Other Exception:' || Utl_Http.Get_Detailed_Sqlerrm);
--COMMIT; */
-- END adm_iModules_test_output;
END adm_iModules_test;
Message was edited by:
user627523 -
Calling web services from PL/SQL
Hi,
We have a requirement where we need to call a web services from PL/SQL.
I believe we have a PL/SQL API that allows you to consume external web services.
I was looking for other possible options too to consume web Service from PL/SQL.
Can any one suggest the other possible options , and which option is best to consume web service.
Thanks
ABAB,
I didn't realize you cannot attach documents to your post. You will have to provide me with an email address that I can send the documents to. They are a little rough (ie not commented etc) but they do illustrate the point. The basic idea is to build up the payload of the soap envelope using pl/sql. Meaning as I loop through the cursor I use each record in the cursor to build an xml string. This string of xml becomes the payload of the soap message. This could also be done using xml functionality provided by the db meaning xmlelement, xmlforest etc. The issue I ran into was the size of the message. That is why I elected to build the xml message by string concatenation as I moved through the cursor.
Ryan -
Calling Web Service from PL/SQL in 9.2.0.4
We're having some problems getting the "Calling Web Services Sample from PL/SQL" sample working with our 9.2.0.4 database. After downloading the sample from http://www.oracle.com/technology/tech/webservices/htdocs/samples/dbwebservice/DBWebServices_PLSQL.html, we try to run the sample but get the following error stack:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00243: element attribute value must be enclosed in quotes
Error at line 20
ORA-06512: at "SYS.XMLTYPE", line 0
ORA-06512: at "TODDH.DEMO_SOAP", line 81
ORA-06512: at "TODDH.TIME_SERVICE", line 15
ORA-06512: at line 2
Has anyone encountered a similar problem? Any help is much appreciated.
Todd.the message looks very much like the one posted at http://asktom.oracle.com/pls/ask/f?p=4950:8:5812357525663697256::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:16568950771220
b.t.w. i don't think that any packages are missing. it seems that the XML is invalid. Did you use dbms_output commands to show the generated XML? -
Call web service from pl/sql
Dear All,
I have web service where I need to take picture as binary stream and insert it in the blob.
Which is the best way to call web service and store picture as binary stream (jpg file) into blob?
Kind regards,
E.Thank you very much for helping me to invoke web service into my database.
I got message, now I need to decode picture from base64binary. Is there any way to do it trough pl/sql or I need use java?
My database is 10g.
<?xml version="1.0" encoding="UTF-8"?>
<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:getFileResponse xmlns:ns1="urn:getfile1">
<return xsi:type="xsd:base64Binary">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</return>
</ns1:getFileResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope> -
Errors in calling web-service from pl/sql
Hello All,
Morning , we are getting the errors mentioned here (ORA-29261 bad argument , ORA-06512 at SYS.UTL_HTTP) while calling the composite (having a bpel process) deployed on 11g WLS server.
From PL/SQL side we are calling this by forming the soap request & calling like this : utl_http.begin_request('end point location of composite', 'POST', 'HTTP/1.1')
getting the response via : utl_http.get_response & finally ending the response : utl_http.end_response.
But we keep this error message for SYS.UTL_HTTP with bad argument and also at times it works fine as well without any errors ...but many times we get this error message.
Could someone please help as to how we could troubleshoot this issue/error ??
means how do we debug or trace the session for the composite instance on the 11g WLS server side ..how do we get the logging enabled on 11g side & whether this could be done from EM console for this deployed composite having issue.. Could someone please provide us the steps for this or any reference document.
We are not getting as to why sometimes this error shows up..could someone please help with inputs..this issue is a bit critical for us..
regardsHi Vlad,
Firstly thanks for your reply back ...tried this but it seems currently we don't have this utility installed from a database perspective.
--Is there any other way to debug the issue/exceptions coming with the use of utl_http ...this is really critical for us..
--Also is there any way to debug or trace from the 11g WLS server for this particular composite..
The other issue is that this error doesn't come always, but it does occur many a times..
Regards -
Calling Web Services from PL/SQL in the Oracle9i Database
hi
I tried this i have a local webserver
with page
index.html
which i am trying to call
however this doesn't work?
it gives the error
ora-29273 Http request failed
ora-06512 at sys.util_http
We are not using any proxyI am getting the following error when I replace as you said above and run the
select time_service.get_local_time('94065') from dual;
I get the following error :
he following error has occurred:
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1022
ORA-12545: Connect failed because target host or object does not exist
ORA-06512: at "DEMO_SOAP", line 71
ORA-06512: at "TIME_SERVICE", line 13 -
Calling secured web service from Pl SQL
Hi
I am trying to call a secured web service from pl/sql using utl_http.
Is there a sample pl/sql program that i can refer to call a secured web service.
sample soap header that am trying to acheive.
<soap:Header>
<wsa:Action>http://myactaction</wsa:Action>
<wsa:MessageID>uuid:asdfadrewrwqr</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:To>http://myact</wsa:To>
<wsse:Security soap:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="SecurityToken-321321">
<wsse:Username>mordfsafsdae</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">werwqrewrwe</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
Thanks a ton in advanceHi,
On way we can call a web service is to pass the Web Service URL to UTL_HTTP package:
Sample Web Service URL
===================
lv_url :=
'http://67.97.189.151:8888/plsqlsample/dbfunc?invoke=placeOrder'
|| '&'
|| 'param0=1'
|| '&'
|| 'param1=1'
|| '&'
|| 'param2=1';
Sample Call using UTL_HTTP
=====================
SELECT UTL_HTTP.request (lv_url)
INTO lv_result
FROM DUAL;
Thank you.
Regards,
Balu -
Error while calling .svc web service from pl/sql using utl_dbws
Hello Folks,
I am calling a .svc web service from pl/sql using utl_dbws and encountering the following error
javax.xml.rpc.soap.SOAPFaultException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
Can you help me find what am I doing wrong?
Thanks
RkHi,
Here are the details
1. What version?
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for 64-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
2. What error message ... we need the full and complete error stack not your interpretation of it.
ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException: The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Messag
3. "I am calling means what?" We need the full and complete statement showing the values of all parameters.
The input to the web-service is a xmltype containing address information and the web-service returns a string
CREATE OR REPLACE FUNCTION get_id
RETURN VARCHAR2
AS
l_service UTL_DBWS.service;
l_call UTL_DBWS.CALL;
l_wsdl_url VARCHAR2 (32767);
l_namespace VARCHAR2 (32767);
l_service_qname UTL_DBWS.qname;
l_port_qname UTL_DBWS.qname;
l_operation_qname UTL_DBWS.qname;
l_xmltype_in SYS.XMLTYPE;
l_xmltype_out SYS.XMLTYPE;
l_return VARCHAR2 (32767);
BEGIN
l_wsdl_url := 'http://test.com/test.svc?wsdl';
l_namespace := 'http://test.org/';
l_service_qname := UTL_DBWS.to_qname (l_namespace, 'SName');
l_port_qname := UTL_DBWS.to_qname (l_namespace, 'BasicHttpBinding_ISName');
l_operation_qname := UTL_DBWS.to_qname (l_namespace, 'Iden');
l_service :=
UTL_DBWS.create_service
(wsdl_document_location => urifactory.geturi
(l_wsdl_url),
service_name => l_service_qname
l_call :=
UTL_DBWS.create_call (service_handle => l_service,
port_name => l_port_qname,
operation_name => l_operation_qname
l_xmltype_in :=
SYS.XMLTYPE
('<IdenRequest xmlns:i="http://www.w3.org/XMLSchema-instance" xmlns="http://test.org/SNameIden.WCFService">
<address />
<zip>12345</zip>
<state>AA</state>
<street>W Test </street>
</address>
</IdenRequest>'
l_xmltype_out :=
UTL_DBWS.invoke (call_handle => l_call,
request => l_xmltype_in);
UTL_DBWS.release_call (call_handle => l_call);
UTL_DBWS.release_service (service_handle => l_service);
l_return := l_xmltype_out.EXTRACT ('//Iden/text()').getstringval();
RETURN l_return;
END;
/ -
Calling a Web Service from PL/SQL Procedure
How can you call a web service from a pl/sql package , also is it valid to call a web service from pl/sql according to Fusion Standards..
Hi,
On way we can call a web service is to pass the Web Service URL to UTL_HTTP package:
Sample Web Service URL
===================
lv_url :=
'http://67.97.189.151:8888/plsqlsample/dbfunc?invoke=placeOrder'
|| '&'
|| 'param0=1'
|| '&'
|| 'param1=1'
|| '&'
|| 'param2=1';
Sample Call using UTL_HTTP
=====================
SELECT UTL_HTTP.request (lv_url)
INTO lv_result
FROM DUAL;
Thank you.
Regards,
Balu -
New to Web Services - need to call a HTTPS web service from PL/SQL
I am new to Web Services and need to call HTTPS web service from PL/SQL program. I am using 10g Database.
I have been reading there are 2 options -
1. UTL_HTTP - with this package its possible to call HTTPS web services
2. UTL_DBWS
Questions -
1. Is it possible to call a HTTPS web service using UTL_DBWS ? I have not been able to find any information on it.
2. Can someone point me to UTL_HTTP and UTL_DBWS examples calling a HTTPS web service ?
3. The HTTPS web service that I need to call needs username/password to connect - how will I incorporate this in the pl/sql code ?
Appreciate the help.
Cheers,
newWebServicesUserHi,
1. UTL_DBWS not work for https from what I understand
2. Here is a sample example:
[http://www.oracle-base.com/articles/9i/ConsumingWebServices9i.php#]
Be careful, you must change http/1.0 IN 1.1 inside package SOAP_API.
Here is an example for a prime number where the SOAP message is already construct:
CREATE OR REPLACE procedure test_ws_2
IS
http_req utl_http.req;
http_resp utl_http.resp;
request_env varchar2(32767);
response_env varchar2(32767);
begin
-- Set proxy details if no direct net connection.
UTL_HTTP.set_proxy('http://<USER>:<PASS>@10.0.2.21:8070', NULL);
UTL_HTTP.set_persistent_conn_support(TRUE);
request_env:='<?xml version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">'||
'<SOAP-ENV:Body><GetPrimeNumbers xmlns="http://microsoft.com/webservices/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'||
'<max xsi:type="xsd:int">10</max>'||
'</GetPrimeNumbers></SOAP-ENV:Body></SOAP-ENV:Envelope>';
dbms_output.put_line('Length of Request:' || length(request_env));
dbms_output.put_line ('Request: ' || request_env);
http_req := utl_http.begin_request('http://www50.brinkster.com/vbfacileinpt/np.asmx','POST', utl_http.HTTP_VERSION_1_1);
utl_http.set_header(http_req, 'Content-Type', 'text/xml; charset=utf-8');
utl_http.set_header(http_req, 'Content-Length', length(request_env));
utl_http.set_header(http_req, 'SOAPAction', '"http://microsoft.com/webservices/GetPrimeNumbers"');
utl_http.write_text(http_req, request_env);
dbms_output.put_line('');
http_resp := utl_http.get_response(http_req);
dbms_output.put_line('Response Received');
dbms_output.put_line('--------------------------');
dbms_output.put_line ( 'Status code: ' || http_resp.status_code );
dbms_output.put_line ( 'Reason phrase: ' || http_resp.reason_phrase );
utl_http.read_text(http_resp, response_env);
dbms_output.put_line('Response: ');
dbms_output.put_line(response_env);
utl_http.end_response(http_resp);
end test_ws_2;
Otherwice for testing url, i recommand you to use that function: Re: Error using UTL_HTTP over HTTPS
it's a verry helpful function when you have an error.
wrote:
When testing using UTL_HTTP, you MUST ensure that you open a new session after importing the SSL certificates into your Wallet,
as I've learned (the hard way) that existing sessions point to the wallet contents that were present when the session was opened.
If you don't realise/know this, it can cause a lot of additional frustration during testing, when you keep getting the ORA-29024 exception AFTER
you've imported the SSL certificates................. ;) 3. i think you can use that after the begin_request but not sure :
UTL_HTTP.set_authentication(r => http_req,
username => ,
password => ,
scheme => ,
for_proxy => );
Edited by: Malebodja on Oct 22, 2009 6:53 AM
Edited by: Malebodja on Oct 22, 2009 6:55 AM -
Calling BI Publisher Web Service from pl/sql
I am trying to call the BI publisher web service from pl/sql.
I get the following response back
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
<faultstring>no SOAPAction header!</faultstring>
<detail>
<ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">my-obiee</ns2:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
The bit that concerns me is
<faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
<faultstring>no SOAPAction header!</faultstring>
The code that I used to call this is
DECLARE
req utl_http.req;
resp utl_http.resp;
value VARCHAR2(1024);
p_data_type varchar2(4000):= 'application/soap+xml;';
p_data_in VARCHAR2(3000) :=
'<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
<soapenv:Body>
<pub:scheduleReport xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
<scheduleRequest>
<deliveryRequest>
<ftpOption>
<ftpServerName>ino-ed-oel2.inoapps.com</ftpServerName>
<ftpUserName>*******</ftpUserName>
<ftpUserPassword>*****</ftpUserPassword>
<remoteFile>/opt/UAT/db/tech_st/11.1.0/employees.pdf</remoteFile>
</ftpOption>
</deliveryRequest>
<reportRequest>
<attributeFormat>pdf</attributeFormat>
<reportAbsolutePath>http://10.100.100.44:9704/xmlpserver/~administrator/XXXXXXX.xdo</reportAbsolutePath>
<parameterNameValues>
<item>
<name>dname</name>
<multiValuesAllowed>false</multiValuesAllowed>
<values>
<item>153002</item>
</values>
</item>
</parameterNameValues>
</reportRequest>
<userJobName>BILL</userJobName>
</scheduleRequest>
<userID>******</userID>
<password>******</password>
</pub:scheduleReport>
</soapenv:Body>
</soapenv:Envelope>';
BEGIN
--utl_http.set_proxy('proxy.my-company.com', 'corp.my-company.com');
req := utl_http.begin_request('http://10.100.100.44:9704/xmlpserver/services/PublicReportService?wsdl', 'POST');
utl_http.set_header(req, 'content-type', p_data_type);
utl_http.set_header(req, 'content-length', length(p_data_in));
utl_http.set_header(req, 'User-Agent', 'Mozilla/4.0');
utl_http.write_text(req, p_data_in);
resp := utl_http.get_response(req);
dbms_output.put_line ('status code: ' || resp .status_code);
dbms_output.put_line ('reason phrase: ' || resp .reason_phrase);
LOOP
utl_http.read_line(resp, value, TRUE);
dbms_output.put_line(value);
END LOOP;
utl_http.end_response(resp);
EXCEPTION
WHEN utl_http.end_of_body THEN
utl_http.end_response(resp);
END;
Any help would be greatly receivedI had the same problem this morning. You need to add a line to the HTTP header to declare a value for SOAPAction.
You can set this as an empty string, but for some reason it is required.
Try adding this among your header declarations:
utl_http.set_header(req, 'SOAPAction', '');
Maybe you are looking for
-
Hi guys; I can't seem to access my Pages documents in iCloud. They aren't on iCloud Drive (I know to stay away from that for now) When I go to icloud.com I click on the Pages icon and it tells me to upgrade to Yosemite. (I could probably drive to Yos
-
Hi, I'm having a problem with an ODBC connection that tells: "SQLException:[Microsoft][ODBC Driver Manager] Error in function sequence". I do'nt have idea on what can be the mistake. Here is my code: public class LeerFila extends JFrame { MSConnectio
-
Get the qty from the unrestricted stock
Hi, My Requirment is below Select material (MATNR), plant (WERKS), unrestricted stock (LABST) from table MARD where material (MATNR) IN S_MATNR AND plant (WERKS) IN S_WERKS. Inner join the selection above with table MAKT to retrieve the mater
-
Regarding extracting the images of the signatures from the signed pdf
We are using a TOPAZ sig pad Model: T-LBK750SE-BHSB-R to sign pdf documents using acrobat plugin. The PDF has more than one signature field to sign. All this happens in a web application that uses Javascript to submit the pdf. We also have a require
-
Cdrom install in new guest domain
Hi all -- I'm waiting for my T1000 to show up (should be here tomorrow) and I'm whiling away my time with reading the Admin Guide. Our Solaris machines (and these ldom's) are on a network that already has a Red Hat Kickstart server. I don't really fe