一、简介
  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. Kooboo CMS - Html.FrontHtml.Position 详解

    DataContract 数据契约 http://www.cnblogs.com/Gavinzhao/archive/2010/06/01/1748736.html https://msdn.micr ...

  2. 关于SSMS显示select出来的数据行的疑问

    调试存储过程时,往往可以用print将存储过程中的变量print出来, 但是print出来的字符串有一定长度限制,刚才专门试了一下,应该是4000个字符 如果超过4000个字符,超长的字符会被自动截断 ...

  3. Android系统build.prop文件

    # begin build properties (开始设置系统性能) # autogenerated by buildinfo.sh (通过设置形成系统信息) ro.build.id=GRI40 ( ...

  4. 测试为什么Low

    你从来没有因为一个歌手不会写曲填词而说歌手很Low! 你从来没有因为一个演员不会摄影.唱歌而说演员很Low! 你从来没有因为一个记者不会摄影,拍照而说记者很Low! 你从来没有因为一个美食家不会烧菜, ...

  5. QTableWidget行选中/删除/添加行

    1  均分各列 tableWidget->horizontalHeader()->setStretchLastSection(true); //就是这个地方 tableWidget-> ...

  6. jquery easyui使用(二)······可折叠面板动态加载无效果

    先上代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"& ...

  7. Reflector、reflexil、De4Dot、IL指令速查表

    http://files.cnblogs.com/files/quejuwen/ReflectorInstaller.rar http://files.cnblogs.com/files/quejuw ...

  8. DELPHI实现关闭指定进程,自身防杀

    偶然翻到很久以前用DELPHI写的一个小程序,实现功能是在后台默默关闭符合条件的进程,并隐藏自身.编写目的是为了防止办公电脑运行游戏. 实现原理是: 1.程序运行后将自身以不同的名称一式三份存到系统各 ...

  9. 比较牛X的互联网公司都有哪些作死的行为

    以下为近乎家的小近吐血整理: 1流氓行为 臭表碾说的就是你们!   百度 还有这种伪造网页弹窗: 360 不经同意,也不弹窗提醒,直接给我们安装推广软件.比较典型的是 腾讯 腾讯一直走在行业最前端,买 ...

  10. 解决.NET WebService引用后添加HTTP Header的问题

    麻蛋,搜索了好久,找到的都是对soap header的操作,不是对WebService的HTTP Header的操作,这是两种不同的概念,平常我们发起的WebService请求走的都是http通信协议 ...