当前位置: 移动技术网 > IT编程>开发语言>Java > 对接顺丰丰桥踩坑汇总(写给自己)

对接顺丰丰桥踩坑汇总(写给自己)

2020年07月17日  | 移动技术网IT编程  | 我要评论

顺丰丰桥使用流程

登录注册丰桥

https://qiao.sf-express.com/

申请一条龙

开发者信息
按提示搞就行了,然后会有个测试月卡,如果正式环境需要申请正式月卡
申请接口
根据自身情况申请需要的接口
其他的按流程做就行了

在java代码使用

在老版本里只能用xml的方式,在新版本可以使用json和xml两种方式,这里使用的是json方式
引入官方提供的java-demo,代码如下:

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import com.sf.csim.express.service.CallExpressServiceTools;
import com.sf.csim.express.service.EspServiceCode;
import com.sf.csim.express.service.HttpClientUtil;

public class TestCallExpressNewAPIService {
	
	//丰桥新沙箱测试顾客编码  Yg4Zf06w_sxZs3A5D
	//校验码                          3Xdk1jqeG1Xod9nUXus8Op7DNOkchTnw
	private static final String CLIENT_CODE = "";  //此处替换为您在丰桥平台获取的顾客编码
	private static final String CHECK_WORD = "";//此处替换为您在丰桥平台获取的校验码
	
	//沙箱环境的地址
	private static final String CALL_URL_BOX = "https://sfapi-sbox.sf-express.com/std/service";
	//生产环境的地址
	private static final String CALL_URL_PROD = "https://sfapi.sf-express.com/std/service";
    
	public static void main(String[] args) throws UnsupportedEncodingException {
			EspServiceCode testService = EspServiceCode.EXP_RECE_CREATE_ORDER; //下订单
		//	EspServiceCode testService = EspServiceCode.EXP_RECE_SEARCH_ORDER_RESP; //查订单
		//    EspServiceCode testService = EspServiceCode.EXP_RECE_UPDATE_ORDER;//订单取消
	   //	EspServiceCode testService = EspServiceCode.EXP_RECE_FILTER_ORDER_BSP;//订单筛选
	   //   EspServiceCode testService = EspServiceCode.EXP_RECE_SEARCH_ROUTES;//查路由
		//	EspServiceCode testService = EspServiceCode.EXP_RECE_GET_SUB_MAILNO;//子单号
		//	EspServiceCode testService = EspServiceCode.EXP_RECE_QUERY_SFWAYBILL;//查运费
		
		 CallExpressServiceTools client=CallExpressServiceTools.getInstance();    
		
        // set common header
        Map<String, String> params = new HashMap<String, String>();
        
        String timeStamp = String.valueOf(System.currentTimeMillis());
        String msgData =client.packageMsgData(testService);
        
        params.put("partnerID", CLIENT_CODE);  // 顾客编码 ,对应丰桥上获取的clientCode
        params.put("requestID", UUID.randomUUID().toString().replace("-", ""));
        params.put("serviceCode",testService.getCode());// 接口服务码
        params.put("timestamp", timeStamp);    
        params.put("msgData", msgData);      
        params.put("msgDigest", client.getMsgDigest(msgData,timeStamp,CHECK_WORD));
        
       // System.out.println(params.get("requestID"));
        long startTime = System.currentTimeMillis();
        
        System.out.println("====调用请求:" + params.get("msgData"));
        String result = HttpClientUtil.post(CALL_URL_BOX, params);
        
        System.out.println("====调用丰桥的接口服务代码:" + String.valueOf(testService.getCode()) + " 接口耗时:"+ String.valueOf(System.currentTimeMillis()-startTime)+"====");
        System.out.println("===调用地址 ==="+CALL_URL_BOX);
        System.out.println("===顾客编码 ==="+CLIENT_CODE);
        System.out.println("===返回结果:" +result);
     
	}
}

我们需要的是:
按要求将顾客编码,校验码改成自己的。
从接口提供的示例报文复制成 msgData的数据

当请求成功时,在丰桥那边---->我的沙盒里会有这条请求成功的消息

踩坑汇总

导入pom坐标时无法导入

丰桥官方提供jar包
登入丰桥----文档中心----API-SDK使用说明

调用接口时,参数出错

顺丰的接口有两种方式传递,1.json。2.xml。个人觉得顺丰的传参太麻烦,推荐使用:
官方提供的demo
下载官方的jar解压----java-demo----TestCallExpressNewAPIService.java

本文地址:https://blog.csdn.net/weixin_45349257/article/details/107361326

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网