需要触发某张表,当新增或修改这张表时,调用存储过程,然后存储过程再调用webservice。
create or replace trigger userpostexchange_t
after insert or update on userpostexchangefor each row
declare
cn varchar2(50);
get_return varchar2(8);
begin
cn:=:new.cn;
amc_cndzzf_pkg.autoApprovalTask(cn,get_return);
EXCEPTION
WHEN OTHERS THEN
NULL;
end;
create or replace package amc_cndzzf_pkg is
url Varchar2(300) := 'http://127.0.0.1:7001/fsscRytb/services/PersonSynchroImpl'; --webservice的wsdl地址.
namespace Varchar2(1000) := 'xmlns="http://aaa.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema"';
action Varchar2(300) := '';
procedure autoApprovalTask(cn in varchar2,to_return out varchar2) is
req common_soap.request;
resp common_soap.response;
str varchar2(2000);
begin
str := '-----test------';
req := common_soap.new_request('addPerson', namespace);
common_soap.add_parameter(req, 'in0', '', cn);
resp := common_soap.invoke(req, url, action);
to_return := common_soap.get_return_value(resp, <