智能调度平台接口GPS系统分册.docx
- 文档编号:6940722
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:9
- 大小:87.53KB
智能调度平台接口GPS系统分册.docx
《智能调度平台接口GPS系统分册.docx》由会员分享,可在线阅读,更多相关《智能调度平台接口GPS系统分册.docx(9页珍藏版)》请在冰豆网上搜索。
智能调度平台接口GPS系统分册
新奥智能调度配送管理平台接口规范
(GPS系统分册)
二〇一四年十一月
目录
1.概述3
1.1.编写目的3
1.2.预期读者3
1.3.术语3
1.4.交互示意图3
2.接口需求3
2.1.行驶信息接口3
2.1.1.需求描述3
2.1.2.数据类清单3
2.1.3.接口交互流程图4
2.1.4.流程图说明4
2.1.5.WebService服务清单4
3.Webservice集成5
3.1.行驶信息接口5
3.1.1.行驶信息服务5
3.2.行驶信息接口5
3.2.1.行驶信息服务5
4.接口规约6
4.1.Webservice服务接口基本规约6
4.1.1.技术标准6
4.1.2.服务设计原则6
4.1.3.服务调用原则7
4.1.4.接口说明7
修订历史
版本
类型
成稿日期
责任人
备注
1.概述
1.1.编写目的
为统一智能调度管理配送平台与GPS系统的集成接口,特制定本接口规范,以指导智能调度管理配送平台集成的设计、开发、测试及部署实施工作。
1.2.预期读者
本接口规范预期读者为智能调度管理配送平台和GPS系统接口设计开发人员。
1.3.术语
Webservice集成:
通过WebService的方式进行数据传递的接口集成方式。
1.4.交互示意图
2.接口需求
2.1.行驶信息接口
2.1.1.需求描述
智能调度管理配送平台在运输监控过程中,根据车头牌照,定时获取相应的行驶信息,包括行驶位置(坐标)、速度、方向、采集时间等。
2.1.2.数据类清单
GPS系统提供:
数据类型
数据类
交互频度
String
行驶信息
30分钟/次
2.1.3.接口交互流程图
2.1.4.流程图说明
1、智能调度平台在业务过程中,生成需要查询的车头牌照;
2、智能调度平台调用GPS系统接口,定时发送车头牌照;
3、GPS系统根据车头牌照,生成相应的行驶信息;
4、GPS系统将车头牌照、行驶信息通过接口返回;
5、智能调度平台获取车辆相应的行驶信息。
2.1.5.WebService服务清单
服务提供者
服务分类
服务名称
GPS系统
行驶信息查询服务
待定?
3.Webservice集成
3.1.行驶信息接口
3.1.1.行驶信息服务
3.1.1.1.接口说明
接口说明
智能调度管理配送平台在运输监控过程中,根据车头牌照,定时获取相应的行驶信息
接口方式
WebService
方法名称
?
(待GPS系统提供)
WSDL
?
(待GPS系统提供)
服务端
GPS系统
调用端
智能调度管理配送平台
数据频度
30分钟/次
输入参数中文名
输入参数英文名
参数格式
非空
含义
车头牌照
FRONT_NO
String(32)
是
车辆唯一标示
用户名
USER_NAME
String(32)
接口验证用户名
密码
PASSWD
String(32)
接口密码
返回值中文名称
返回值英文名称
返回值格式
非空
含义
车头牌照
?
?
是
行驶位置
?
?
是
经度
?
?
是
维度
?
?
是
速度
?
?
否
方向
?
?
否
采集时间
?
?
是
3.1.1.2.数据交互说明
4.WebService接口规约
4.1.技术架构
4.1.1.技术架构概述
智能调度平台WebService接口采用Xfire技术实现。
客户端和服务器用SOAP协议通过HTTP来交互,客户端根据WSDL描述文档生成SOAP请求消息发送到服务端,服务端解析收到的SOAP请求,调用Webservice,然后再生成相应的SOAP应答送回到客户端。
4.1.2.认证机制
智能调度平台的所有WebService服务均需要认证通过(部分需要授权)才能够被调用。
智能调度平台WebService服务接收到请求后首先从消息上下文中获取用户名和密码,进行认证,认证通过后再调用具体服务。
作为客户端,应用程序代码(使用Xfire的客户端编程模型来编写的)需要将用户名和密码设置到MessageContext中进行调用。
根据客户端程序语言及调用方式不同,设置的方法也不同,下面列举出客户端程序语言为java的两种设置方式:
4.1.2.1.客户端调用
平台使用xfire技术发布webservice服务,建议客户端也使用XFire来访问外部服务,以下客户端调用示例代码都是基于xfire技术来编写的。
一、调用方式
客户端可以通过如下两种方式调用外部服务:
1)根据WSDL创建客户端调用
如果服务端没有提供接口,可以使用这种简单的方式来调用,如下为客户端调用示例代码:
publicstaticvoidmain(String[]args){
Stringwsdl="http:
//172.21.0.84:
6001/athena_server/pf_webservice
/com.ls.pf.base.impl.auth.extramodel/userService/service?
wsdl";
Clientclient=newClient(newURL(wsdl));
//invoke第一个参数为服务方法名,第二个参数为服务参数
Object[]results=client.invoke("isAdmin",newString[]{"SYSADMIN"});
System.out.println(results[0].toString());
results=client.invoke("getUserBySysUserName",newString[]{"SYSADMIN"});
System.out.println(results[0].toString());
}
2)通过服务端提供的接口调用
如果服务端有提供接口,或者服务参数和返回值为复杂类型时,则建议使用这种方式,客户端调用代码如下:
publicstaticvoidmain(String[]args){
Stringwsdl="http:
//127.0.0.1:
7080/amber_server/pf_webservice
/com.ls.pf.base.impl.auth.extramodel/userService/service";
ServicesrvcModel=newObjectServiceFactory().create(IUserService.class);
XFireProxyFactoryfactory=newXFireProxyFactory(XFireFactory
.newInstance().getXFire());
try{
IUserServiceuserService=(IUserService)factory.create(srvcModel,wsdl);
XFireProxyproxy=(XFireProxy)Proxy.getInvocationHandler(userService);
Clientclient=proxy.getClient();
Booleanresut=userService.isAdmin("SYSADMIN");
}catch(MalformedURLExceptione){
e.printStackTrace();
}
}
二、添加验证信息头
当访问的webservice服务需要进行认证时,客户端调用代码需要传入认证信息头,如下分别为服务端是AuthenticationHandler认证和ws-security认证时验证头添加方式
Ø服务端为AuthenticationHandler认证
当服务端配置了AuthenticationHandler认证时,客户端通过如下示例代码添加验证头:
Clientclient;
ClientAuthenticationHandlerhandler=newClientAuthenticationHandler("用户名","密码");
client.addOutHandler(handler);
client.addInHandler(handler)
Ø服务端为ws-security认证
当服务端配置成ws-security认证时,客户端通过如下示例代码添加验证头。
注:
认证用户名在pf_user表中的密码必须为
n9zf4TIQEzubAi0PrSL8qHuEgMaXMazk6uh53w5I
client.addOutHandler(newDOMOutHandler());
Propertiesproperties=newProperties();
configureOutProperties(properties);
client.addOutHandler(newWSS4JOutHandler(properties));
privatestaticvoidconfigureOutProperties(Propertiesproperties){
//Actiontoperform:
usertoken
properties.setProperty(WSHandlerConstants.ACTION,WSHandlerConstants.USERNAME_TOKEN);
//Setpasswordtypetohashed
properties.setProperty(WSHandlerConstants.PASSWORD_TYPE,WSConstants.PW_DIGEST);
//Usernameinkeystore
properties.setProperty(WSHandlerConstants.USER,"SYSADMIN");
//Useddoretrivepasswordforgivenusername
properties.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS,PasswordHandler.class.getName());
}
其他的调用方式及其他语言设置方式请查阅Xfire相关文档。
4.2.数据规约
4.2.1.Webservice接口数据协议
采用WebServiceSOAP协议。
客户端和服务端采用json格式的字符串来交互业务数据,客户端将业务数据组织成json格式的字符串作为入参调用服务端接口,服务端解析json格式的字符串得到业务数据处理业务并把结果组织成json格式的字符串返回给客户端。
4.2.2.数据格式约定
业务数据组织成JSON格式的字符串来交互。
4.3.WebServiceWSDL
4.3.1.智能调度平台WSDL
WSDL
待提供
服务名
服务调用参数说明
方法名
参数1<类路径>
参数2<服务名>
参数3<入参>
待提供
待提供
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 调度 平台 接口 GPS 系统 分册