当前位置:首页>软件介绍>协同OA办公系统的短信接口实现过程 查询:
     
协同OA办公系统的短信接口实现过程

协同OA的短信接口 OA目前使用短信猫作为内置的短信发送设备,但往往客户本身已经采购了其他的短信服务商的产品,比如中国电信的企信通等等,如果要改用其他的短信发送装置的话可以通过OA短信接口实现。厦门OA短信接口包含了sendSMS(msg)方法,客户开发人员只要用自己的业务逻辑实现这个方法,厦门名易在需要发送短信的时候就会调用客户自己开发的发送方式。 另外,名易OA提供了基于中间表的接口实现,客户可以直接使用。这个接口实现的原理是把要发送的短信数据按照和短信设备供应商约定的格式写道中间表中,由短信设备供应商定时去获取数据并发送(大多数短信设备供应商已经提供了通过中间表方式发送短信的功能。) 在理解了上面的原理之后,接下来讲解一下配置使用接口的方法。 1.找到ecoloyg安装目录WEB-INFervicems.xml,打开这个文件,里面的内容如下: moduleid=smsversion=1.0.0 service-pointid=smssenderinterface=think.sms.SmsService invoke-factory constructclass=think.sms.JdbcSmsService setproperty=typevalue=sqlserver setproperty=hostvalue=192.168.0.204 setproperty=portvalue=1433 setproperty=dbnamevalue=OA3802 setproperty=usernamevalue=sa setproperty=passwordvalue=123 setproperty=sqlvalue=insertintoOutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender)values(?,?,getDate(),1,1,1) construct invoke-factory ervice-point module 需要关注的是红色部分的内容。这里逐一说明. setproperty=typevalue=sqlserver:指定中间表所在数据库的类型,如果是oracle的话就改为value=oracle setproperty=hostvalue=192.168.0.204:指定中间表所在数据库服务器的ip setproperty=portvalue=1433:指定中间表所在数据库的端口,如果是oracle的话应改为1521 setproperty=dbnamevalue=OA3802:指定中间表所在数据库名 setproperty=usernamevalue=sa:指定中间表所在数据库帐号 setproperty=passwordvalue=123:指定中间表所在数据库密码 以上的配置和think.properties中的参数差不多,应该不难理解。 setproperty=sqlvalue=insertintoOutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender)values(?,?,getDate(),1,1,1):指定往中间表插入数据使用的sql语句。例子中的这条sql是根据一个客户的需求写的,客户提供的中间表结构是: 表名:OutBox 字段:ReceiverMobileNo,----------------接受人     Msg,----------------短信内容     SendTime,-----------------发送时间     IsChinese,-----------------是否中文     ExpressLevel,-----------------紧急程度     Sender----------------发送人

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

不妨这样理解,最简单的中间表可以是这样子的: 表名:someTable 字段:MobileNo, messageBody 2.修改OAWEB-INFpropthink_rtx.properties中的内容为: IsInitRTXOrg=true IsDownLineNotify=true #CurSmsServer=rtx CurSmsServerIsValid=true RTXServerPort=8036 RTXServerIP= RTXServerOutIP= 也就是说只要把CurSmsServer=rtx用#号注释掉就可以了。 下面是两个建中间表的sql脚本供参考: 1.forsqlserver CREATETABLEoutbox( IDintIDENTITY(1,1), ExpressLevelint, Sendervarchar(50), ReceiverMobileNovarchar(50), Msgvarchar(500), SendTimedatetime, IsChinesebit ) 3.fororacle createtableOUTBOX ( IDNUMBERnotnull, EXPRESSLEVELNUMBER, SENDERVARCHAR2(50), RECEIVERMOBILENOVARCHAR2(50)notnull, MSGVARCHAR2(500), SENDTIMEDATEnotnull, ISCHINESENUMBERnotnull ); createsequenceOUTBOX_ID_SEQ minvalue1 maxvalue999999999 startwith141 incrementby1 cache20; CREATEORREPLACETRIGGERSET_OUTBOX_IDBEFORE INSERTONOUTBOX FOREACHROW

DECLARE NEXT_OUTBOX_IDNUMBER; BEGIN SELECTOUTBOX_ID_SEQ.NEXTVALINTONEXT_OUTBOX_IDFROMDUAL; :NEW.ID:=NEXT_OUTBOX_ID; END;

oracle下对应的sms.xml文件内容为: moduleid=smsversion=1.0.0 service-pointid=smssenderinterface=think.sms.SmsService invoke-factory constructclass=think.sms.JdbcSmsService setproperty=typevalue=oracle setproperty=hostvalue=192.168.0.204 setproperty=portvalue=1521 setproperty=dbnamevalue=think1 setproperty=usernamevalue=OA40002 setproperty=passwordvalue=OA setproperty=sqlvalue=insertintoOutBox(ReceiverMobileNo,Msg,SendTime,IsChinese,ExpressLevel,Sender)values(?,?,(selectsysdatefromdual),1,1,'1') construct invoke-factory ervice-point module

客户开发人员可以自己实现接口: publicclassTestServiceimplementsSmsService{    publicbooleansendSMS(StringsmsId,Stringnumber,Stringmsg){    System.out.println(接受人:+number);    System.out.println(测试短信:+msg);    。。。    returntrue;    } } 那么OA系统在发送短信时将会调用TestService中的sendSMS方法。 把这个实现部署到OA中,只需修改sms.xml就可以了,: moduleid=smsversion=1.0.0 service-pointid=smssenderinterface=think.sms.SmsService invoke-factory constructclass=TestService construct invoke-factory ervice-point module

红色部分表示OA在发送短信是将调用TestService实现。


商业智能软件的市场趋势OA办公系统包含有哪些功能呢?
实施沈阳OA信息化软件的几个细节OA办公自动化系统功能有哪些?
OA软件方便通过编写代码实现对表单字段内容的控制企业如何建立完善沈阳OA信息化系统?
OA办公系统对相关字段属性的解释说明:沈阳OA信息化软件系统管理办法-参考
沈阳OA软件为您介绍OA系统中的报表的查看权限名易软件微信营销微伙伴2.5.11版更新上线
名易软件微信营销在线平台全新升级上线名易软件微信营销粉丝卡全新上线
名易软件微信营销获张江高科千万元投资 公司称未来不排除联姻腾讯软件定义存储:是什么?怎么用?
OA《培训学习管理系统》课外辅导培训选择在线平台,合同是关键!名易软件软件让您放心!
信息发布:广州名易软件有限公司 http://www.myidp.net
  • 名易软件销售服务
  • 名易软件销售服务
  • 名易软件技术服务

  • 协同OA办公系统的短信接口实现过程