短信API接口在泛普OA办公系统中很好实现
短信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服务方可生效;
- 1物流管理OA系统
- 2协同OA
- 3OA系统价格
- 4OA系统教程
- 5OA系统企业版
- 6OA特点
- 7OA代理
- 8家具行业ERP系统(OA)
- 9环保行业OA系统(ERP)
- 10石油行业ERP系统(OA)
- 11银行行业ERP系统(OA)
- 12政府行业ERP系统(OA)
- 1电子协同oa办公系统
- 2泛普软件提供的协同OA办公系统公文交换解决方案
- 3电力设计院协同oa办公管理软件平台系统的设计思路
- 4协同信息管理系统
- 5协同办公系统建立
- 6协同办公管理软件oa
- 7协同OA软件的信息管理平台工资条需求
- 8协同oa免费
- 9企业协同办公解决方案
- 10oa协同办公平台系统
- 11OA办公平台将企业的办公流程进行规范和简化
- 12设计协同平台
- 13工作流OA办公管理软件系统怎么选择好呢?打不开怎么办?
- 14OA办公自动软件系统公文流转处理上对应介绍
- 15医院协同oa办公系统软件
- 16协同设计软件
- 17免费oa系统协同
- 18设计院协同管理软件
- 19手机协同办公系统软件
- 20企业oa协同办公系统
- 21国内协同办公软件
- 22协同oa解决方案
- 23协同办公系统建设意义
- 24OA软件全方位地整合和优化企业的信息
- 25移动oa协同办公系统价格
- 26客户营销管理系统CRM系统需要有BI决策分析
- 27医院天然气协同oa办公管理软件系统有多少业务模块
- 28泛普OA办公软件单点登录集成其他BS软件
- 29协同工作门户
- 30协同办公oa软件
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼