U9二次开发之轻量服务项目开发

最近公司要开发一个下载图纸的U9轻量级接口,轻量级接口就是restful api,可以直接通过get、post等方式调用,参数的传送和结果的返回都使用JSON格式,用起来比Webservice接口爽多了。

如果是开发新的接口,我建议都用轻量级接口的方式来开发,具体的开发过程如下。

1、打开UBFSudio,新建一个解决方案,勾选轻量服务项目,填写好项目名称,点确定按钮。

在这里插入图片描述

2、删除自带的ubfsvr文件:

在这里插入图片描述

3、点击属性按钮,修改名称:

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

4、新建业务组件

右键项目–新建,选择业务操作组件,填写组件名称,点确定按钮:

在这里插入图片描述

5、选择模型视图,双击项目,打开操作页面:

在这里插入图片描述

6、拖动服务按钮到窗体:

在这里插入图片描述

7、点击操作实体,点击属性按钮,修改名称:

在这里插入图片描述

8、修改返回类型(按需修改),事务类型为required,是否ISV(新ISV)为True:

在这里插入图片描述

9、添加接口的参数:

根据项目的实际情况添加接口所需的参数。

我们这个接口的请求参数如下:
在这里插入图片描述
json格式如下:

{
    "context": {
        "CultureName": "zh-CN",
        "EntCode": "007",
        "OrgCode": "101",
        "UserCode": "admin"
    },
    "type": "Image_MoList",
    "requestInfo": [
        {
            "DocNo": "123"
        },
        {
            "DocNo": "456"
        }
    ]
}

其中context参数是接口内置的,默认就有,不用管。

"context": {
        "CultureName": "zh-CN",
        "EntCode": "007",
        "OrgCode": "101",
        "UserCode": "admin"
    }

我们只需要把type和requestInfo参数设置好就行。

在这里插入图片描述

上面建立的这个RequestDTO对象其中包含了一个docNo字段,就是requestInfo参数的内容,我们再把Type和IsFormal(文档里没写)字段加上。

注意:RequestInfo字段要引用上面的RequestDTO对象,因为requestInfo是个List,所以要选择集合。

在这里插入图片描述

接口的参数按具体的需求设置,接口需要什么参数就设置什么参数。

10、新增返回结果对象

服务的返回结果,也是按需填写,我们看下接口文档:

在这里插入图片描述
json格式如下:

{
"d": 
	{
	"ErrMsg": "\\U9\\RYKF\\PrintListPDF\\admin\\123.pdf",
	"IsSuccess": true,
	"FilePath":"\\U9\\RYKF\\PrintListPDF_ISV\\admin\\123.pdf"
	}
}

拖动数据传输对象到窗体,然后修改名称:

在这里插入图片描述
在这里插入图片描述
添加返回结果对象的属性,需要返回什么字段就填什么:

在这里插入图片描述

11、绑定返回结果对象:

在这里插入图片描述

把服务的返回类型改成我们刚才添加的返回结果对象:

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

12、构造代码

右键项目点击构造:

在这里插入图片描述

在消息列表中可以看到生成代码的路径:

在这里插入图片描述

13、编写代码

找到项目所在的路径,打开项目,把业务代码写到这里:

在这里插入图片描述

具体代码我就省略了。

14、代码写好后编译整个项目,复制dll到对应目录下

双击项目目录下的AutoBuild.bat文件即可:

在这里插入图片描述
如果复制失败,就鼠标右键编辑,打开bat文件,按照路径手动复制一下:

在这里插入图片描述
不知道为什么,我都没复制成功,只能手动复制一下了。

注意svc文件不要复制漏了:

在这里插入图片描述

15、测试接口

在浏览器中打开 http://localhost/U9/restservices/GetDrawing.IGetDrawingService.svc

在这里插入图片描述
可以看到wsdl的返回,说明接口可以找到了。

再用postman测试一下,虽然结果返回错误信息,但是说明接口是调通了。
在这里插入图片描述

16、制作补丁发布

接口测试好之后就可以制作补丁发布了,具体的过程可以参考这篇文章:U9二次开发之补丁制作

最后

这就是U9轻量服务项目开发的整个过程,步骤比较多,网上u9二开的资料也比较少,仅仅做个记录,以备查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/184790.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7磁盘挂载

1 引言 本文主要讲述CentOS7磁盘挂载相关知识点和操作。 2 磁盘挂载 步骤1: 查看机器所挂硬盘及分区情况 fdisk -l查询结果: 由上图可以看到该结果包含:硬盘名称、硬盘大小等信息。 属性解释说明Disk /dev/vda硬盘名称53.7G磁盘大…

vue3中引入svg矢量图

vue3中引入svg矢量图 1、前言2、安装SVG依赖插件3、在vite.config.ts 中配置插件4、main.ts入口文件导入5、使用svg5.1 在src/assets/icons文件夹下引入svg矢量图5.2 在src/components目录下创建一个SvgIcon组件5.3 封装成全局组件,在src文件夹下创建plugin/index.t…

一穿一戴一世界 | 紫光展锐2023智能穿戴沙龙成功举办

11月23日,紫光展锐在深圳成功举办了以“一穿一戴一世界”为主题的2023智能穿戴沙龙。展锐智能穿戴沙龙已举办四届,旨在为行业提供启发性的观点和前瞻性的创新理念。本届沙龙吸引了终端厂商、行业翘楚、生态伙伴等行业各领域超过500人汇聚一堂&#xff0c…

代码随想录算法训练营第四十五天【动态规划part07】 | 70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

70. 爬楼梯 (进阶) 题目链接: 题目页面 求解思路: 动规五部曲 确定dp数组及其下标含义:爬到有i阶楼梯的楼顶,有dp[i]种方法递推公式:dp[i] dp[i-j];dp数组的初始化:dp[0] 1;确…

echarts笛卡尔坐标系热力图当坐标及数据为小数时

// X坐标轴 const xValue [6,6.5,7,7.5,8,8.5,9,9.5,10]; //Y坐标轴 const yValue [1.5,2,2.5,3,3.5,4,4.5,5,5.5,6]; // 需要展示的值【X坐标,Y坐标,展示的数值】 const data [[6.5,2,4], [7, 2.5, 10]] ; // 坐标轴及数值存在小数时,需要进行转化,否…

图扑数字孪生在智慧校园可视化中的应用

当今,智慧校园发展阶段亟需推动信息可视化建设与发展,将大数据、云计算、可视化等高新技术相融合,为校园师生创造科学智能的学习环境,并实现教学资源最大化和信息服务智能化。帮助学校更好地应用校园可视化技术,提升校…

【医学图像处理】超详细!PET图像批量预处理

目录 一、单个PET图像预处理1、使用[MRIConvert](https://pan.baidu.com/s/1cn3kgeVRir8HvP6HHm0M0Q?pwd5rt5)处理DCM2、MRI和PET数据预处理过程1) 打开matlab命令行输入spm pet,打开SMP12,界面如下2) Realign,只需要…

小程序:用户查找英语单词的意思 ← Python字典

【程序分析】 ● 字典中的条目是没有顺序的。 ● 可以对字典使用如下方法: keys()、values()、 items()、 clear()、 get(key)、 pop(key) 和popitem()【程序代码】 dictionary{"dog":"狗","apple":"苹果","banana&q…

软件测试该如何发展?自我价值诉求?“我“的测试之路...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 其实测试的生态&a…

curl添加https服务

CURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。 首选删除系统自带的openssl,因为他只有可执行程序和库,没有头文件。 sudo apt-get remove openssl openssl官网&am…

国产自研数字孪生引擎如何突围?易知微给出了一个答案!

大数据产业创新服务媒体 ——聚焦数据 改变商业 在数字化转型的大潮中,数字孪生引擎以其独特的能力,正迅速成为能源、智慧城市、智能制造及智能政务等多个领域的关键技术。通过创建现实世界的虚拟副本,数字孪生为复杂系统的管理、优化和预测…

每日一题 2824. 统计和小于目标的下标对数目(简单)

简单题&#xff0c;走流程 class Solution:def countPairs(self, nums: List[int], target: int) -> int:ans 0for i in range(len(nums)):for j in range(i 1, len(nums)):if nums[i] nums[j] < target:ans 1return ans

数据治理技术之数据清洗

数据清洗背景 数据质量一般由准确性、完整性、一致性、时效性、可信性以及可解释性等特征来描述&#xff0c;根据 Rahm 等人在 2000 年对数据质量基于单数据源还是多数据源以及问题出在模式层还是实例层的标准进行分类&#xff0c;将数据质量问题分为单数据源模式层问题、单数…

Jetson orin(Ubuntu20.04)不接显示器无法输出VNC图像解决办法以及vnc安装记录

sudo apt install vino 好像Jetpack 5.0中已经自带了。。 配置VNC server: gsettings set org.gnome.Vino prompt-enabled false gsettings set org.gnome.Vino require-encryption false 编辑org.gnome,增加一个“enabled key”的参数&#xff1a; cd /usr/share/glib-2…

数据结构-树

参考&#xff1a;https://www.hello-algo.com/chapter_tree/binary_tree/#711 1. 介绍 树存储不同于数组和链表的地方在于既可以保证数据检索的速度&#xff0c;又可以保证数据插入删除修改的速度&#xff0c;二者兼顾。 二叉树是一种很重要的数据结构&#xff0c;是非线性的…

Linux | 创建 | 删除 | 查看 | 基本命名详解

Linux | 创建 | 删除 | 查看 | 基本命名详解 文章目录 Linux | 创建 | 删除 | 查看 | 基本命名详解前言一、安装Linux1.1 方法一&#xff1a;云服务器方式1.2 方法二&#xff1a;虚拟机方式 二、ls2.2 ll 三、which3.1 ls -ld 四、pwd五、cd5.1 cd .\.5.2 ls -al5.3 重新认识命…

一个令人惊艳的新项目,SVD开源了!

大家好&#xff0c;我是 Jack。 对于 Stable Diffusion&#xff0c;想必我的读者朋友们对此都不陌生。 自 Stability AI 公司发布 SD&#xff08;全称&#xff1a;Stable Diffusion) 以来&#xff0c;受到了很多人的喜爱。 SDXL 效果 随后技术升级&#xff0c;又发布了 SDXL…

rsyslog学习

rsyslog是什么 RSYSLOG&#xff08;Remote System Logging&#xff09;是一个开源的日志处理工具&#xff0c;用于在 Linux 和 Unix 系统上收集、处理和转发日志。它是一个健壮且高性能的日志处理程序&#xff0c;可以替换 Syslogd 作为标准的系统日志程序。RSYSLOG 提供了许多…

Re53:读论文 How Can We Know What Language Models Know?

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称&#xff1a;How Can We Know What Language Models Know? ArXiv网址&#xff1a;https://arxiv.org/abs/1911.12543 官方GitHub项目&#xff08;prompt之类的都有&#xff09;&#xff1a;https:…