一、简介
  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. IO多路复用之epoll总结

    1.基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本.相对于select和poll来说,epoll更加灵活,没有描述符限制.epoll使用一个文件描述符管理多个描述 ...

  2. RabbitMQ原理与相关操作(三)消息持久化

    现在聊一下RabbitMQ消息持久化: 问题及方案描述 1.当有多个消费者同时收取消息,且每个消费者在接收消息的同时,还要处理其它的事情,且会消耗很长的时间.在此过程中可能会出现一些意外,比如消息接收 ...

  3. 分享一个UI与业务逻辑分层的框架(二)

    序言 第一篇讲解了UI与业务逻辑分层的框架(UIMediator)的使用.本篇将说明该框架的原理及代码实现. 整体结构 UI与后台类绑定主要分为UI输入->后台属性,后台属性-UI更新两部分,为 ...

  4. C# 热敏打印机 Socket 网络链接 打印 图片 (二)

    IPAddress ip = IPAddress.Parse("192.168.1.212"); IPEndPoint iport = );//9100为小票打印机指定端口 Soc ...

  5. .Net语言 APP开发平台——Smobiler学习日志:实现手机上常见的ListMenuView

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...

  6. C# 关键字extern用法

    修饰符用于声明在外部实现的方法.extern 修饰符的常见用法是在使用 Interop 服务调入非 托管代码时与 DllImport 属性一起使用:在这种情况下,该方法还必须声明为 static,如下 ...

  7. JavaScript进阶之this

    javascript的this,一个不知道究竟属于谁的东西 this是一个大利器,用好了就可以帮我们省掉很多事,然而事实上却总是让我们出错.自己就吃过很大的亏.现在咱们就来扒一扒this究竟是什么. ...

  8. luogg_java学习_12_线程

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 线程 程序.进程.线程的概念 程序:我们用程序设计语言 ...

  9. Android源码编译make的错误处理

    android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Li ...

  10. Bootstrap之表单控件状态

    Bootstrap中的表单控件状态主要有三种:焦点状态,禁用状态,验证状态.   一.焦点状态:该状态告诉用户可输入或选择东西 焦点状态通过伪类“:focus”以实现. bootstrap.css相应 ...