当前位置: 首页 > news >正文

邯郸建站公司/国内新闻最新5条

邯郸建站公司,国内新闻最新5条,网站建设制作包括哪些方面,合肥网站建设开发电话和第三方对接时&#xff0c;对方的接口url路径参数拼接中需要加上xml的参数&#xff0c;当时接触地特别少&#xff0c;就以为直接使用<>在路径后边拼接就行&#xff0c;然后就报错了 完整的拼错的url路径是 到xml参数的位置就报错了 最开始的时候&#xff1a;拼接这个xm…

和第三方对接时,对方的接口url路径参数拼接中需要加上xml的参数,当时接触地特别少,就以为直接使用<>在路径后边拼接就行,然后就报错了

完整的拼错的url路径是

到xml参数的位置就报错了

最开始的时候:拼接这个xml参数是我是直接这样写的,然后直接拼到了对应的data属性名后边

	/*** 获取业务xml参数** @return*/public StringBuilder getXmlBusinessParam() {StringBuilder builder = new StringBuilder();builder.append("<request>");builder.append("<count>").append("20").append("</count>");builder.append("<start>").append("0").append("</start>");builder.append("</request>");return builder;}

后来查了相关的博客,说的是url路径拼接时一些特殊的字符要进行转换

最终把xml参数的拼接另外写成了一个方法,写成了这个样子

    /*** 获取业务xml参数,拼接接口地址使用** @return*/public StringBuilder getXmlBusinessParamURL() {StringBuilder builder = new StringBuilder();builder.append("%3C").append("request").append("%3E");builder.append("%3C").append("count").append("%3E").append("20").append("%3C").append("%2F").append("count").append("%3E");builder.append("%3C").append("start").append("%3E").append("0").append("%3C").append("%2F").append("start").append("%3E");builder.append("%3C").append("%2F").append("request").append("%3E");return builder;}

运行之后的结果是

我的http请求路径代码是用的httpPost,大概如下

String sign = shYiBusinessConfig.getSign();if (!StringUtils.hasText(sign)) {throw new BusinessException(AnwserCode.APPLICATION_EXCEPTIONS, "胜意商旅单点登录获取接口授权密钥失败");}/*** 总公司编号*/String companyId = shYiBusinessConfig.getCompanyId();/*** 请求参数封装成xml*/StringBuilder xmlParam = getXmlBusinessParam();log.info("单点登录获取所有请求参数封装成xml出参,xmlParam:{}", xmlParam);/*** 获取签名*/String sinature = ShengYiUrlUtils.generateSinature(companyId, xmlParam.toString(), shYiBusinessConfig.getSsoSign());log.info("单点登录获取签名出参,sinature:{}", sinature);if (!StringUtils.hasText(sinature)) {throw new BusinessException(AnwserCode.APPLICATION_EXCEPTIONS, "胜意商旅单点登录获取签名失败");}StringBuilder xmlBusinessParam = getXmlBusinessParamURL();log.info("单点登录获取业务参数xml出参,xmlBusinessParam:{}", xmlBusinessParam);String loginurl = shYiBusinessConfig.getLoginurl();StringBuilder builder = new StringBuilder();builder.append(loginurl);builder.append("responseType=2&");builder.append("version=1&");builder.append("sign=").append(sinature).append("&");builder.append("data=").append(xmlBusinessParam.toString()).append("&");builder.append("account=").append(sjh).append("&");builder.append(deviceParamName).append("=").append(sjh).append("&");builder.append("channel=").append(channel).append("&");builder.append("compid=").append(companyId).append("&");builder.append("service=COMM_B2C_equipmentRegistration");builder.append("&websiteCode=C");log.info("单点登录请求参数值,builder:{}", builder.toString());HttpPost httpPost = new HttpPost(builder.toString());CloseableHttpResponse response = null;try {response = httpClient.execute(httpPost);HttpEntity entity = response.getEntity();byte[] bytes = EntityUtils.toByteArray(entity);String s = new String(bytes, "utf-8");log.info("胜意商旅单点登录返回值: {}", s);JSONObject data = JSONObject.parseObject(s);JSONObject res = (JSONObject) data.get("res");Integer sts = (Integer) res.get("sts");String erc = (String) res.get("erc");if (sts != 1 || !"SUCCESS".equals(erc.trim())) {log.error("胜意商旅单点登录调用失败", s);throw new BusinessException(new AnwserCode(10001, "胜意商旅单点登录失败"));}/*** 单点登录成功, 缓存token*/this.shYiDao.setSsoToken(sjh);} catch (IOException exp) {log.error("胜意商旅单点登录失败", exp);throw new BusinessException(new AnwserCode(10001, "胜意商旅单点登录失败"));} finally {try {if (httpClient != null) {httpClient.close();httpClient = null;}if (response != null) {response.close();response = null;}} catch (IOException exp) {exp.printStackTrace();}}

推荐博客:

https://blog.csdn.net/liuchuanhong1/article/details/70161149 

https://blog.csdn.net/zsj777/article/details/80654567

http://www.lbrq.cn/news/2342485.html

相关文章:

  • 宝鸡市公路建设局网站/长沙seo网络公司
  • 建设网站直接委托单位/长沙seo男团
  • 广告网站怎么设计制作/百度注册网站怎么弄
  • 海南网站搭建/安卓优化大师手机版下载
  • 网页认证/seo查询优化
  • .net网站项目有哪些/青岛seo推广专员
  • windows做网站服务器/营销培训课程ppt
  • 广州番禺建网站/今日武汉最新消息
  • 网站建设荣茂/出词
  • 建设网站的企业名称/搜索引擎营销总结
  • 外国人做中国英语视频网站/子域名查询工具
  • 微信3g网站开发教程/2020年可用好用的搜索引擎
  • 免费域名网站黄/百度关键词热搜
  • 广州科技网站建设/旺道营销软件
  • 本地网站建设视频/网站关键词如何优化上首页
  • 网站开发所需/seo最新优化技术
  • 做网站怎么建站点/百度知道在线
  • 房地产建设网站/想学编程去哪里找培训班
  • 对接公众号的网站怎么做/推广普通话内容50字
  • 潍坊专业捞泵电话/关键词优化seo费用
  • 萍乡手机网站建设/今天发生的重大新闻
  • 网上做兼职网站有哪些/培训网
  • 做盗版电影网站问题/网络营销论文5000字
  • 在线做简单的网站/公司网站设计图
  • 网站工程前端/厦门网站seo哪家好
  • 沈阳营销型网站/滨州网站seo
  • 阳江网站制作公司/广西壮族自治区
  • 网站建设哪个软件好/优化推广网站怎么做
  • 做数学题好的网站/如何做好网络推广工作
  • 只做正品的网站/徐州seo顾问
  • Linux系统调优和工具
  • 【BUG处理】构建APK时遇到错误:‘flutter‘ 命令未被识别。这通常表示您的系统中未安装Flutter SDK或环境变量配置不正确。
  • 现有医疗AI记忆、规划与工具使用的创新路径分析
  • 后端接口通用返回格式与异常处理实现
  • 多任务——协程
  • 迁移学习之图像预训练理解