kettle调用一个web service 如何将返回的json字符串解析并放入数据表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle调用一个web service 如何将返回的json字符串解析并放入数据表中相关的知识,希望对你有一定的参考价值。

kettle调用一个web service 如何将返回的json字符串解析并放入数据表中 ?使用什么步骤?

参考技术A 请问这个问题你解决了吗,我也遇到了同样的问题 参考技术B 你确信你这问题是属于javascript问题?追问

搞错了,是数据方面的

如何使用ABSL代码调用Web service

需求:在C4C UI里创建web service(maintain ticket),然后通过ABSL代码消费。
1. 创建一个新的Communication Arrangement
技术分享图片

基于Manage Tickets这个标准的Communication Scenario创建一个Communication Arrangement:

技术分享图片

因为我是在当前C4C系统上的ABSL里调用当前C4C系统提供的Web Service,所以Communication System选择Local:

技术分享图片

当然这个Local的communication system也是需要在这个地方自己创建一个的:

Authentication method可以维护成"User ID and Password", 给该创建的arrangement维护communication user的password:

技术分享图片

技术分享图片

将该Arrangement的WSDL下载到本地。

技术分享图片

2. 在Cloud Studio里创建一个新的External Web Service Integration:

技术分享图片

将第一步下载的WSDL文件夹加载进去:

技术分享图片

点击finish,在Studio里能看到自动生成了两个文件。

双击.csd(communication scenario definition), 将Communication Type改为A2X改为:

技术分享图片

切换到Services tab, 选择Custom Outbound Services->JerryTicket2->MaintainBundle

技术分享图片

激活之后,在Communication Scenario的列表里也能看到JerryTicket2这个communication scenario了。

3. 基于前一步创建的communication scenario JerryTicket2创建一个Communication arrangement。至此C4C配置完成。

技术分享图片

技术分享图片

ABSL代码如下:

技术分享图片

import ABSL;

import AP.CRM.Global;

import AP.Common.GDT;

var ticketReq: JerryTicket2.MaintainBundle.Request;

var SerReq : JerryTicket2.MaintainBundle.Request.ServiceRequestBundleMaintainRequest2_sync.ServiceRequest ;

var SrvReqItem : JerryTicket2.MaintainBundle.Request.ServiceRequestBundleMaintainRequest2_sync.ServiceRequest.Item;

SerReq.actionCode = "06";

SerReq.ID = this.ID;

var counter = 0;

while(counter < 500)

{

SrvReqItem.actionCode = "01"; //Create Item

SrvReqItem.Description.content = "Add item from WS" ;

SrvReqItem.ProductID.content = "P120100";

SrvReqItem.RequestedQuantity.content = 1.0;

SrvReqItem.RequestedQuantity.unitCode = "EA";

SrvReqItem.UserServiceTransactionProcessingTypeCode = "SRP0";

SerReq.Item.Add(SrvReqItem);

counter = counter + 1;

}

ticketReq.ServiceRequestBundleMaintainRequest2_sync.ServiceRequest.Add(SerReq);

var response = Library::JerryTicket2.MaintainBundle(ticketReq,"","JerryTicket2");

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

技术分享图片

技术分享图片

以上是关于kettle调用一个web service 如何将返回的json字符串解析并放入数据表中的主要内容,如果未能解决你的问题,请参考以下文章

一个简单的AXIS远程调用Web Service示例

如何调用web service接口的某个方法

如何使用ABSL代码调用Web service

如何使用ABSL代码调用Web service

kettle如何将string类型转换为timestamp类型

调用 Web Service 时如何查看数据?