如何使用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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
- SpringBoot就是这么简单
- SpringData JPA就是这么简单
- Openflow细节理解之—Buffer_id篇
- 移动商城项目总结
- 移动商城第一篇【搭建项目环境+数据模型】
- 移动商城第二篇(品牌管理模块)【文件上传、数据校验、CRUD】
- 手把手在亚马逊EC2上搭建Keras GPU
- 移动商城第三篇(商品管理)【查询商品、添加商品】
- 移动商城第四篇(商品管理)【添加商品续篇、商品审核和上下架、前台展示、后台筛选】
- 移动商城第五篇(用户模块)【用户登陆、回显用户、拦截器、收货地址】
- 移动商城第六篇【单品查询、静态化页面】
- 移动商城第七篇【购物车增删改查、提交订单】
- Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】
- OFTest(一):如何忽略一些字段在端口poll报文
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- leetcode链表之回文链表
- Docsify 安装
- Docsify 初始化文件夹
- ELK 日志系统集成 Skywalking 调用链 ID
- ChartCenter ——为您的K8s之旅保驾护航v
- leetcode链表之删除链表的节点
- iOS打包的那一些事情
- 腾讯云服务器(CentOS 7、Tencent Linux)手动搭建LNMP环境(linux+Nginx+Mariadb+PHP)
- iOS技术面试题及答案
- 虽然现在有可以去码的软件了,可视频是如何自动跟踪打码的?
- 2020-09-12:手撕代码:最小公倍数,复杂度多少?
- Mac App推荐
- 美团面试问ThreadLocal,学妹一口气给他说了四种!
- BFE.dev前端刷题#108. 用队列(Queue)实现栈(Stack)
- Kafka消费过程关键源码解析