kettle调用webservice

本文介绍如何使用Kettle调用WebService来生成特定规则的数据。通过创建Java CXF WebService并结合Kettle作业,可以实现数据库中数据的灵活生成。具体步骤包括编写WebService、配置Kettle中的WebService组件及参数映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我们往数据库迁移数据时,如果对有些数据有特定的生成规则要求我们可以先写webservice再用kettle调用webservice去生成相应的数据。


首先我们需要一个表输入控件和一个webservice控件。如下图:


表输入里面配好数据库,我们根据自己的要求写sql查出对应的数据。如下图



然后写 webservice(这边我们是java  cxf的webservice)例子如下:


import com.founder.fasf.util.ObjectUtil;
import com.founder.rhip.ehr.entity.basic.PersonInfo;
import com.founder.rhip.ehr.service.personal.IPlatformService;
import org.springframework.stereotype.Service;


import javax.annotation.Resource;
import javax.jws.WebParam;
import javax.jws.WebService;
import java.math.BigDecimal;
import java.util.Date;



@Service("createPersonWebService")
@WebService(serviceName="createPersonWebService")
public class CreatePersonWebService implements ICreatePersonWebService{
    private static String folder;
    @Resource(name = "platformService")
    private IPlatformService personService;


    public  void caretePerson(@WebParam(name = "idcard") String idcard, @WebParam(name = "idcardFarm") String idcardFarm,
                              @WebParam(name = "name") String name, @WebParam(name = "birthday") Date birthday
                              {

        PersonInfo personInfo = new PersonInfo();
        if(ObjectUtil.isNotEmpty(idcard)){personInfo.setIdcard(idcard);}
        if(ObjectUtil.isNotEmpty(idcardFarm)){personInfo.setIdcardFarm(idcardFarm);}
        if(ObjectUtil.isNotEmpty(name)){personInfo.setName(name);}
        if(ObjectUtil.isNotEmpty(birthday)){personInfo.setBirthday(birthday);}


        String id1 =  personService.createPerson(personInfo, "personId", false);
}

}

写好webservice然后再配置kettle里的webservice。url:方法地址,操作和下面的是方法名称,如下图


配置webservice的in  名称是表输入里查询的字段名, WS名称是webservice里的接受参数名   WS类型是数据类型



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值