当前位置:首页>软件介绍>协同OA软件通用短信接口实现方式及使用说明 查询:
     
协同OA软件通用短信接口实现方式及使用说明
名易通用短信接口实现方式及使用说明名易oa协同办公平台通用短信接口实现方式及使用说明考虑到目前短信设备多如牛毛,我们不可能和每个供应商做集成开发,因此设计了这个短信通用接口。接口的原理很简单,就是名易OA系统只负责把需要发送的短信数据放到中间表里,由短信设备供应商或客户自己把中间表里的数据发送出去。实际上大多数短信设备供应商已经实现了通过中间表方式发送短信。接口对中间表的存放的位置、中间表名及字段名没有要求,因为往中间表插入数据的sql是在配置文件中指定的,但是有两点要注意1.必须使用sqlserver或oracle数据库,其他的数据库暂时不支持。2.必须有用于存放短信内容、短信接受人的字段。名易OA使用说明:在理解了上面的原理之后,我们可以继续了解配置使用接口的方法。1.找到名易OA系统WEB-INFervicems.xml,打开这个文件,里面的内容如下:moduleid=smsversion=1.0.0service-pointid=smssenderinterface=OA.sms.SmsServiceinvoke-factoryconstructclass=OA.sms.JdbcSmsServicesetproperty=typevalue=sqlserversetproperty=hostvalue=192.168.0.204setproperty=portvalue=1433setproperty=dbnamevalue=名易OA系统3802setproperty=usernamevalue=sasetproperty=passwordvalue=123setproperty=sqlvalue=insertintoOutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender)values(?,?,getDate(),1,1,1)constructinvoke-factoryervice-pointmodule我们需要关注的是红色部分的内容。我逐一讲解一下.setproperty=typevalue=sqlserver:指定中间表所在数据库的类型,如果是oracle的话就改为value=oraclesetproperty=hostvalue=192.168.0.204:指定中间表所在数据库服务器的ipsetproperty=portvalue=1433:指定中间表所在数据库的端口,如果是oracle的话应改为1521setproperty=dbnamevalue=名易OA系统3802:指定中间表所在数据库名setproperty=usernamevalue=sa:指定中间表所在数据库帐号setproperty=passwordvalue=123:指定中间表所在数据库密码以上的配置和OA.properties中的参数差不多,应该不难理解。setproperty=sqlvalue=insertintoOutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender)values(?,?,getDate(),1,1,1):指定往中间表插入数据使用的sql语句。例子中的这条sql是我给一个客户写的,客户提供的中间表结构是:表名:OutBox字段:ReceiverMobileNo,----------------接受人Msg,----------------短信内容SendTime,-----------------发送时间IsChinese,-----------------是否中文ExpressLevel,-----------------紧急程度Sender----------------发送人实际上我们只需要用到接受人和短信内容两个字段,这两个字段的值不是固定的,由我们的接口负责把数据传过来,因此用?号表示他们的值。其他字段的值我们不关心,可以随便写死一些数据,这个例子里我全部写的1,发送时间是用sqlserver自带的函数getDate()获取的。我们可以这样理解名易,最简单的中间表可以是这样子的:表名:someTable字段:MobileNo,messageBody2.修改名易OA系统WEB-INFpropOA_rtx.properties中的内容为:#configfile#FriAug1311:30:56CST2004IsInitRTXOrg=trueIsDownLineNotify=true#CurSmsServer=rtxCurSmsServerIsValid=trueRTXServerPort=8036RTXServerIP=RTXServerOutIP=也就是说只要把CurSmsServer=rtx用#号注释掉就可以了。(相信大家都清楚CurSmsServer参数是用来指定当前短信发送设备的)下面我提供两个建中间表的sql脚本供客户参考:1.forsqlserverCREATETABLEoutbox(IDintIDENTITY(1,1),ExpressLevelint,Sendervarchar(50),ReceiverMobileNovarchar(50),Msgvarchar(500),SendTimedatetime,IsChinesebit)3.fororaclecreatetableOUTBOX(IDNUMBERnotnull,EXPRESSLEVELNUMBER,SENDERVARCHAR2(50),RECEIVERMOBILENOVARCHAR2(50)notnull,MSGVARCHAR2(500),SENDTIMEDATEnotnull,ISCHINESENUMBERnotnull);createsequenceOUTBOX_ID_SEQminvalue1maxvalue999999999startwith141incrementby1cache20;CREATEORREPLACETRIGGERSET_OUTBOX_IDBEFOREINSERTONOUTBOXFOREACHROWDECLARENEXT_OUTBOX_IDNUMBER;BEGINSELECTOUTBOX_ID_SEQ.NEXTVALINTONEXT_OUTBOX_IDFROMDUAL;:NEW.ID:=NEXT_OUTBOX_ID;END;oracle下对应的sms.xml文件内容为:moduleid=smsversion=1.0.0service-pointid=smssenderinterface=OA.sms.SmsServiceinvoke-factoryconstructclass=OA.sms.JdbcSmsServicesetproperty=typevalue=oraclesetproperty=hostvalue=192.168.0.204setproperty=portvalue=1521setproperty=dbnamevalue=OA1setproperty=usernamevalue=名易OA系统40002setproperty=passwordvalue=名易OA系统setproperty=sqlvalue=insertintoOutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender)values(?,?,(selectsysdatefromdual),1,1,'1')constructinvoke-factoryervice-pointmodule名易OA协同实际上使用中间表来和短信供应商集成只是我们通用接口的一部分,这种实现方式的缺点是短信供应商通常以定时扫描中间表的方式来把短信数据发送出去,短信发送的时间取决于扫描的频度,实时性稍差。如果客户不喜欢中间表的方式,他还可以选择自己去实现发送短信的方法,当然,必须使用java编程语言。当他把自己写的发送方法部署到系统中之后,名易OA系统在发送短信的时候就会调用客户的实现。部署的方法也很简单,复杂的是只有java程序员才看的懂,具体操作起来可以向名易开发人员咨询:1.编写客户自己的实现。只需要实现我们提供的SMSService接口:publicinterfaceSmsService{publicbooleansendSMS(StringsmsId,Stringnumber,Stringmsg);}假定客户是这样实现的:publicclassTestServiceimplementsSmsService{publicbooleansendSMS(StringsmsId,Stringnumber,Stringmsg){System.out.println(接受人:+number);System.out.println(测试短信:+msg);returntrue;}}那么名易OA系统系统在发送短信时将会调用TestService中的sendSMS方法。2.把客户的实现部署到名易OA系统中。修改sms.xml就可以了,我还是用上面的客户实现为例:moduleid=smsversion=1.0.0service-pointid=smssenderinterface=OA.sms.SmsServiceinvoke-factoryconstructclass=TestServiceconstructinvoke-factoryervice-pointmodule红色部分表示名易OA系统在发送短信是将调用TestService实现。
oa办公系统带数据库机关oa办公系统
装饰办公系统oa办公系统配置
oa办公系统基本功能oa办公系统控件
oa办公系统渠道招商食品批发软件主要业务模块
XX集团之前OA系统无法实现的需求功能和新增的需求解决方案食品批发软件的特点
oa办公系统详细设计oa系统在线演示
如何正确认识免费进销存软件下载云存储和免费进销存软件下载都是云架构技术实现
免费进销存软件下载启动十三五规划 本土企业欲“驾云”弯道超车协同OA办公系统的二次开发经验总结
信息发布:广州名易软件有限公司 http://www.myidp.net
  • 名易软件销售服务
  • 名易软件销售服务
  • 名易软件技术服务

  • 协同OA软件通用短信接口实现方式及使用说明