一、简介
  kattle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述我们需要完成的功能。这里使用的是pdi-ce-5.4.0.1-130。下载地址为http://community.pentaho.com/projects/data-integration/

二、示例

  1、需求如下:某系统对外发布了一个接口,通过post方式请求该接口地址,并将参数放在请求体中,接口处理完后会将相应的信息返回。现在我们需要使用kattle完成这个工作。

  2、处理过程如下:

    思路: 构建参数 --> 发送post请求 --> 获取相应数据 --> 后续处理(打印日志)

    kattle 设计流程图如下: 

    1)、表输入如下:

  2)、构造参数

  3)、HTTP Post请求

  fields 页签主要配置请求参数等信息,这里没有用到就无需配置。

  4)、获取结果数据

  5)、打印日志

  运行日志结果如下:

2016/04/19 15:05:09 - Spoon - 转换已经打开.
2016/04/19 15:05:09 - Spoon - 正在打开转换 [post_message]...
2016/04/19 15:05:09 - Spoon - 开始执行转换.
2016/04/19 15:05:09 - post_message - 为了转换解除补丁开始 [post_message]
2016/04/19 15:05:09 - 表输入.0 - Finished reading query, closing connection.
2016/04/19 15:05:09 - 构造参数.0 - Optimization level set to 9.
2016/04/19 15:05:09 - 表输入.0 - 完成处理 (I=1, O=0, R=0, W=1, U=0, E=0
2016/04/19 15:05:09 - 构造参数.0 - 完成处理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - 获取结果数据.0 - Optimization level set to 9.
2016/04/19 15:05:09 - HTTP Post请求.0 - 完成处理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - 写日志.0 -
2016/04/19 15:05:09 - 写日志.0 - ------------> 行号 1------------------------------
2016/04/19 15:05:09 - 写日志.0 - fromUserName = 88888888888888
2016/04/19 15:05:09 - 写日志.0 - accessToken = 88888888888888
2016/04/19 15:05:09 - 写日志.0 - username = zhangsan
2016/04/19 15:05:09 - 写日志.0 - id = 43890uj9f43r43
2016/04/19 15:05:09 - 写日志.0 - pdata = {"toUserNames":["guest"],"fromUserName":"88888888888888","accessToken":"88888888888888","message":{"msgType":1,"username":"zhangsan","uid":"43890uj9f43r43","createTime":"1440056195537"}}
2016/04/19 15:05:09 - 写日志.0 - result = {"name":"zhangsan", "age":20, "gender": "mail"}
2016/04/19 15:05:09 - 写日志.0 - resultCode = 200
2016/04/19 15:05:09 - 写日志.0 - time = 19
2016/04/19 15:05:09 - 写日志.0 - uname = zhangsan
2016/04/19 15:05:09 - 写日志.0 - uage = 20
2016/04/19 15:05:09 - 写日志.0 - ugender = mail
2016/04/19 15:05:09 - 写日志.0 - sfts = 1
2016/04/19 15:05:09 - 写日志.0 -
2016/04/19 15:05:09 - 写日志.0 - ====================
2016/04/19 15:05:09 - 获取结果数据.0 - 完成处理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - 写日志.0 - 完成处理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - Spoon - 转换完成!!

kattle 发送post请求的更多相关文章

  1. Java发送Http请求并获取状态码

    通过Java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断. try { URL u = new URL("http://10.1.2.8:8080/fqz/page ...

  2. AngularJs的$http发送POST请求,php无法接收Post的数据解决方案

      最近在使用AngularJs+Php开发中遇到php后台无法接收到来自AngularJs的数据,在网上也有许多解决方法,却都点到即止.多番摸索后记录下解决方法:tips:当前使用的AngularJ ...

  3. Ajax发送POST请求SpringMVC页面跳转失败

    问题描述:因为使用的是SpringMVC框架,所以想使用ModelAndView进行页面跳转.思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法不可 ...

  4. 使用HttpClient来异步发送POST请求并解析GZIP回应

    .NET 4.5(C#): 使用HttpClient来异步发送POST请求并解析GZIP回应 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的Syst ...

  5. 在发送ajax请求时加时间戳或者随机数去除js缓存

    在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...

  6. HttpUrlConnection发送url请求(后台springmvc)

    1.HttpURLConnection发送url请求 public class JavaRequest { private static final String BASE_URL = "h ...

  7. 【荐】怎么用PHP发送HTTP请求(POST请求、GET请求)?

    file_get_contents版本: <?php /** * 发送post请求 * @param string $url 请求地址 * @param array $post_data pos ...

  8. 使用RestTemplate发送post请求

    最近使用RestTemplate发送post请求,遇到了很多问题,如转换httpMessage失败,中文乱码等,调了好久才找到下面较为简便的方法: RestTemplate restTemplate ...

  9. 【转载】JMeter学习(三十六)发送HTTPS请求

    Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试.由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议.这就需要对jmeter进行设置. ...

随机推荐

  1. Java Script 编码规范【转】

    Java Script 编码规范 以下文档大多来自: Google JavaScript 编码规范指南 Idiomatic 风格 参考规范 ECMAScript 5.1 注解版 EcmaScript ...

  2. ajax代码及简单封装

    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); ...

  3. Linux上的SQL Server的起步

    我们知道,几个星期前,微软发布了在Linux上直接运行的SQL Server第一个公开CTP版本!因此,对我来说,是时候跨界在Linux上安装我的第一个SQL安装,这样的话,我就可以在Linux上折腾 ...

  4. QT QTableView用法小结

    QTableView常用于实现数据的表格显示.下面我们如何按步骤实现学生信息表格: 一 添加表头 //准备数据模型 QStandardItemModel *student_model = new QS ...

  5. LINQ to SQL语句(16)之对象标识

    对象标识 运行库中的对象具有唯一标识.引用同一对象的两个变量实际上是引用此对象的同一实例.你更改一个变量后,可以通过另一个变量看到这些更改. 关系数据库表中的行不具有唯一标识.由于每一行都具有唯一的主 ...

  6. The SQL Server Service Broker for the current database is not enabled

    把一个数据恢复至另一个服务器上,出现了一个异常: The SQL Server Service Broker for the current database is not enabled, and ...

  7. C#写爬虫,版本V2.1

    这次是对2.0的小修补,2.0交互几乎没有,这次添加了进度条,和文本框,同时由于取得的链接主要会出现错误是:webResponse错误. 针对这种情况,设置了 try { webResponse = ...

  8. C# 特性学习之一、CallerMemberName、CallerFilePath和CallerLineNumber

    在开发中经常会写个公有静态类记录日志,如下: /// <summary> /// Writes the error. /// </summary> /// <param ...

  9. JS基础之对象

    JS中一切皆为对象,这是一句常说的话.了解JS对象,从这句话开始吧.JS中的基本数据类型如number,bool,字符串,数组,null,undefined等等都是对象. 对象的本质: 带有属性和方法 ...

  10. REST服务介绍二

           之前一篇文章写过REST服务介绍, 今天再次来自回顾一下. REST是一种架构风格. 首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是 HTTP 规范 ...