浪潮MAS开发接口手册更新0131适用新版Word格式文档下载.docx
《浪潮MAS开发接口手册更新0131适用新版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《浪潮MAS开发接口手册更新0131适用新版Word格式文档下载.docx(19页珍藏版)》请在冰点文库上搜索。
不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。
应用程序集成
企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。
应用程序经常需要从运行在IBM主机上的程序中获取数据;
或者把数据发送到主机或UNIX应用程序中去。
即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。
通过WebService,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用
B2B的集成
用WebService集成应用程序,可以使公司内部的商务处理更加自动化。
但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?
跨公司的商务交易集成通常叫做B2B集成。
用WebService来实现B2B集成的最大好处在于可以轻易实现互操作性。
只要把商务逻辑“暴露”出来,成为WebService,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。
这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI的中小企业也能实现B2B集成。
软件和数据重用
软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。
最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。
WebService在允许重用代码的同时,可以重用代码背后的数据。
使用WebService,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;
只需要直接调用远端的WebService就可以了
1.2.MAS服务器短信接口生产webservices客户端
WebService给企业应用提供wsdl文件,企业应用按照这个wsdl文件自动生成WebService客户端。
Wsdl文件:
右键点击这个包,编辑包,从菜单中点击保存内容,取名为smsweb.wsdl
或者
浏览器中打开下面地址(IP必须是安装了008版的mas服务器地址)
http:
//222.88.150.5:
8090/mas/services/SMSWebServiceAdapter?
wsdl
另存为smseb.wsdl
1.2.1.以jbuilder为例,用smseb.wsdl生成客户端类:
新建一个web工程,右键单击工程名,点击project面板弹出菜单中的这个按钮
,选择explorer面板,浏览到smsweb.wsdl文件,添加到工程。
修改smsweb.wsdl中的最后一个ip地址(localhost:
8080)为实际的mas服务器地址,其它不用管。
<
wsdl:
servicename="
SMSWebServiceAdapterService"
>
<
portbinding="
impl:
SMSWebServiceAdapterSoapBinding"
name="
SMSWebServiceAdapter"
wsdlsoap:
addresslocation="
//222.222.222.222/mas/services/SMSWebServiceAdapter"
/>
/wsdl:
port>
service>
在jbuilder菜单中点新建,选择新建webserviceclient。
拖拽左边的wsdl文件到右边的webservicesdesigner面板。
1.右键点击WebServicesDesigners,选择make。
3.WebServicesDesigners经过make以后生成webservices客户端文件。
1.2.2.不使用jbuilder用smseb.wsdl生成客户端类
可以使用批处理文件生成客户端类,然后在自己的项目中引用。
将wsdl放置到任意目录下,并且将smsweb.wsdl放置到该目录下:
修改wsdl2java.bat中的目录为您所需要使用的目录:
然后直接执行wsdl2java.bat(需要有java编译的环境)就能生成客户端程序。
1.3.MAS服务器Webservices接口调用方法
参见例子程序包,只需修改其中引入包名为实际包名
修改目标手机号码,运行对应程序即可
1.4.参数的含义和取值范围
参数名称:
apCode
参数含义:
应用ID或插件的ID,必须和MAS系统中的ID保持一致,必备
取值范围:
通常为0007有一部分为0004或者0001。
该取值可以从mas如下位置取得(通用业务的应用代码);
参数名称:
apPassword
参数含义:
webservice接口密码,必备,非空
取值范围:
默认密码为;
123456,该数值可以从mas系统如下位置取得:
appSeq
参数定义:
必备,设置短信的扩展号码,长度不能超过10位,根据管理平台给客户批准的实际号码调整
长度不能超过10位,可以从mas系统如下位置取得:
其他参数:
参数名称
参数含义
取值范围
destNumber
接收者设置成MAS系统用户ID或手机号码,必备,若填接收手机号码,多个手机号用英文逗号隔开,必须移动手机号
MAS系统用户ID或手机号码。
建议发送多个手机号码时,不要将此参数设置为逗号分隔的字符串,最好应该是在调用的程序中使用循环逐个手机号发送。
atTime
定时发送时间,置空则立即发送,可选
空或者时间格式的字符串
inspect
鉴权标志,0是不鉴权,1是鉴权
0或者1
linkID
该属性没有作用,可选
reqFlag
命令标志,短信发送为4,必备
serviceId
没有意义,可选
sndUID
发送者用户ID
timeFlag
0表示实时发送短信,1表示定时发送短信,并且设置定时发送时间
0或者1定时发送时需要设置atTime
title
短信标题,可选
userFlag
0表示接收者是用户ID,1表示接收者是手机号码
msgContent
短信内容,必备。
如果短信是wappush短信,短信内容分为两部分,以"
|"
为分隔符,前面是url,后面是内容。
例:
req.setMsgContent("
//218.57.146.149/mas/wap|欢迎访问maswap网站"
)
deliver
是否返回短信发送状态,群发短信不允许状态报告。
返回状态报告deliver=1,不返回状态报告deliver=0
wappush
wappush标志,2是长短信,1是wappush,0是普通短信,必备
0、1或者2
para_1
行业代码,就是在07后面可以加一些自己的特殊号码,比如110
1.5.错误代码说明
调用webservice接口,如果是返回一个整数代码,说明发送成功,该数字是短信编号。
如果返回带“-”的数字,说明发送失败,关于错误代码说明如下:
错误代码
说明
-13
没有设置企业代码,请先设置企业代码!
-8
短信内容不能为空!
-20
短信含有非法内容,不能发送!
-7
没有设置应用的扩展码,短信不能发送,请管理员先在应用接入中维护扩展码信息!
-21
扩展码为xxxx的应用不存在,短信不能发送!
-12
没有允许发送的号码,发送失败!
-11
xxxx正在处于免打扰时间,发送失败!
-1
系统异常
-94
短信接口密码不能为空!
-95
短信接口密码不正确!
2.彩信接口
2.1.MAS服务器彩信接口介绍
MAS服务器彩信接口采用WebService形式,WebService的主要目标是跨平台的可互操作性。
2.2.MAS服务器彩信接口生产webservices客户端
生成webservices客户端的方式参照短信.
2.3.MAS服务器Webservices接口使用方法
1.创建发送彩信消息对象
MMSReqreq=newMMSReq();
2.设置彩信附件属性
byte[]bufferArray=readFile("
c:
\\1.gif"
);
byte[]bufferArray1=readFile("
\\1.txt"
Listids=newArrayList();
Listtypes=newArrayList();
Listcontents=newArrayList();
ids.add("
1.gif"
types.add("
gif"
contents.add(bufferArray);
1.txt"
txt"
contents.add(bufferArray1);
Object[]attachId=ids.toArray();
Object[]attachType=types.toArray();
//设置彩信内容
Listlattch=newArrayList();
for(inti=0;
i<
attachId.length;
i++){
Attachmentattachment=newAttachment();
attachment.setFileId((String)attachId[i]);
attachment.setFileType((String)attachType[i]);
attachment.setFileContent((byte[])contents.get(i));
lattch.add(attachment);
}
Attachment[]attachments=newAttachment[lattch.size()];
lattch.size();
attachments[i]=(Attachment)lattch.get(i);
3.设置消息属性
req.setUserID("
ekpadmin"
//发送人ID
req.setAppId("
9000"
//应用ID
req.setSvcId("
sp"
//服务ID
req.setAppSeq("
1234567890"
//具体功能的流水号。
业务号(10位)1234567890
req.setTaskFlag("
0"
//定时发送标志0--实时1--定时
req.setAtTime("
2006-01-0100:
00:
00"
//定时发送时间
req.setDestNumber("
zhp,wm"
//接收人ID,多个接收人以半角逗号分隔
req.setSubject("
测试标题"
//彩信主题
req.setAttachment(attachments);
//彩信附件数组
4.创建返回彩信发送状态信息对象
MMSResres=newMMSRes();
5.设置MMSRes属性
Res.setRtnCode("
Res.setRtnInfo("
写入发送队列成功!
"
6.下面代码是调用webservices接口的方法发送彩信代码:
//调用彩信WebService接口
MMSWebServiceAdapterSoapBindingStubbinding;
try{
binding=(MMSWebServiceAdapterSoapBindingStub)newMMSWebServiceAdapterServiceLocator()
.getMMSWebServiceAdapter();
//设置超时一分钟
binding.setTimeout(60000);
//调用彩信WebService接口
MMSResres=binding.sendMMS(req);
//得到返回值
StringrtnCode=res.getRtnCode();
StringrtnInfo=res.getRtnInfo();
b=true;
}catch(Exceptione){
e.printStackTrace();
7.下面代码读文件的函数:
publicstaticbyte[]readFile(StringsPath){
bytebufferArray[]=null;
try{
FileInputStreaminputtextfile=newFileInputStream(sPath);
intlen=inputtextfile.available();
BufferedInputStreambuffer1=newBufferedInputStream(inputtextfile);
bufferArray=newbyte[len];
while((buffer1.read(bufferArray))!
=-1){
}
buffer1.close();
inputtextfile.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
}
returnbufferArray;
3.业务模板
为业务系统提供无线服务,不需要做二次开发,通过简单配置即可。
3.1.发送类
用户可灵活配置连接已有的业务系统数据源。
通过输入sql语句,查询后台业务系统的数据库,把查询结果可以通过短信或wap的方式发送给用户,可以选择手工发送、定时发送两种方式。
例如:
用户需要定制一个业务,将财务系统的工资单发送给员工个人,每个人只收到自己的工资单信息,可以通过业务模板创建一个发送类,sql语句查询出该月的工资列表,通过关联mas系统的用户ID或手机号,将工资单发送给员工个人。
3.2.订阅类
管理员可创建订阅业务模板,构建sql语句查询业务系统,将返回结果返回给订阅该业务的用户,订阅信息的发送时间由管理员指定。
用户先通过上行短信,加入订阅列表。
这样用户可定时收到订阅的业务信息。
管理员创建了一个订阅类OA系统中的最新公告发送给订阅的用户,业务编号为OAGG。
用户订阅该业务可通过手机输入OAGG1发送到服务号,系统回返回订阅成功或失败的信息,若订阅成功,用户将在该业务的发送时间收到订阅的业务信息,若用户要取消该业务,输入OAFGG0发送的服务号,取消该业务的订阅。
3.3.查询类
管理员可创建查询类业务模板,构建sql语句,查询业务系统的数据,管理员需要定义允许用户查询的条件。
用户通过上行短信,按一定格式输入查询条件,发送给服务号,用户将收到查询结果。
例如,管理员定义了一个查询类业务模板cx001,可以查询通讯录的人员信息,查询条件定义为姓名,手机号,在定义查询条件时,可将查询条件的助记名定义为xm,sjh,
用户若要查询李强的通讯录信息,可通过手机输入cx001xm=李强,发送的服务号,系统将返回李强该用户的通讯录信息。
3.4.采集类
管理员定义采集类业务模板,定义采集的表,采集的字段等信息。
接收用户的上行短信,把手机中的信息提取出来,插入的后台业务系统的数据库中。
用于采集业务数据。
例如,一家出售打印机公司的业务人员多数都在外跑业务,公司需要实时知道业务人员的业务量,管理员可定义一个采集类模板cj001,定义需要输入的字段,比如用户编号,产品型号,出售数量,单价等。
助记名定义为bh,xh,sl,dj.业务员作为一笔业务,可实时提交业务信息,根据模板的格式输入cj001bh=00123,xh=hpJet5200,sl=10,dj=3400发送到服务号,将信息实时提交到业务系统。
公司可随时掌握最新的业务数据。
4.服务配置
通过服务配置,为已有的业务系统提供无线服务。
现有的MAS版本支持短信、彩信、wap导航、wap代理几类无线服务。
需要做简单的二次开发。
4.1.短信服务
4.1.1.下行短信
仅配置一个服务即可,当业务系统需要发送短信时,调用webservice接口,传递服务ID等参数即可。
4.1.2.上行短信
首先,编写接收上行短信的业务系统。
然后新建一个服务、在url部分输入接收上行短信的url,在参数的位置,配置接收的参数名及顺序。
当系统接收到上行短信时,会调用服务的url把参数使用get方式传递给业务系统。
业务系统接收到参数后做相应的处理即可。
系统会自动把用户id、手机号以userid、mobile的参数名传递给后台业务系统,方便业务系统的处理。
注:
该方式需要对业务系统做简单的二次开发。
4.2.彩信服务
仅配置一个服务即可,发送彩信时调用webservice接口,传递服务ID等参数即可。
4.3.Wap导航
用于把业务系统的数据以wap的形式在手机上进行显示。
业务系统提供一个url,访问这个url,提供一段文本。
Mas服务器会自动把这段文本转换成wap页面,用于在手机上显示。
使用步骤:
编写业务系统。
新建一个服务、输入url、参数、及参数的顺序。
当用户使用手机访问mas,登录后会显示用户有权限的服务。
选择一个服务,进行相应的操作。
mas服务器自带的wap通信录查询。
先编写查询方法,接收两个参数一个是用户名,一个是用户组织,根据这两个参数查询出用户的详细信息,并把接口形成一段文本返回。
然后在mas服务器上新建一个服务,输入处理通讯录查询的url,增加两个参数用户名、用户组织。
这两个参数的英文名要和业务系统中的对应起来。
当用户通过手机访问时,会根据配置的参数自动生成一个wap页面用于输入查询信息。
点提交后,把请求转发给后台的业务系统,并把结果以wap的显示在手机上进行显示。
该方式只需要简单的二次开发,开发人员使用现有技术就能完成,不用需要wap等新技术。
加快开发进度,减少实施时间。
4.4.Wap代理
把企业已有的wap网站通过mas在手机上展现。
不需要在原有系统上做任何修改。