/**
* 通过HttpClient调用服务
*
* @param url 路径
* data json数据
* @return
*/ //post请求方法
public String sendItsmTask(String url, String data) throws Exception{ System.out.println("进入发送itsm方法 url:"+ url + "data:" +data); String isSuccess = "success"; HttpPost post = null;
try {
HttpClient httpClient = new DefaultHttpClient(); // 设置超时时间
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 2000);
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 2000); post = new HttpPost(url);
// 构造消息头
post.setHeader("Content-type", "application/json; charset=utf-8");
post.setHeader("Connection", "Close"); // 构建消息实体
StringEntity entity = new StringEntity(data, Charset.forName("UTF-8"));
entity.setContentEncoding("UTF-8");
// 发送Json格式的数据请求
entity.setContentType("application/json");
post.setEntity(entity); HttpResponse response = httpClient.execute(post); // 检验返回码
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode != HttpStatus.SC_OK){
log.info("请求出错: "+statusCode);
isSuccess = "error";
}else{
String retCode = "";
// 返回码中包含retCode
// 找响应信息
for(Header header : response.getAllHeaders()){
System.out.println("这是个什么神奇的东西"+header.getName() +":" + header.getValue());
if("retcode".equals(header.getName())){
retCode = header.getValue();
}
} if(IAS_SUCCESS != retCode ){
// 日志打印
log.info("调用全网接口下发工单 返回状态异常响应码为: "+retCode);
isSuccess = "error";
}
}
} catch (Exception e) {
e.printStackTrace();
isSuccess = "error";
}finally{
if(post != null){
try {
post.releaseConnection();
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
return isSuccess; }

最新文章

  1. cnblog中添加数学公式支持
  2. Windows 8 系统安装
  3. 【JAVA、C++】LeetCode 016 3Sum Closest
  4. WCF入门教程(vs2010)
  5. C#利用Attribute实现简易AOP介绍 (转载)
  6. Distributed systems
  7. Python元组、列表--笔记
  8. jquery 实现导航栏滑动效果
  9. DOM(二) 判断节点包含关系
  10. 用html +js+css 实现页面轮播图效果
  11. Log4j2配置文件详解
  12. c++类与对象(1)——构造,复制构造函数
  13. vmware创建虚拟机不识别网卡
  14. Centos上传下载命令
  15. [评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)
  16. 第31节:Java基础-类与对象
  17. ZT 设计模式六大原则(1):单一职责原则
  18. SQL Server触发器创建、删除、修改、查看
  19. systemverilog interface杂记
  20. Process Stats:了解你的APP怎样使用内存

热门文章

  1. 2.C#知识点:I/O
  2. Hibernate中的事务隔离问题(脏读、不可重复读、幻读)
  3. JavaScript--动态加载脚本和样式(23)
  4. InfoQ观察:Java EE的未来
  5. windows与虚拟机的linux共享一个文件夹
  6. 想涨工资吗?那就学习Scala,Golang或Python吧
  7. "System.OutOfMemoryException" exception when you execute a query in SQL Server Management Studio (转自MSDN)
  8. python自学——文件修改
  9. Linux 中查看 DNS 与 配置
  10. PyCharm导入模块报No model named