infoX-MASAPI接口说明_第1页
infoX-MASAPI接口说明_第2页
infoX-MASAPI接口说明_第3页
infoX-MASAPI接口说明_第4页
infoX-MASAPI接口说明_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、infoX-MASAPI口说明1.1 JAVA接口概述11.2读者范畴1 1.3有关约定1 2 API讲明 12.1 API 概述 12.2差不多数据类型介绍 22.3数据结构详细描述22.4接口介绍62.4.1 DBSMProxv 62.4.2 initCoiin62.4.3 initCoiin72.4.4 initCoiin82.4.5 sendSm 82.4.6 sendMultiSm 92.4.7 getReceivedSms102.4.8 quervSmsResult112.4.9 login 122.4.10 isComiected 132.4.11 logout 132.4.12

2、 destroy 133安装使用指导153.1 介绍安装 JAVA SMS API 13.2导入开发库13.3方法调用14示例代码14.1初始化连接对象并登录14.2发送短信24.3查询短信发送情形34.4查询短信接收情形44.5销毁连接或者退出登录55配置文件讲明15.1 Apiconf.xrnl 1表格名目表2-1 Java API的短信接口1表22差不多数据类型简介 2表23 SmReceiveBean字段讲明 2表2-4 SmSendBean字段讲明3表 25 SmSendResultBean 字段讲明 5总体讲明关于本章本章描述内容如下表所示。标题内容0JAVA接口概述介绍JAVA接

3、口的背景知识。0读者范畴介绍本手册的读者对彖。0有关约定介绍本手册的有关约定。JAVA接口概述为了企业用户更加简便、灵活地实现有关的业务,企业业务系统能够 接入MAS (Mobile Agent Serve】)的应用开发接口。MAS以JAVA的方 式封装其短信接口,提供给企业应用系统调用。该JAVA组件封装的对象能够提供短信单发接口、数据库初始化接 口、用户登录初始化接口、短信接收接口、短信查询接口,其中短信查询 接口用于查询差不多发送的短信的情形。该版本不提供短信群发接口和点点通短信接口。读者范畴本手册适用于华为公司MAS开发人员,企业IT治理、爱护部门的有 关开发人员。有关约定在本文中,每

4、个 API (Application Programming Interface)函数的描 述由四部分组成:函数功能、函数原型、参数讲明和返回码/值。函数功能描述API的要紧功能。函数原型描述API原型,可直截了当拷贝程序中的函数原型代码。参数讲明名称:参数名称如何懂得:对参数的简单讲明备注:输入/输出参数的有关信息返回码/值API调用过程中的返回码/值,分为成功时的返回和专门返回。如果是 专门返回,分别对每一个可能的专门进行详细描述,包括专门名称及相应 讲明。API讲明关于本章本章描述内容如下表所示。标题内容OAPI概述介绍JAVA短信API的差不多组成。0差不多数据类型介绍各类数据结构介绍

5、。API概述本文档定义了开发程序和MAS之间的所有短信API,如0所示。Java API的短信接口序号接口名称描述1public DBSMPioxyQ建立一个和MAS短信接1 1访咨询的代 理对象。2public filial void initComi() tluows Exception初始化和MAS系统的连接。3public final void initCoim(Strmg confFile) throws Exception初始化和MAS系统的连接。4public final void initComi(Map args) throws Exception初始化和MAS系统的连接。5

6、public filial mtSendSm(SmSendBeaii sendBean) throws Exception发送短消息接口消息。6int sendMultiSm(SmSendBeaii sendBeaii)发送短消息接II,提交一条群发消息到 MAS的发送消息队列。7getReceivedSms(int maxCount, java.util.Date fiomTune, java.util.Date endTime, javaangStiing orgAddi;javaangSt】ing destAddr) tluows javaangExc 亡 ptum从MAS接收的消息队列

7、中猎取消息。8public final SmSendResultBean queiySmsResult(int sm_id. java.util.Date fromTimejava.util.Date endTime,Stimg oigAddr.Struig destAddr) tluows Exception查询短消息发送结果。9public filial void logiii(Stimg userName, Stiiiig password) tluows Exception按照用户名、密码登录系统,登录 MAS,如果失败抛出专门。序号接口名称描述10boolean isComiecte

8、dQ判定API是否差不多和MAS建立了连 接。11public filial void logoutQ退出登录函数仅仅清理当前的用户,能 够在此基础上再次登录,连接仍旧是存 在的。12public filial void destroyQ销毁函数,将清理连接,关闭数据库连 接。差不多数据类型介绍短信API中各种差不多数据类型表示如下。差不多数据类型简介名称如何懂得SmSendBeaii短信发送的消息结构体。SniReceiveBean接收消息的结构体描述。SmSendResultBeaii发送结果的消息体描述。数据结构详细描述SniReceiveBean接收消息的结构体描述。从MAS中猎取消息

9、,猎取完成之后自动在t bl_smreceived表中把Reservel字段配置为1。结构体各字段的讲明请参见 OoSniReceiveBean 继承于 SmSendBeanoSniReceiveBean 字段讲明字段名字段类型字段讲明smActioiiIDprivatejava.lang.Strmg接收消息的要求类型。CMPP (China Mobile Peer to Peer) 3消息点播使用,参 见 CMPP3 协议。SMPP (Short Message Peer to Peer)不使用。smActioiiReasoiiIDprivatejava.lang.Strmg接收消息的要求缘

10、故。CMPP3消息点播 使用。SMPP不使用。sniDestAddrprivatejava.lang.Strmg接收消息的目的地址,对应的确实是SP 的接入号。sinldprivate int接收消息id (唯独标识),为-1的时候表 明此消息为无效消息。字段名字段类型字段讲明sinMessaeelDprivatejava.lang.Strmg接收消息的类型。CMPP3消息点播使 用。SMPP不使用。sinMsgContentprivatejava.lang.Strmg接收消息的消息内容。smOrgAddiprivatejava.lang.Strmg接收消息的源地址,对应于发送方手机号 码。s

11、mOigAddrTvpeprivate int接收消息的源地址类型,包括两种类型: 掩码真实手机号码CMPP3消息点播使用。SMPP不使用。sniRecvTimeprivatejava.util.Date接收消息的接收时刻。sniReseivelprivatejava.lang.Strmg接收消息的保留标识,临时没有使用。sniReseive2privatejava.lang.Strmg接收消息的保留标识,临时没有使用。smServiceLDprivatejava.lang.Strmg接收消息的要求业务ido CMPP3消息点 播使用。SMPP不使用。smTypeprivate int接收消息

12、的类型。CMPP3消息点播使 用,SMPP不使用。SmSendBeanSmSendBean是短信发送的消息结构体。在那个结构体中,必要填写 的字段只有目的地址和消息内容,其他字段使用文件或者API中的缺省 值。如果缺省值不对,将导致无法调用,调用者需要自己在调用API初始 化的时候,指定API属性配置文件,或者在程序中设定非必填字段。结构 体各字段的讲明请参见0。SmSendBean字段讲明字段名字段类型字段讲明priorityprotected int优先级别,对应于niasdb的SENDLEVELosendSNlIDprotected mt返回发送到MAS的smid,唯独标识发送 短信的I

13、D。字段名字段类型字段讲明sendTvpeprotected int发送类型。 0: SMSEND_TYPE_TEXT, 般文本 消息 5: SMSEND_TYPE_WAPPUSH, WAP PUSH消息默认值:0sniDestAddisprotected java.lang. Striiig目的手机号码。填写接收该条短信的手 机号码。能够为任意多个,API函数自动 拆分成多条短信发送。该字段为必填字 段。sniDestAddiTypeprotected int目的地址类型。CMPP3消息点播使用, SMPP不使用。sinFeeCodeprotected java.lang. String配合

14、smFeeType,用来标识计费多少费 用。在CMPP协议中,单位为分。在国外,需要按照当地的协议规定填 写。sinFeeTypeprotected java.lang. String计费类型,标识包月、封顶、单条、免 费、不计费等。按照当地协议规定。 CMPP:请参考CMPP协议填写。 SMPP:无意义。sinMessaeelDprotected java.lang. StringCMPP3点播使用,SMPP无须填写。sinMsgContentprotected java.lang. String短消息内容。此字段为必填字段。smMsgEDprotected java.lang. Strin

15、g用作第三方计费使用,SMPP等协议临时 不使用。sinNeedStateReportprotected int该条消息是否需要状态报告。smOrgAddrprotected java.lang. String消息的源地址。如果是SP业务,则是对 应的SP接入号。sniReseivelprotected int保留字段。sniResenTe2protected java.lang. String保留字段,暂无意义。SMSEND_TYPE_T EXTstatic int发送类型,等于此数值的时候为一般文 本下发。字段名字段类型字段讲明SMSEND_TYPE_WAPPUSHstatic int发送

16、类型,当发送类型为5的时候是 WAP PUSH 消息。格式:URL,消息正文(中间用逗号分 隔)。smSendTuneprotected java.util.Date打算发送短信的时刻。smServiceldprotected java.lang. String在CMPP中对应于对应的seivice-id。在 SMPP中对应业务类型字段。smSmTypeprotected intSMTvpe,用来标识消息类型,一般文本 消息能够不填写。国外无须填写此字 段。smTivTimesJprotected int需要重发的次数。taskNameprotected java.lang. String应用

17、程序能够自己定义任务名称。按照 此任务名称能够从发送结果表中查询对 应的一批任务。SmSendResultBeanSmSendResultBean为发送结果的消息体描述。结构体各字段的讲明请 参见OoSmSendResultBean 字段讲明字段名字段类型字段讲明sinFeeCodeprotected int短信发送时候的资费代码。CMPP、SGIP 中单位为分,SMPP临时没有意义。sinFeeT ennniallDprotected java.laiig. String此条短消息的计费终端号码。CMPP、 SGIP使用。sinFeeTypeprotected java.laiig. Str

18、ing计费用户类型。sinFeeUseiTypeprotected java.laiig. String计费用户类型。CMPP、SGIP使用。sinMsgFmtprotected int此条短消息的消息内容格式。sinMsgStatusprotected java.laiig. String短信的发送状态,即短信提交到短信网 关后的错误码。请参见短信网关错误码 参考。字段名字段类型字段讲明sniRecvStatusprotected java.laiig. String短信的接收状态,即手机收到短信的状 态码。 0:成功其他:失败sniRecvTimeprotectedjava.util.Da

19、te短信被手机终端收到的时刻。当短信设 置了需要状态报告的时候,本字段有意 义。sniResultldprotected int每口发送结果的短信生成id。临时未 用。smSentTmieprotectedjava.util.Date短信提交到短信网关的时刻。smSm_Typeprotected int目前此字段暂无意义。smSnildprotected int代表此消息的唯独标识id。请参见send 函数返回的sm_idosmSubmitTuneprotectedjava.util.Date短信提交到MAS的时刻。smValidTimeprotectedjava.util.Date短信发送完

20、成,被记录入MAS历史库的 时刻。接口介绍DBSMProxvJpublic DBSMProxyO函数描述该函数用于建立一个和MAS短信接口访咨询的代理对象。调用前提无。initC onnpublic final void initComi(java.util.Map args)tlu ows j ava. lang .Exception函数描述该函数按照指定的nmp参数,初始化和MAS的连接,按照传递的参 数,初始化数据库连接。这些字段必须小写。必要字段必须是String类型,包括:url: JDBC连接数据库的URLuser:连接数据库的用户名password:连接数据库的用户对应的密码非必

21、要字段包括: test-sql:测试数据库连接的语句 name:数据库名conect-charset:字符集watch-inteival:检测数据库是否连接正常的间隔时刻driver:数据库JDBC驱动调用前提无。参数args:初始化参数列表抛出调用错误的时候抛出专门,专门包括:API使用状态不对初始化失败参数不对initConnpublic final void initComi(java.lang. String confFile)tlu ows j ava. lang .Exception函数描述该函数按照指定的配置文件,初始化和MAS的连接。xml文件中关 于数据库的描述路径:conf

22、ig/database/eiedb下包含配置。具体参数配置参 见开发包的配置文件样例。调用前提无。参数confFile : API配置文件路径抛出调用错误的时候抛出专门,专门包括:API使用状态不对初始化失败参数不对initC onnpublic final void initCoim()tluows j ava. lang. Exception函数描述该函数按照API内部约定的默认的配置文件路径,初始化和MAS的 连接。配置文件默认存放在相对当前工作名目下的apiConf,名称为:sinA piConf.xinlo调用前提无。抛出调用错误的时候抛出专门,专门包括:API使用状态不对初始化失败

23、参数不对sendSmpublic final int sendSm(SmSendBean sendBean)tluows j ava. lang. Exception函数描述该函数为发送短消息接口,用于提交消息到MAS的发送消息队列。能够一次性填写任意多个号码,由API自行拆分成多条单发写入MA S单发队列。必要参数包括短信内容和目的地址。关于源地址、业务id等参数,系统内部有默认配置值。如果有短信属性配置文件存在,则从短信默认属性配置文件中加载。 如果调用者设定了这些值,将以调用这设定的这些值为准。如果消息内容超过了 300字节,抛出专门。函数内部校验:调用实现类去发送短信。调用前提API差

24、不多初始化同时成功调用login()函数。参数sendBean:参见 SmSendBean 结构描述。返回int返回所需要的sm_id,有多少个目的地址,就返回多少个sm_id, 同时参照destAddrs的顺序排列。抛出调用错误的时候抛出专门,专门包括:API使用状态不对初始化失败参数不对sendMultiSmpublic final int sendMultiSm(SmSendBean sendBean)throws j ava. lang. Exception函数描述该函数为发送短消息接口,用于提交一条群发消息到信息机的发送消 息队列。由API自行拆分成多条单发写入MAS单发队列。必要参

25、数包括短信内容和目的地址。关于源地址、业务id等参数,系统内部有默认配置值。如果有短信属性配置文件存在,则从短信默认属性配置文件中加载。 如果调用者设定了这些值,将以调用这设定的这些值为准。如果消息内容超过了 300字节,抛出专门。关于消息目的地址过长,抛出专门,目的地址最多150个。函数内部校验:调用实现类去发送消息。调用前提API差不多初始化同时成功调用login()函数。参数sendBean:参见 SmSendBean 结构描述。返回返回所需要的sm_id,类型为mt,失败时返回1。抛出调用错误的时候抛出专门,专门包括:API使用状态不对初始化失败参数不对getReceivedSmspu

26、blic final SniReceiveBean getReceivedSms(int maxCount,java.util.Date fiomTime,java.util.Date endTime,java.lang.String orgAddi;java.lang.String destAddr)throws j ava. lang. Exception函数描述该函数用于从MAS接收的消息队列中猎取消息。查询条件为最大返 回条数、时刻段、源地址、目的地址。以上条件任意组合,是“与”的关 系,如果某个参数为null,则此条件无效。调用前提API差不多初始化同时成功调用login()函数。参

27、数maxCount:最大返回条数,如果为正数则最大只返回这些条数,如果 小于等于0,则不限制查询返回结果数。fromTime:指定猎取接收短信的起始时刻范畴,如果为空,则不限制。endTime:指定猎取接收短信的终止时刻范畴,如果为空,则不限 制。orgAddr:指定猎取接收短信的源地址,例如手机,猎取时模糊匹配前 缀,如果为空,则此条件限制失效。destAddr:指定猎取接收短信的目的地址,例如接入号,猎取时模糊 匹配前缀,如果为空,则此条件限制失效。返回int返回所需要的sm_id,有多少个目的地址,就返回多少个sm_id。 如果没有查询到数据,则返回一个长度为0的数组抛出调用错误的时候抛

28、出专门,专门包括:API使用状态不对初始化失败参数不对queiySmsResultpublic final SmSendResultBean queiySmsResult(int sm_id, java.util.Date fromTime, java.util.Date endTime,java.lang.String orgAddr, java.lang.String destAddr) throws j ava. lang. Exception函数描述该函数用于查询短信发送结果。以下关系全部是“与"的关系,指定 的参数越多,限制条件越多。sm_id>0,同时查询起始、终止

29、时刻只要有一个为空,则默认从近3 天之内的消息中查询符合此smd的消息,否则,按照指定的起始、终止 时刻查询。如果sm_id 0,则sm_id不生效,不限制sm_id。关于orgAddr, destAddr,如果为空则查询所有号码,如果不为空,则 条件生效。只有当起始时刻和终止时刻都指定了,该查询才按照指定的时刻段进 行查询,否则只查询近3天的消息。调用前提API差不多初始化同时成功调用login()函数。参数sm_id:如果为则此不生效,大于0的时候,按照此sm_id查询。 fromTime:开始时刻,为空,则不生效,时刻为当前时刻的3天前。 endTime:终止时刻,为空,则不生效,时刻为

30、当前时刻。orgAddr:源地址,例如接入号,如果为空,则此条件不生效。 destAddr:目的地址,例如手机号码,如果为空,则此条件不生效。 返回SmSendResultBean返回的查询结果,任何时候,都不返回null,没 有查询到结果,返回长度为0的数组。抛出调用错误的时候抛出专门,专门包括:API使用状态不对初始化失败参数不对loginpublic final void login(java.lang.String userName, java.lang.String pass word)throws j ava. lang. Exception函数讲明该函数用于按照用户名、密码登录M

31、AS应用接口。如果失败抛出专门,那个地点的用户名密码,参数对应于MAS Web 界面登录的用户名、密码。调用前提差不多初始化连接。参数userName:登录MAS的用户名,和登录MAS Web界面的用户名一 样。password:登录MAS应用的密码,和登录MAS Web界面的密码一 样。抛出调用错误的时候抛出专门,专门包括:API使用状态不对初始化失败参数不对isConnectedpublic boolean isComiected()该函数用于检查API是否差不多与MAS建立了连接。调用前提:API差不多初始化同时成功调用login()函数。logoutpublic final void

32、logout()该函数用于清理当前登录的用户,能够在此基础上再次登录,连接仍 旧存在。调用前提差不多建立连接,并登录应用接口。抛出本函数不抛出专门。destroypublic final void destroy()函数描述该函数为销毁函数,用于清理连接,关闭数据库连接。如果调用函数的时候没有退出登录,则将直截了当退出登录,然后销 毁连接。只有API处于差不多可用状态,或者差不多建立连接状态下能够调 用,否则调用无效。调用前提差不多建立连接或者差不多登录应用接口。抛出本函数不抛出专门。安装使用指导关于本章本章描述内容如下表所示。标题内容0介绍安装JAVA SMS API介绍安装JAVA SMS

33、 API0导入开发库介绍导入开发库。0方法调用介绍JAVA SMS API接1 1函数调用示例。介绍安装JAVA SMS API请直截了当拷贝,放入classpath中即可。导入开发库按照使用的开发工具不同,导入方法略有差异,然而差不多上把java sms api开发包导入到环境变量classpath中,以jbuilder 2006为例:在 jbuilder 2006 选择"Project > Project properties > path > required libraries > add > new” 菜单,按照向导创建一个 lib (jbui

34、lder 的 libnw y)。选择 a Project > Project properties > path > required libraries > ad d",选择刚才创建的lib,添加到工程中。终止方法调用以jbuilder 2006为例,按照“0导入开发库”的方法在工程中添加开 发库。新个类 DBSMProxvTesto拷下代码到新建的class文件中。修改程序中的如下信息:连接MAS短信应用接口的URLDB登录用户名DB登录密码业务登录用户名业务登录密码-终止示例代码关于本章本章描述内容如下表所示。标题内容0初始化连接对彖并登录初始化连接对象

35、并登录代码举例。0发送短信发送短信代码举例。0查询短信发送情形查询短信发送情形代码举例。0查询短信接收情形查询短信接收情形代码举例。0销毁连接或者退出登录销毁连接或者退出登录代码举例。初始化连接对象并登皆 9 TianLiTest.jav DBSMProxyTest.测试代码示例: ajavaDBSMProxy smproxy = new DBSMProxy();Map paras = new HasliMap();/MAS短信接口 DB的URLoparas.put(,urr,njdbc:microsoft:sqlserver:/10.71.99.70:1433;DatabaseName=db

36、_customsmsn);/MAS短信接口 db登录用户名。paras.put(',user'"customsmsn);/MAS短信接口 db登录的密码。paras.put(,password,n 123456°);以下示例提供了 3种初始化连接的方法。 smproxy.initCoim(paras);/通过上面设定的参数初始化。/smproxv.initCoiin();/自动查找配置文件的方式初始化,参见上面函数讲明。手动查找配置文件的方式,参见上面函数讲明。/ smproxy.initCoim("./apiconf7smapiconf.xmlu

37、);登录MASmas短信应用接口,业务登录用户名、业务登录密码。 smproxy.login(nadinint n0H);发送短信/*发送测试代码样例。* param smproxv DBSMProxv* param count int* throws Exception*/public static final void testSend(DBSMProxv smproxv, int count) throws ExceptionSmSendBean bean = new SmSendBean();AiTayList<String> arts = new AimyListO;构造

38、多个手机号码,目的地址。for (int index = 0; index < count; index+)arrs.add(" 1380000" + index);String addrs = new Stringarrs.size();arrs.toArray(addrs);bean.setSinDestAddrs(addrs);构造短信内容。bean.setSniMsgContent("sms content test infb.!#$%八&*()_+. ”);long flrstTime = System.currentTimeMillis(

39、);调用发送接口。int ret = smproxy.SendSms(bean);long lastTime = System.currentTimeMillis();System.out.println(n=System.out.println(n inserted:n + count + n records,consumed n + (lastTime-flrstTime) + ” ms”);System.out.println(" avg Speed:" + (count) * 1000.0 / (lastTime - flrstTime);System.out.println(n=System.out.pnnt(nretiirned sm_id(s):”);for (int index = 0; index < ret.length; index+)System. out.print(n 11 + retindex);System.out.pnntln(nn);查询短信发送情形*查询消息发送结果,代码样例。* param smproxy DBSMProxy* throws Exception*/public static final void testQueiysmResult(DB SMProxv smproxy) throws

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论