监理公司管理系统 | 工程企业管理系统 | OA系统 | ERP系统 | 造价咨询管理系统 | 工程设计管理系统 | 甲方项目管理系统 | 签约案例 | 客户案例 | 在线试用
X 关闭
OA办公协同系统

当前位置:工程项目OA系统 > OA软件营销 > OA办公协同系统

短信API接口在泛普OA办公系统中很好实现

申请免费试用、咨询电话:400-8352-114

短信API接口在泛普OA办公系统中很好实现
一. 接口说明
该接口用来实现调用各短信厂商提供的短信发送网关或者信息机实现泛普OA办公软件泛普OA系统短信发送的功能。
二. 实现方法&步骤

实现方法分为两类:一类是使用中间表方式实现,另外一类是可自行编写接口代码方式来调用方法;
中间表实现方法:接口的原理很简单,就是泛普OA办公软件泛普OA系统只负责把需要发送的短信数据放到中间表里,由短信设备供应商或客户自己把中间表里的数据发送出去。实际上大多数短信设备供应商已经实现了通过中间表方式发送短信。
接口对中间表的存放的位置、中间表名及字段名没有要求,因为往中间表插入数据的sql是在配置文件中指定的,但是有两点要注意
1.       必须使用sql server或oracle数据库,其他的数据库暂时不支持。
2.       必须有用于存放短信内容、短信接受人的字段。
使用说明:
在理解了上面的原理之后,我们可以继续了解配置使用接口的方法。
1. xml文件配置
文件位于ecoloyg/WEB-INF/service/sms.xml,打开这个文件,里面的内容如下:
<module id="sms" version="1.0.0">
    <service-point id="smssender" interface="OA.sms.SmsService">
        <invoke-factory>
            <construct class="OA.sms.JdbcSmsService">
                <set property="type" value="sqlserver"/>
                <set property="host" value="192.168.0.204"/>
                <set property="port" value="1433"/>
                <set property="dbname" value="泛普OA办公软件泛普OA系统3802"/>
                <set property="username" value="sa"/>
                <set property="password" value="123"/>
                <set property="sql" value="insert into OutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender) values(?,?,getDate(),1,1,1)"/>
            </construct>
        </invoke-factory>
    </service-point>  
</module>


我们需要关注的是红色部分的内容。我逐一讲解一下.
 <set property="type" value="sqlserver"/>: 指定中间表所在数据库的类型,如果是oracle的话就改为value="oracle"
 <set property="host" value="192.168.0.204"/>:  指定中间表所在数据库服务器的ip
 <set property="port" value="1433"/>: 指定中间表所在数据库的端口,如果是oracle的话应改为1521
 <set property="dbname" value="泛普OA办公软件泛普OA系统3802"/>: 指定中间表所在数据库名
 <set property="username" value="sa"/>: 指定中间表所在数据库帐号
 <set property="password" value="123"/>:指定中间表所在数据库密码
 以上的配置和OA.properties中的参数差不多,应该不难理解。
 <set property="sql" value="insert into OutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender) values(?,?,getDate(),1,1,1)"/>: 指定往中间表插入数据使用的sql语句。
表名:OutBox
字段:ReceiverMobileNo,   ----------------接受人
Msg,               ----------------短信内容
SendTime,          -----------------发送时间
IsChinese,          -----------------是否中文
ExpressLevel,       -----------------紧急程度
Sender             ----------------发送人

实际上我们只需要用到接受人和短信内容两个字段,这两个字段的值不是固定的,由我们的接口负责把数据传过来,因此用?号表示他们的值。其他字段的值我们不关心,可以随便写死一些数据,这个例子里全部写的1,发送时间是用sql server自带的函数getDate()获取的。

我们可以这样理解,最简单的中间表可以是这样子的:
表名:someTable
字段:MobileNo,
      messageBody
2. 短信设备配置文件修改
修改泛普OA办公软件泛普OA系统/WEB-INF/prop/OA_rtx.properties中的内容为:
#config file
#Fri Aug 13 11:30:56 CST 2004
IsInitRTXOrg=true
IsDownLineNotify=true
#CurSmsServer=rtx
CurSmsServerIsValid=true
RTXServerPort=8036
RTXServerIP=
RTXServerOutIP=


也就是说只要把CurSmsServer=rtx用#号注释掉就可以了。
3. 中间表之sql脚本样例
下面提供两个建中间表的sql脚本供参考:
1. for sqlserver
CREATE TABLE outbox (
 ID  int IDENTITY (1, 1) ,
 ExpressLevel int ,
 Sender varchar (50) ,
 ReceiverMobileNo varchar (50),
 Msg varchar (500) ,
 SendTime datetime,
 IsChinese bit
 )


2. for oracle
create table OUTBOX
(
  ID               NUMBER not null,
  EXPRESSLEVEL     NUMBER,
  SENDER           VARCHAR2(50),
  RECEIVERMOBILENO VARCHAR2(50) not null,
  MSG              VARCHAR2(500),
  SENDTIME         DATE not null,
  ISCHINESE        NUMBER not null
);
create sequence OUTBOX_ID_SEQ
minvalue 1
maxvalue 999999999
start with 141
increment by 1
cache 20;
CREATE OR REPLACE TRIGGER "SET_OUTBOX_ID" BEFORE
    INSERT  ON "OUTBOX"
FOR EACH ROW

DECLARE
  NEXT_OUTBOX_ID NUMBER;
BEGIN
  SELECT OUTBOX_ID_SEQ.NEXTVAL INTO NEXT_OUTBOX_ID FROM DUAL;
  :NEW.ID := NEXT_OUTBOX_ID;
END;

 

 oracle下对应的sms.xml文件内容为:
<module id="sms" version="1.0.0">
    <service-point id="smssender" interface="OA.sms.SmsService">
        <invoke-factory>
            <construct class="OA.sms.JdbcSmsService">
                <set property="type" value="oracle"/>
                <set property="host" value="192.168.0.204"/>
                <set property="port" value="1521"/>
                <set property="dbname" value="OA1"/>
                <set property="username" value="泛普OA办公软件泛普OA系统40002"/>
                <set property="password" value="泛普OA办公软件泛普OA系统"/>
                <set property="sql" value="insert into OutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender) values(?,?,(select sysdate from dual),1,1,'1')"/>
            </construct>
        </invoke-factory>
    </service-point>  
</module>
 


 注意:每次配置后需要重启OA服务方可生效;

 

发布:2006-03-09 18:31    编辑:泛普软件 · admin    [打印此页]    [关闭]

相关栏目

泛普OA系统推广 OA智能一体化 OA选型 OA制度 OA应用 OA推荐 OA移动 OA销售 有哪些OA 好用的OA OA怎么样 OA哪家好 OA是什么 OA好处 OA作用 OA使用 OA优点 OA特点 OA厂商 OA代理 OA系统对比 OA试用 免费OA OA报价 OA多少钱 OA注册 简单的OA OA网站 OA技术 OA维护 OA集成 OA介绍 手机办公app 在线OA OA与ERP 办公室OA OA企业单位 OA集团公司 OA表单 OA模块 OA办公系统 OA功能 即时通讯 OA办公软件 OA问题 办公管理 OA登陆 泛普OA市场分析 OA办公系统哪个好 泛普OA系统演示 OA软件招投标 泛普OA软件案例 泛普代理商 国内OA办公系统品牌排名 泛普OA软件价格 云OA软件及OA租赁 OA网络营销推广 OA软件人员招聘 OA办公协同系统 OA办公自动化 OA办公系统是什么 OA软件知识