Home » SQL & PL/SQL » SQL & PL/SQL » call a web service in a function in plsql (oracle 10g)
call a web service in a function in plsql [message #650702] Sat, 30 April 2016 02:55 Go to next message
shahrezaei
Messages: 1
Registered: April 2016
Location: Iran
Junior Member

Hi
I called a web service in a function without any problem as bellow

"
CREATE OR REPLACE FUNCTION send_sms (Username1 IN varchar2 ,
PassWord1 IN varchar2 ,
MessageBodie1 in varchar2,
RecipientNumbers1 in varchar2,
SenderNumber1 in varchar2 ,
type1 in number ,
Alloweddelay1 in number)
RETURN NUMBER
AS
l_request soap_api.t_request;
l_response soap_api.t_response;
l_return VARCHAR2(32767);

l_url VARCHAR2(32767);
l_namespace VARCHAR2(32767);
l_method VARCHAR2(32767);
l_soap_action VARCHAR2(32767);
l_result_name VARCHAR2(32767);
cnt number:=0;
BEGIN
l_url := 'http://sms-webservice.ir/v1/v1.asmx';
l_namespace := 'xmlns="http://www.sms-webservice.ir"';
l_method := 'SendMessage';
l_soap_action := 'http://www.sms-webservice.ir/SendMessage';
l_result_name := 'long';

l_request := soap_api.new_request(p_method => l_method,
p_namespace => l_namespace);

soap_api.add_parameter(p_request => l_request,
p_name => 'Username',
p_type => 'xsd:string',
p_value => Username1);

soap_api.add_parameter(p_request => l_request,
p_name => 'PassWord',
p_type => 'xsd:string',
p_value => PassWord1);

soap_api.add_parameter(p_request => l_request,
p_name => 'MessageBodie',
p_type => 'xsd:string',
p_value => MessageBodie1);

soap_api.add_parameter(p_request => l_request,
p_name => 'RecipientNumbers',
p_type => 'tns:ArrayOfString',
p_value => '<string>' || RecipientNumbers1 || '</string>');

soap_api.add_parameter(p_request => l_request,
p_name => 'SenderNumber',
p_type => 'xsd:string',
p_value => SenderNumber1);

soap_api.add_parameter(p_request => l_request,
p_name => 'Type',
p_type => 'xsd:int',
p_value => type1);

soap_api.add_parameter(p_request => l_request,
p_name => 'Alloweddelay',
p_type => 'xsd:int',
p_value => Alloweddelay1);

l_response := soap_api.invoke(p_request => l_request,
p_url => l_url,
p_action => l_soap_action);


l_return := soap_api.get_return_value(p_response => l_response,
p_name => l_result_name,
p_namespace => l_namespace);


RETURN l_return;
END;
"

now I want to have another function that receive any sms from this server.
"GetAllMessages (UserName as string , PassWord as string, destNumber as string, numberOfMessages as Integer) as Collection "

it return a array string but ido not now how to return or get array parameter, please help me
Re: call a web service in a function in plsql [message #650706 is a reply to message #650702] Sat, 30 April 2016 07:24 Go to previous message
BlackSwan
Messages: 26766
Registered: January 2009
Location: SoCal
Senior Member
shahrezaei
Messages: 1
Registered: April 2016
Location: Iran

Not legal to have or use Oracle
Previous Topic: error creating external via dbms_utility.exec_ddl_statement@myDB
Next Topic: how to match multiple wildcards via metadata table
Goto Forum:
  


Current Time: Thu Mar 28 16:16:15 CDT 2024