2. API接口调用规范
2.1 调用申请
服务总线提供的API接口分为两类:SOAP和RESTful。开发者如果需要调用接口,首先需要进行接口的申请,申请完会获得相应接口的URL、appId、accessToken以及其他一些接口参数、描述信息。其中URL是接口的对外的访问地址,在接口调用中会使用,appId、accessToken为申请的调用凭证,用于校验调用权限,错误的appId、accessToken会使对该接口无权调用。其他参数是接口的业务条件,例如获取“用户组人员”接口的调用我们需要传入参数“用户组ID”。
2.1.1 SOAP API申请信息
首先我们的总线系统人员(API申请人)会从SMP(总线管理控制台)获取API申请信息,如下图:
申请人会将其中的访问地址(url),appId,accessToken以及参数信息暴露给我们的开发人员(接口调用人员),这些信息会在webservice程序调用时需要。
url(后面要加上?wsdl):
appId:amp
accessToken:9FB95D66318F36BB00D840E107284CDF
调用参数:参数1、参数2、……、参数N
2.1.2 RESTful API申请信息
和SOAP的操作一致,我们的总线系统人员(API申请人)会从SMP(总线管理控制台)获取API申请信息,如下图:
申请人会将其中的访问地址(url) ,appId,accessToken以及参数信息暴露给我们的开发人员(接口调用人员),这些信息在程序调用时需要。
appId:amp
accessToken:9FB95D66318F36BB00D840E107284CDF
调用参数:参数1、参数2、……、参数N
2.2 Token使用介绍
2.2.1 传递方式
appId、accessToken作为接口的调用凭证,在接口中必须通过Header
头部信息进行传入。例如SOAP API通过SOAP协议的
SoapHeader传入,RESTful API通过HTTP协议头文件传入:
SOAP协议:
<soapenv:Header>
<appId>amp</appId>
<accessToken>9FB95D66318F36BB00D840E107284CDF</accessToken>
</soapenv:Header>
HTTP协议:
Accept-Encoding: gzip,deflate
Content-Type: application/json
appId: amp
accessToken: 9FB95D66318F36BB00D840E107284CDF
Content-Length: 21
Host: 172.16.7.124:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
2.2.2 注意事项
不正确的appId、accessToken会使程序在调用时出现HTTP error code : 401异常,具体在调用中的传递可参考第四章节“调用DEMO”。
2.3 调用实现
开发人员拿到API申请信息后,可进行开发工作。参考第5章节“调用DEMO”。