目录[隐藏] |
说明
通过本快速上手指南,仅需要两步即可学会如何调用一个接口,若需要了解更多内容,可访问开发指南
[返回顶部] 51book接口调用原理
51book开发平台的3.0及以上版本接口都提供了两种调用方式:webservice调用方式和POST调用方式。 2.0目前只提供了webservice 的调用方式。两种方式调用的流程图如下:
[返回顶部] 方式一:Webservice方式
Webservice调用51book开放平台服务器交互流程图,如下图:
[返回顶部] 方式二:POST方式
[返回顶部] 10分钟快速学会使用API
我们用实例的形式展现如何调用51book平台接口。演示实例:获取51book平台的政策数据,具体步骤如下:
[返回顶部] 步骤一:获取调用51book平台API的账号及安全码
对每个接入51book开放平台的用户,在开发测试阶段需要申请测试环境的账号和安全码。系统正式上线时需重新申请正式环境的账号和安全码; 本实例我们在测试环境的账号和安全码是: 账 号:SDFH 安全码:找51book提供
[返回顶部] 步骤二:获取调用接口地址
开发测试地址:http://net.liantuo.com:8000/liantuo/service/getPolicyDataService2.0?wsdl
[返回顶部] 步骤三:生成webservice客户端代码(java)
我们这里使用jdk自带的生成webservice客户端工具wsimport,语法如下: wsimport -s 生成代码存放目录 接口wsdl地址 实例: wsimport -s ./ http://net.liantuo.com:8000/liantuo/service/getPolicyDataService2.0?wsdl 执行该指令后,将会在当前目录生成代码,将代码拷到对应的项目 生成的代码目录结果如下:
[返回顶部] 步骤四:调用获取政策接口(java)
package com.liantuo; import javax.xml.bind.JAXBElement; import javax.xml.namespace.QName; import com.liantuo.util.Md5Encrypt; import com.liantuo.webservice.version2_0.SecurityCredential; import com.liantuo.webservice.version2_0.getpolicydata.GetPolicyDataReply; import com.liantuo.webservice.version2_0.getpolicydata.GetPolicyDataRequest; import com.liantuo.webservice.version2_0.getpolicydata.GetPolicyDataService20; import com.liantuo.webservice.version2_0.getpolicydata.GetPolicyDataService20PortType; /** * 调用51book平台获取政策数据的接口实例代码 * * @author anker */ public class Get51BookPolicyClient { public static void main(String args[]) throws Exception { // 调用生成的webservice客户端 GetPolicyDataService20 service = new GetPolicyDataService20(); GetPolicyDataService20PortType port = service.getGetPolicyDataService20HttpPort(); GetPolicyDataRequest request = buildRequest(); // 构建请求51book的参数 GetPolicyDataReply reply = port.getPolicyData(request); // 从51book返回的数据 } /** * 构建请求参数 * * @return */ private static GetPolicyDataRequest buildRequest() { String agentCode = "SDFH"; // 从51book申请的测试账号 String securityCode = "*******"; // 安全码(保密) String airline = ""; // 航空公司二字码 String departure = ""; // 出发地三字码 String arrival = ""; // 抵达地三字码 Integer page = 1; // 页码 Integer rowPerPage = 3; // 每页条数 String isIncludeSpecialPolicy = "0"; // 是否包括特价政策 String isBusinessUnitPolicy = "0"; // 是否包括特殊政策 // 安全,加密 StringBuilder sign = new StringBuilder(); sign.append(agentCode).append(airline).append(departure).append(arrival) .append(page).append(rowPerPage).append(isIncludeSpecialPolicy).append(isBusinessUnitPolicy).append(securityCode); SecurityCredential credential = new SecurityCredential(); credential.setAgencyCode(agentCode); credential.setSign(Md5Encrypt.md5(sign.toString())); // 加密 GetPolicyDataRequest request = new GetPolicyDataRequest(); request.setArrival(new JAXBElement<String>( new QName("http://getpolicydata.version2_0.webservice.liantuo.com", "arrival"), String.class, arrival)); request.setCredential(credential); request.setDeparture(new JAXBElement<String>( new QName("http://getpolicydata.version2_0.webservice.liantuo.com", "departure"), String.class, departure)); request.setIsBusinessUnitPolicy(new JAXBElement<String>( new QName("http://getpolicydata.version2_0.webservice.liantuo.com", "isBusinessUnitPolicy"), String.class, isBusinessUnitPolicy)); request.setIsIncludeSpecialPolicy(new JAXBElement<String>( new QName("http://getpolicydata.version2_0.webservice.liantuo.com", "isIncludeSpecialPolicy"), String.class, isIncludeSpecialPolicy)); request.setPage(new JAXBElement<Integer>( new QName("http://getpolicydata.version2_0.webservice.liantuo.com", "page"), Integer.class, page)); request.setRowPerPage(new JAXBElement<Integer>( new QName("http://getpolicydata.version2_0.webservice.liantuo.com", "rowPerPage"), Integer.class, rowPerPage)); return request; } }
[返回顶部] 下载演示代码
实例源码下载: Get51bookPolicyDataClient.rar