ORACLE_EBS(PM)项目应用手机审批

来源:互联网 发布:linux awk 指定匹配列 编辑:程序博客网 时间:2024/06/03 14:05

本次需求,对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;



原创粉丝点击