签到领奖
查看: 2576|回复: 2

[示例代码] 分享通过HttpClient调用GetUserCases示例代码

  [复制链接]
发表于 2014-9-27 13:08:44 | 显示全部楼层 |阅读模式
  1. public void testGetUserCases()
  2.     {
  3.         // 论坛不让发链接,自行修改url,删除多余空格
  4.         String endpoint = "h ttps://svcs.ebay.  com/services/resolution/v1/ResolutionCaseManagementService";

  5.         StringBuffer url = new StringBuffer(512);
  6.         
  7.         url.append(endpoint);
  8.         
  9.         //创建HttpClientBuilder  
  10.         HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();  
  11.         
  12.         //HttpClient  
  13.         CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
  14.         
  15.         // 标准参数
  16.         List<NameValuePair> standardNameValue = new ArrayList<NameValuePair>();
  17.         standardNameValue.add(new BasicNameValuePair("SERVICE-NAME", "ResolutionCaseManagementService"));
  18.         standardNameValue.add(new BasicNameValuePair("OPERATION-NAME", "getUserCases"));
  19.         standardNameValue.add(new BasicNameValuePair("SERVICE-VERSION", "1.1.0"));
  20.         standardNameValue.add(new BasicNameValuePair("REST-PAYLOAD", ""));
  21.         
  22.         
  23.         //YYYY-MM-DDTHH:MM:SS.SSSZ
  24.         **DateFormat sdf = new **DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
  25.         
  26.         // 00:00:00 - 23:59:59
  27.         Calendar startDate = DateUtils.getStartOfDay();
  28.         startDate.add(Calendar.DAY_OF_MONTH, -1);
  29.         
  30.         Calendar endDate = DateUtils.getEndOfDay();
  31.         
  32.         standardNameValue.add(new BasicNameValuePair("creationDateRangeFilter.fromDate", sdf.format(startDate.getTime())));
  33.         standardNameValue.add(new BasicNameValuePair("creationDateRangeFilter.toDate", sdf.format(endDate.getTime())));
  34.         
  35.         standardNameValue.add(new BasicNameValuePair("paginationInput.pageNumber", "1"));
  36.         
  37.         // default:200
  38.         standardNameValue.add(new BasicNameValuePair("paginationInput.entriesPerPage", "25"));
  39.         
  40.         try
  41.         {
  42.             url.append("?").append(EntityUtils.toString(new UrlEncodedFormEntity(standardNameValue, "utf-8")));
  43.         }
  44.         catch (Exception e1)
  45.         {
  46.         }
  47.         
  48.         HttpGet httpGet = new HttpGet(url.toString());
  49.         
  50.         // auth token放到header中
  51.         httpGet.addHeader("X-EBAY-SOA-SECURITY-TOKEN", SELLER_TOKEN);
  52.         
  53.         try {  
  54.             
  55.             //执行get请求  
  56.             HttpResponse httpResponse = closeableHttpClient.execute(httpGet);  
  57.             
  58.             //获取响应消息实体  
  59.             HttpEntity entity = httpResponse.getEntity();  
  60.             
  61.             //判断响应实体是否为空  
  62.             if (httpResponse.getStatusLine().getStatusCode() == 200 && entity != null) {  
  63.                
  64.                 SAXReader saxReader = new SAXReader();
  65.                
  66.                 Document doc = saxReader.read(entity.getContent());
  67.                
  68.                 Element root = doc.getRootElement();
  69.                
  70.                 Element ack = root.element("ack");
  71.                
  72.                 if(ack != null && "Success".equals(ack.getText()))
  73.                 {
  74.                     
  75.                     Element cases = root.element("cases");
  76.                     
  77.                     List<Element> caseSummaryList = cases.elements("caseSummary");
  78.                     
  79.                     for (Iterator<Element> it = caseSummaryList.iterator(); it.hasNext();)
  80.                     {
  81.                         Element caseSummary = it.next();
  82.                         
  83.                         Element caseId = caseSummary.element("caseId");
  84.                         String id = caseId.elementText("id");
  85.                         String type = caseId.elementText("type");
  86.                         
  87.                         Element user = caseSummary.element("user");
  88.                         String userId = user.elementText("userId");
  89.                         String role = user.elementText("role");
  90.                         
  91.                         Element other** = caseSummary.element("other**");
  92.                         String other**UserId = other**.elementText("userId");
  93.                         String other**Role = other**.elementText("role");
  94.                         
  95.                         Element status = caseSummary.element("status");
  96.                         
  97.                         // http://developer.ebay.com/DevZone/resolution-case-management/CallRef/getUserCases.html#Response.cases.caseSummary.status
  98.                         // cancelTransactionStatus EBPINRStatus EBPSNADStatus INRStatus PaypalINRStatus PaypalSNADStatus returnStatus SNADStatus UPIStatus
  99.                         String caseSummaryStatus = status.elementText("EBPINRStatus");
  100.                         
  101.                         Element item = caseSummary.element("item");
  102.                         String itemId = other**.elementText("itemId");
  103.                         String itemTitle = other**.elementText("itemTitle");
  104.                         String transactionId = other**.elementText("transactionId");
  105.                         
  106.                         String caseQuantity = caseSummary.elementText("caseQuantity");
  107.                         
  108.                         Element caseAmount = caseSummary.element("caseAmount");
  109.                         String currencyId = caseAmount.attributeValue("currencyId");
  110.                         String caseAmountText = caseAmount.getText();
  111.                         
  112.                         String creationDate = caseSummary.elementText("creationDate");
  113.                         String lastModifiedDate = caseSummary.elementText("lastModifiedDate");
  114.                         
  115.                         
  116.                     }
  117.                     
  118.                 }
  119.                 else
  120.                 {
  121.                     Element errorMessage = root.element("errorMessage");
  122.                     
  123.                     for (Iterator<Element> it = errorMessage.elementIterator("error"); it.hasNext();) {
  124.                         Element student = (Element) it.next();
  125.                         Element nameEle = student.element("parameter");
  126.                         
  127.                         System.out.println(nameEle.getText());
  128.                     }
  129.                 }
  130.                
  131.                
  132.             }  
  133.         } catch (IOException e) {  
  134.             e.printStackTrace();  
  135.         }
  136.         catch (Exception e)
  137.         {
  138.             e.printStackTrace();
  139.         } finally {  
  140.             try {  
  141.             //关闭流并释放资源  
  142.             closeableHttpClient.close();  
  143.             } catch (IOException e) {  
  144.                 e.printStackTrace();  
  145.             }  
  146.         }
  147.     }
复制代码

评分

2

查看全部评分

发表于 2014-9-28 18:03:05 | 显示全部楼层
支持一下~!
发表于 2014-9-28 21:12:33 | 显示全部楼层

继续鼓励分享源码

必须加豆币!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表