第三方接口 CallNetApi (自己写connection)
来源:互联网 发布:淘宝纪录片 编辑:程序博客网 时间:2024/05/17 07:45
public NetResultMap getTicketByProps(String msisdn, String ticketId, Map<String, Object> result, int apiFailStatus) throws Exception { NetResultMap mapUsrInfo = new NetResultMap(); StringBuilder sbXmlParam = new StringBuilder(); String url = getProperty("apiUrlIServer")+ getProperty("getTicketByPropsPostUrl"); String sendXml = ""; sbXmlParam.append("<Request>"); sbXmlParam.append("<msisdn>" + msisdn + "</msisdn>"); sbXmlParam.append("<ticketId>" + ticketId + "</ticketId>"); sbXmlParam.append("</Request>"); sendXml = sbXmlParam.toString(); CallNetApi callNetApi = new CallNetApi(); NetResult rst = callNetApi.Post(url, sendXml); if (rst.status != 0) { result.put("status", apiFailStatus); result.put("resultCode", rst.status); return null; } mapUsrInfo.map = readGetTicketByPropsResult(rst.response); if (mapUsrInfo.containsKey("resultCode")) { if ((mapUsrInfo.get("resultCode").equals("200") == false)) { result.put("status", apiFailStatus); result.put("resultCode", mapUsrInfo.get("resultCode")); return null; } } else { logger.error("兑换书券接口返回格式不正"); result.put("status", 9); return null; } return mapUsrInfo; }public class CallNetApi { protected Logger logger = Logger.getLogger(getClass()); public NetResult Post(String postbackUrl, String requestXml) throws Exception { NetResult rst = new NetResult(); rst.response=""; rst.status=0; Boolean isFist =true; StringBuilder sb = new StringBuilder(); try { logger.info(postbackUrl); URL url = new URL(postbackUrl); // 设定连接的相关参数 HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setDoOutput(true); connection.setRequestMethod("POST"); OutputStreamWriter out = new OutputStreamWriter( connection.getOutputStream(), "UTF-8"); logger.info(requestXml); out.write(requestXml); out.flush(); out.close(); String strLine = ""; String strResponse = ""; InputStream in = connection.getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader(in, "UTF-8")); while ((strLine = reader.readLine()) != null) { strResponse += strLine + "\n"; } rst.response = strResponse; logger.info(strResponse); } catch (MalformedURLException ex) { throw ex; } catch (Exception e) { if(e.getMessage().startsWith("Server returned HTTP response code: ")){ String tmp = e.getMessage().substring("Server returned HTTP response code: ".length()).split(" ")[0]; rst.status = Integer.valueOf(tmp); logger.error(e); logger.error(requestXml); }else{ throw e; } } return rst; } }
0 0
- 第三方接口 CallNetApi (自己写connection)
- 自己写一个第三方分享库(一)
- Java写一个接口(包括token),第三方调用
- java写第三方支付接口
- Datalist翻页(不用第三方控件,自己写翻页代码)
- 自己写的下拉刷新的第三方库(适用于listview)
- 摆脱第三方库系列(一)- 自己写一个侧拉菜单
- 第三方connection pooling 组件
- 第三方connection pooling 组件
- php写注册接口给第三方调用
- Django使用第三方接口(一)
- java第三方支付接口(云通付)
- 第三方常见接口
- webservice 第三方接口
- 第三方接口
- 常用第三方接口
- 常用第三方接口
- 第三方支付接口搜集
- Group Anagrams 同字母异序String的分组
- 为什么抽象类实现接口的时候不需要重写接口里的方法?
- 开发模式和生产模式下上传图片到服务器和七牛
- 给自己的周报
- android中的适配器模式
- 第三方接口 CallNetApi (自己写connection)
- linux 使用 samba 共享
- 操作系统-线程、进程、死锁定义
- 九九除法表的四种姿态
- 七月 青春流浪的季节
- java极速web开发框架jfinal
- gprof
- HttpKit 基于Jfianl 调用第三方接口案例
- 用div+iframe 布局