java调用金蝶云接口_JAVA对接金蝶云星空7.3
1 /**
2 * 处理数据,在各自档案service实现逻辑3 *@param
4 *@return
5 */
6 public abstract MapsyncData (String result);7
8
9
10 /**
11 * 返回请求参数12 *@return
13 */
14 public abstractJsonArray getRequestData();15
16 /**
17 * 调用查询接口18 *@return
19 */
20 publicString getQueryAdress(){21 returnbaseProperties.getBillQueryUrl();22 }23
24
25 public boolean login() throwsException {26
27 boolean bResult = false;28 JsonArray jParas = newJsonArray();29 jParas.add(baseProperties.getDbId());30 jParas.add(baseProperties.getUserName());31 jParas.add(baseProperties.getPwd());32 jParas.add(baseProperties.getLang());33 HttpURLConnection connection =initUrlConn(baseProperties.getLoginUrl(), jParas);34 String key = null;35 for (int i = 1; (key = connection.getHeaderFieldKey(i)) != null; i++) {36 if (key.equalsIgnoreCase("Set-Cookie")) {37 String tempCookieVal =connection.getHeaderField(i);38 if (tempCookieVal.startsWith("kdservice-sessionid")) {39 CookieVal =tempCookieVal;40 break;41 }42 }43 }44
45 BufferedReader reader = new BufferedReader(newInputStreamReader(46 connection.getInputStream()));47 String line;48 while ((line = reader.readLine()) != null) {49 String sResult = new String(line.getBytes(), "utf-8");50 bResult = line.contains("\"LoginResultType\":1");51 }52 reader.close();53 connection.disconnect();54 returnbResult;55 }56
57 privateHttpURLConnection initUrlConn(String url, JsonArray paras)58 throwsException {59 URL postUrl = newURL(baseProperties.getBaseUrl().concat(url));60 HttpURLConnection connection =(HttpURLConnection) postUrl61 .openConnection();62 if (CookieVal != null) {63 connection.setRequestProperty("Cookie", CookieVal);64 }65 if (!connection.getDoOutput()) {66 connection.setDoOutput(true);67 }68 connection.setRequestMethod("POST");69 connection.setUseCaches(false);70 connection.setInstanceFollowRedirects(true);71 connection.setRequestProperty("Content-Type", "application/json");72 DataOutputStream out = newDataOutputStream(73 connection.getOutputStream());74
75 UUID uuid =UUID.randomUUID();76 int hashCode =uuid.toString().hashCode();77
78 JsonObject jObj = newJsonObject();79 jObj.addProperty("format", 1);80 jObj.addProperty("useragent", "ApiClient");81 jObj.addProperty("rid", hashCode);82 jObj.addProperty("parameters", chinaToUnicode(paras.toString()));83 jObj.addProperty("timestamp", newDate().toString());84 jObj.addProperty("v", "1.0");85
86 out.writeBytes(jObj.toString());87 out.flush();88 out.close();89
90 returnconnection;91 }92
93
94 /**
95 * 拉取数据并处理96 *@return
97 */
98 public Map datax() throwsException {99 login();100 HttpURLConnection connectionInvoke =initUrlConn(getQueryAdress(), getRequestData());101 BufferedReader reader = new BufferedReader(newInputStreamReader(102 connectionInvoke.getInputStream()));103 String line;104 String sResult = null;105 while ((line = reader.readLine()) != null) {106 sResult = new String(line.getBytes(), "utf-8");107 System.out.println(sResult);108 }109 if(sResult.contains("\"IsSuccess\":false")){110 ErrorEntity errorEntity = JSONUtil.toBean(JSONUtil.parseFromMap(objectMapper.readValue(sResult,Map.class)),ErrorEntity.class);111 throw new InfException(StrUtil.format("数据同步失败,当前同步类型为:{},返回信息为:{}",getCurrentType().getTitle(), errorEntity.getResult().getResponseStatus().getErrors().get(0).getMessage()));112 }113 reader.close();114 connectionInvoke.disconnect();115 Map syncMap =syncData(sResult);116 returnsyncMap;117 }118
119 public staticString chinaToUnicode(String str) {120 String result = "";121 for (int i = 0; i < str.length(); i++) {122 int chr1 = (char) str.charAt(i);123 if (chr1 >= 19968 && chr1 <= 171941) {124 result += "\\u" +Integer.toHexString(chr1);125 } else{126 result +=str.charAt(i);127 }128 }129 returnresult;130 }
java调用金蝶云接口_JAVA对接金蝶云星空7.3相关推荐
- java调用c视频接口_JAVA本地调用(JNI- java调用c)
记录一下工作内容,对术语了解不多,暂且这样记着吧. java调用c 一.写jni的步骤如下: 1.创建java类,定义接口函数,使用native修饰: 2.将java类编译成class: 3.将cla ...
- java调用金蝶云接口_JAVA 版本--金蝶云星空新版WebAPI SDK--新手快速入门指南
/******************************************************************************** ** 名称: JAVA 版本--金蝶 ...
- java调用微信红包接口_java调用微信现金红包接口的心得与体会
这几天看了下以前写的有关微信支付的博客,看的人仍是挺多的,看了下留言不知道是由于博客写的不够细仍是什么状况,大多都找我要源码,我以为吧程序员仍是须要有这么一个思考的过程,所以没直接给源码,俗话说&qu ...
- java调用谷歌翻译接口_Java 调用 google 翻译
1.Java代码 public class Translator { public String translate(String langFrom, String langTo, String wo ...
- java调节音量代码_用Java调用VC音量控制程序_java
前言 本文通过java的Runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量. 使用VC编写音量控制程序 本控 ...
- Android系统JNI使用(JAVA调用C语言接口)一
目录 第一篇:Android系统JNI使用(JAVA调用C语言接口)一 什么是JNI JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信主要是 ...
- Java调用 新浪微博API 接口发微博(包含js微博组件、springMVC新浪登录)详解
参考自:http://www.myexception.cn/program/1930025.html https://blog.csdn.net/qq_36580777/article/details ...
- Java调用第三方http接口 单点登录 HttpClient
Java调用第三方http接口的方式 Java调用第三方接口示范 范例: 响应形式: 主逻辑: 访问此地址:http:// { cas }/cas/login?service=http://local ...
- java调用企业微信接口发送文件功能
java调用企业微信接口发送文件功能 代码 结合几位大佬的代码后实现此功能:感谢大佬让我完成此功能的实现,如有侵权,立刻删除. 借鉴文章地址: java调用企业微信接口发送消息https://blog ...
最新文章
- QT开发(五十)——QT串口编程基础
- 智能合约类代币EOS、BCH、Tezos很有可能会超越BTC
- python爬虫今日头条街拍美图开发背景_分析Ajax请求并抓取今日头条街拍美图:爬取详情页的url与实际页面上显示不符...
- 用友BQ商业智能平台——图表功能
- 记事本状态栏不会自动_如何在记事本中同时启用状态栏和自动换行
- const 常量_条款03:尽可能使用const
- Container.ItemIndex 获取reapeater行号
- 手机不支持温度传感器为什么鲁大师可以检测手机电池的温度?
- C核心技术手册(二十八)
- 常用应用层传输协议和端口
- Django表单提交数据与网页跳转
- HTML5网页语音识别功能演示
- powerbi 线性回归_微软Power BI 每月功能更新系列——11月Power BI 新功能学习
- 数据库索引是什么,它的作用是什么?
- web前端培训Node.js和JavaScript的关系
- zmap zgrab 使用
- 使用C#将RGB24转换为YUV420格式
- c++信息奥赛一本通网站版在线测评答案
- 摄入发霉食物和晚睡会导致肝癌
- aggr代码 cellranger_CellRanger初探