当前位置: 首页 > news >正文

Postman测试金蝶云星空Webapi【协同开发云】

文章目录

  • Postman测试金蝶云星空Webapi【协同开发云】
    • 环境说明
    • 业务背景
    • 大致流程
    • 具体操作
      • 请求登录接口
      • 请求标准接口
        • 查看
        • 保存
        • 提交
        • 审核
        • 反审核
        • 撤销
      • 请求自定义接口
        • 参数是字符串
        • 参数是实体类
          • 单个实体类
          • 实体类是集合
    • 其他

Postman测试金蝶云星空Webapi【协同开发云】

环境说明

金蝶协同开发云环境
工作目录空间:D:\WorkSpace\开发商码
协同账套映射到本机的1200端口

//本机K3网址
http://localhost:1200/k3cloud

业务背景

基于金蝶云星空提供的接口测试,交付之前或者联调之前开发者先自测,即使纠错,提高效率。

大致流程

先请求登录接口,获得token后再请求标准webapi或者自定义接口,这样上下文才不会空。

具体操作

请求类型: POST
地址格式:http://localhost:1200/k3cloud/对应的方法拼接结构体

请求登录接口

请求地址

http://localhost:1200/Kingdee.bos.webapi.ServicesStub.authservice.validateuser.common.kdsvc

请求json:

{"acctid":"账套id","userName":"账号","password":"密码","lcid":2052
}

accid:账套ID

userName:用户名

password:密码

lcid:语言【2052代表中文】
在这里插入图片描述

返回以上信息代表登录成功。

请求标准接口

查看

请求方式:POST
请求地址:

http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View.common.kdsvc

请求体构建json:

{"formid":"XXXX_AS_ProductLibrary","data":{"CreateOrgId": 0,"Number": "ZDY00000009HDC","IsSortBySeq": "false"}
}

在这里插入图片描述

响应结果:
在这里插入图片描述

保存

请求方式:POST
请求地址:

http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc

请求体构建json:

{"formid":"XXXX_AS_ProductLibrary","data":{"NeedUpDateFields": [],"NeedReturnFields": [],"IsDeleteEntry": "true","SubSystemId": "","IsVerifyBaseDataField": "false","IsEntryBatchFill": "true","ValidateFlag": "true","NumberSearch": "true","IsAutoAdjustField": "false","InterationFlags": "","IgnoreInterationFlag": "","IsControlPrecision": "false","ValidateRepeatJson": "false","Model": {"FID": 0,"FNumber": "XLH20231031001","FCreateOrgId": {"FNumber": "10"},"FUseOrgId": {"FNumber": "10"},"FName": "序列号001","FCustId": {"FNUMBER": "CUST0001"},"FOrderNum": "SO2023001","FOrderInt": 2,"FMaterialId": {"FNUMBER": "010101076"},"FQty": 1,"FProductionDate": "2023-10-17 00:00:00","FExpirationDate": "2023-12-16 00:00:00","FOutStockDate": "2023-10-31 11:13:25","FOutStockrNum": "XSCK001","FRemark": "测试备注","FDefinerOute": "test","FDeliveryNoticeNo": "D20231031001"}
}
}

在这里插入图片描述
在这里插入图片描述

响应结果:

{"Result": {"ResponseStatus": {"IsSuccess": true,"Errors": [],"SuccessEntitys": [{"Id": 106428,"Number": "XLH20231031001","DIndex": 0}],"SuccessMessages": [],"MsgCode": 0},"Id": 106428,"Number": "XLH20231031001","NeedReturnData": [{}]}
}
提交

请求方式:POST
请求地址:

http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc

请求体:

{"formid":"XXXX_AS_ProductLibrary","data":{"CreateOrgId": 0,"Numbers": ["XLH20231031001","XLH20231031002"],"Ids": "","SelectedPostId": 0,"NetworkCtrl": "","IgnoreInterationFlag": ""}
}

在这里插入图片描述
响应结果

{"Result": {"ResponseStatus": {"IsSuccess": true,"Errors": [],"SuccessEntitys": [{"Id": 106427,"Number": "XLH20231031001","DIndex": 0},{"Id": 106428,"Number": "XLH20231031002","DIndex": 1}],"SuccessMessages": [],"MsgCode": 0}}
}

在这里插入图片描述

审核

请求方式:POST
请求地址:

http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc

请求体:

{"formid":"XXXX_AS_ProductLibrary","data":{"CreateOrgId": 0,"Numbers": ["XLH20231031001","XLH20231031002"],"Ids": "","SelectedPostId": 0,"NetworkCtrl": "","IgnoreInterationFlag": ""}
}

在这里插入图片描述
响应结果

{"Result": {"ResponseStatus": {"IsSuccess": true,"Errors": [],"SuccessEntitys": [{"Id": 106427,"Number": "XLH20231031001","DIndex": 0},{"Id": 106428,"Number": "XLH20231031002","DIndex": 1}],"SuccessMessages": [],"MsgCode": 0}}
}

在这里插入图片描述

反审核

请求方式:POST
请求地址:

http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UnAudit.common.kdsvc

请求体:

{"formid":"XXXX_AS_ProductLibrary","data":{"CreateOrgId": 0,"Numbers": ["XLH20231031001","XLH20231031002"],"Ids": "","SelectedPostId": 0,"NetworkCtrl": "","IgnoreInterationFlag": ""}
}

在这里插入图片描述
响应结果

{"Result": {"ResponseStatus": {"IsSuccess": true,"Errors": [],"SuccessEntitys": [{"Id": 106427,"Number": "XLH20231031001","DIndex": 0},{"Id": 106428,"Number": "XLH20231031002","DIndex": 1}],"SuccessMessages": [],"MsgCode": 0}}
}

在这里插入图片描述

撤销

请求方式:POST
请求地址:

http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.CancelAssign.common.kdsvc

请求体和响应体都和提交、审核、反审核一致。

请求自定义接口

参数是字符串

请求方式:POST
请求地址:

http://localhost:1200/XXXX.K3.SCM.WebApi.ServicesStub.AfterOrder.GetAfterOrder.common.kdsvc

请求体构建json:

{"customer":"XXXX电气有限公司"
}

在这里插入图片描述
响应结果
在这里插入图片描述

参数是实体类
单个实体类

请求方式:POST
请求地址:

http://localhost:1200/XXXX.K3.SCM.WebApi.ServicesStub.AfterOrder.GetAfterOrders.common.kdsvc

请求体构建json:

{"ai":{"Cust":"ZZZZ电气有限公司","Number":"","Name":"蝴蝶床"}
}

在这里插入图片描述
响应结果:
在这里插入图片描述

实体类是集合

请求方式:POST
请求地址:

http://localhost:1200/XXXX.K3.SCM.WebApi.ServicesStub.AfterOrder.GetAfterOrderList.common.kdsvc

请求体构建json:

{"aiList":[{"Cust":"XXXX电气有限公司","Number":"","Name":"蝴蝶床"},{"Cust":"ZZZZ电气有限公司","Number":"","Name":"床"}]
}

在这里插入图片描述
响应结果
在这里插入图片描述

其他

请求类型是POST如果改成GET请求,会报错
报错截图
在这里插入图片描述

响应结果:

{"actionname": "ShowErrMsg","params": [{"errorTitle": "金蝶温馨提示: 应用服务器发生错误,请联系系统管理员检修!","errorInfo": "发生时间:\t2023-10-31 09:54:53\r\n错误编号:\t500\r\n错误信息:\t索引超出范围。必须为非负值并小于集合大小。\r\n参数名: index\r\n===================================================\r\n调用堆栈:\r\n   在 System.Collections.ArrayList.get_Item(Int32 index)\r\n   在 System.Collections.Specialized.NameValueCollection.GetKey(Int32 index)\r\n   在 System.Web.HttpValueCollection.Get(Int32 index)\r\n   在 Kingdee.BOS.ServiceFacade.KDServiceFx.JQueryRequestExtractor.GetByGet(HttpRequest request) 位置 d:\\k3cloudbuild\\BOS_V7_PT\\BOS\\ServiceFacade\\Src\\Kingdee.BOS.ServiceFacade.KDServiceFx\\Pipeline\\JQueryRequestExtractor.cs:行号 35\r\n   在 Kingdee.BOS.ServiceFacade.KDServiceFx.RequestExtractor.Create(HttpRequest request) 位置 d:\\k3cloudbuild\\BOS_V7_PT\\BOS\\ServiceFacade\\Src\\Kingdee.BOS.ServiceFacade.KDServiceFx\\Pipeline\\RequestExtractor.cs:行号 50\r\n   在 Kingdee.BOS.ServiceFacade.KDServiceFx.KDSVCHandler.ProcessRequest(HttpContext context) 位置 d:\\k3cloudbuild\\BOS_V7_PT\\BOS\\ServiceFacade\\Src\\Kingdee.BOS.ServiceFacade.KDServiceFx\\HttpHandlers\\KDSVCHandler.cs:行号 20\r\n   在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\r\n   在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)\r\n   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)\r\n\r\n"}]
}

因此请求类型不可以混用,要对,基本就是POST请求。

POST请求和WebAPI之间的区别是:

  1. POST请求是HTTP协议的一种请求方式,用于向服务器提交数据,通常用于表单提交数据;而WebAPI是一种服务,提供了一组RESTful接口,用于向服务器请求数据。

  2. POST请求是一种客户端向服务器发送数据的方式,通常用于表单提交等场景;而WebAPI则是一种服务器端提供数据的方式,客户端可以通过接口从服务器获取数据。

  3. POST请求需要指定请求的URL和提交的数据,服务器可以根据请求的URL来处理数据;而WebAPI则需要客户端通过URL和参数指定要请求的数据,服务器在接收到请求后返回所需的数据。

总之,POST请求和WebAPI服务是两种不同的概念,POST请求用于提交数据,而WebAPI用于提供数据服务。

相关文章:

Postman测试金蝶云星空Webapi【协同开发云】

文章目录 Postman测试金蝶云星空Webapi【协同开发云】环境说明业务背景大致流程具体操作请求登录接口请求标准接口查看保存提交审核反审核撤销 请求自定义接口参数是字符串参数是实体类单个实体类实体类是集合 其他 Postman测试金蝶云星空Webapi【协同开发云】 环境说明 金蝶…...

mongo常用操作符及查询例子

比较操作符: $eq:匹配字段值等于指定值。 $ne:匹配字段值不等于指定值。 $gt:匹配字段值大于指定值。 $gte:匹配字段值大于或等于指定值。 $lt:匹配字段值小于指定值。 $lte:匹配字段值小于或等…...

41.排序练习题(王道2023数据结构第8章综合练习)

试题1(王道8.3.3节综合练习2): 编写双向冒泡排序算法,在正反两个方向交替扫描。即第一趟把关键字最大的元素放在序列的最后面,第二趟把关键字最小的元素放在序列最前面,如此反复。 首先实现冒泡排序&…...

python爬虫,如何在代理的IP被封后立刻换下一个IP继续任务?

前言 在实际的爬虫应用中,爬虫程序经常会通过代理服务器来进行网络访问,以避免访问过于频繁而受到网站服务器的限制。但是,代理服务器的IP地址也可能被目标网站限制,导致无法正常访问。这时候,我们需要在代理IP被封后…...

小程序开发——小程序项目的配置与生命周期

1.app.json配置属性 app.json配置属性 2.页面配置 app的页面配置指的是pages属性, pages数组的第一个页面将默认作为小程序的启动页。利用开发工具新建页面时,则pages属性对应的数组将自动添加该页面的路径,若是在硬盘中添加文件的形式则不…...

C语言之用指针交换两个数

1.指针存放是是地址,所以在用指针交换两个数的时候,需要对指针进行解引用(*p)。 用指针交换两个数,需要知道p1p2与*p1*p2。 p1p1是将p2的值赋值给p1. *p1*p2是将p2指针地址存放的值,赋值给p1指针地址存放的值,即p1地…...

Day 48 动态规划 part14

Day 48 动态规划 part14 解题理解1143103553 3道题目 1143. 最长公共子序列 1035. 不相交的线 53. 最大子数组和 解题理解 1143 设dp[i][j]为text10: i-1text20: j-1的最长公共子序列。 class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> …...

目标检测与图像识别分类的区别?

目标检测与图像识别分类的区别 目标检测和图像识别分类是计算机视觉领域中两个重要的任务,它们在处理图像数据时有一些区别。 目标检测是指在图像中定位和识别多个目标的过程。其主要目标是确定图像中每个目标的边界框位置以及对应的类别标签。目标检测任务通常涉…...

群晖设置DDNS (服务商Godaddy被墙 DDNS-GO无法解析 采用自定义脚本方式完成DDNS更新)

起因&解决思路 事情的开始大概是这样的。。godaddy买了个域名,好好的用了半个月。。然后一直更新失败发现被狗东西墙了 在提一嘴DDNS-GO 解析失败原因 DDNS-GO必须要先向godaddy请求自己的IP地址[这里被墙卡住了],然后比对,再决定是否上…...

博客摘录「 MySQL不区分大小写设置」2023年10月31日

操作系统的大小写是否敏感决定了数据库大小写是否敏感,而 Windows 系统是对大小写不敏感的,Linux 系统对大小写敏感。 mysql创建表时, 字符集需要设置"编码集(charset)"和"校验规则(collation)"。 编码集比较常用的有utf8和utf8mb4…...

【UE5】如何在UE5.1中创建级联粒子系统

1. 可以先新建一个actor蓝图,然后在该蓝图中添加一个“Cascade Particle System Component” 2. 在右侧的细节面板中,点击“模板”一项中的下拉框,然后点击“Cascade粒子系统(旧版)” 然后就可以选择在哪个路径下创建级…...

SpringCloud(五) Eureka与Nacos的区别

SpringCloud(二) Eureka注册中心的使用-CSDN博客 SpringCloud(四) Nacos注册中心-CSDN博客 在这两篇博文中我们详细讲解了Eureka和Nacos分别作为微服务的注册中心的使用方法和注意事项,但是两者之间也有一些区别. 一, Nacos实例分类 Nacos实例分为两种类型: 临时实例:如果实例…...

C语言 DAY07:预编译,宏,选择性编译,库(静态库,动态库)

声明与定义分离 声明:将声明单独封装成一个以.h为后缀名的头文件 定义:将定义的变量,函数,数组所在的源文件单独封装成一个.c文件。其实就是在源文件基础上将定义过的所有东西的声明分离出去就是了。 注意:1.声明的…...

[EFI]asus strix b760-i 13900F电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 asus strix b760-i 处理器 I9 13900F 已驱动内存crucial ddr5-5200 64gb(32gb*2)(overclock 5600)已驱动硬盘 WD black sn850 500g*2 已驱动显卡rx570已驱动声卡Realtek ALCS1220A已驱动网卡Intel I225-V 2.5 Gigabit Ethernet已驱动无线网卡蓝牙Fevi T91…...

力扣383.赎金信

原题链接:383.赎金信 根据题意得出,需要判断第一个字符串内的字符有没有都在第二个字符串内出现(会有重复字符),并且范围限制在26个英文小写字母 此时可以考虑用一个数组map 作哈希法映射操作 先将遍历第一个字符串,并让每个字符…...

CORS的原理以及在Node.js中的使用

在前端浏览器中的JavaScript代码发起HTTP请求到服务器的Node.js程序,CORS(跨域资源共享)会在以下几个步骤中发挥作用: 前端JavaScript代码发起请求: 前端浏览器中的JavaScript代码使用XMLHttpRequest对象或Fetch API等…...

kotlin实现单例模式

kotlin实现单例模式,大体分为两种方式,一种饿汉式单例模式,一种懒汉式单例模式。 1.饿汉式单例模式 在类前面加上object关键字,就实现了饿汉式单例模式: object singletonDemo { }在kotlin中,使用这种方式…...

【Java】LinkedList 集合

LinkedList集合特点 LinkedList 底层基于双向链表实现增删 效率非常高,查询效率非常低。 LinkedList源码解读分析 LinkedList 是双向链表实现的 ListLinkedList 是非线程安全的(线程是不安全的)LinkedList 元素允许为null,允许重复元素Linked…...

MySQL-Galera-Cluster集群详细介绍

目录 一、什么是Mysql集群?1.单节点mysql存在的常见问题2.mysql集群介绍3.Mysql集群的优点和风险 二、Mysql集群的一些疑问1.mysql的AB复制和Galera Cluster有什么区别?2.什么情况下适用AB复制,什么情况下使用Galera cluster?3.可…...

JavaScript从入门到精通系列第二十六篇:详解JavaScript中的Math对象

大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥连接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻J…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)&#xff…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...