本次需求,对EBS审批流程(客户开发的、标准的)用短信、WEB审批;同时支持短信猫和第三方接口。
1、注意ORACLE触发器少用,可以用JOB替代(如果使用JOB注意show parameter job参数。),或更好的JAVA服务。
2、对于PLSQL调用WEBSERVICE可以这样,注意这里中文传参乱码的问题可以用JAVA存储过程转换一下。
有啥米问题,联系我QQ:285979593
PROCEDURE UTL_HTTP_SEND(P_STATUS OUT VARCHAR2,P_PHONENUMBER VARCHAR2,P_MSG VARCHAR2)IS
req utl_http.req;
resp utl_http.resp;
v_msg varchar2(80);
v_url varchar2(32767);
value VARCHAR2(1000);
ret varchar2(4000);
status boolean default FALSE;
BEGIN
--utl_http.set_response_error_check ( enable => true );
-- utl_http.set_detailed_excp_support ( enable => true );
v_url:='http://XXXXXXXXXXXXXXX:8070/axis2/services/getUserResponsibity/sendMessage?phoneNumber='||P_PHONENUMBER||'&msg='||ENCODE(P_MSG);
req := utl_http.begin_request (v_url,'POST',utl_http.http_version_1_1 );
utl_http.set_header(req,'Content-Type','application/x-www-form-urlencoded');
utl_http.set_header(req, 'Content-Type', 'text/html; charset=utf-8');
utl_http.set_header(req,'Host','http://xxxxxxxxxxx:8070');
resp := utl_http.get_response ( r => req );
LOOP
utl_http.read_line(resp, value, TRUE);
ret:=ret||value;
END LOOP;
dbms_output.put_line ( 'STATUS CODE: ' || resp.status_code );
dbms_output.put_line ( 'REASON PHRASE: ' || resp.reason_phrase );
dbms_output.put_line(ret);
if instr(ret,'<ns:return>0</ns:return>')>0 then
P_STATUS:='S';
end if;
utl_http.end_response ( r => resp );
EXCEPTION
WHEN utl_http.end_of_body THEN
dbms_output.put_line(ret);
if instr(ret,'<ns:return>0</ns:return>')>0 then
P_STATUS:='S';
end if;
utl_http.end_response(resp);
END;