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

news2024/11/16 1:27:39

最近公司要开发一个下载图纸的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二开的资料也比较少,仅仅做个记录,以备查看。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java springboot测试类虚拟MVC环境 匹配返回值与预期内容是否相同 (JSON数据格式) 版

上文java springboot测试类鉴定虚拟MVC请求 返回内容与预期值是否相同我们讲了测试类中 虚拟MVC发送请求 匹配返回内容是否与预期值相同 但是 让我意外的是 既然没人骂我 因为我们实际开发 返回的基本都是json数据 字符串的接口场景是少数的 我们在java文件目录下创建一个 dom…

系列二、IOC DI

一、IOC 1.1、概述 IOC的中文意思是控制反转,通俗地讲就是把创建对象的控制权交给Spring去管理,以前是由程序员自己去创建、控制对象,现在交由Spring去创建对象 & 管理对象(维系对象之间的关系),使用I…

软件测试简历怎么编写项目经历?

概述 工作这10多年来,也经常做招聘的工作,面试过的人超过50人次了,而看过的候选人的简历则有几百份了,但是清晰且能突出重点的简历,确实很少遇到。 这里基本可以说明一个问题,很多候选人是不太清楚如何写…

python+gurobi求解线性规划、整数规划、0-1规划

文章目录 简单回顾线性规划LP整数规划IP0-1规划 简单回顾 线性规划是数学规划中的一类最简单规划问题,常见的线性规划是一个有约束的,变量范围为有理数的线性规划。如: 使用matlab的linprog函数即可求解简单的线性规划问题,可以参…

CentOS7磁盘挂载

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

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

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

h5小游戏-盖楼游戏

盖楼游戏 一个基于JavaScrtipt、Html5 的盖楼游戏 效果预览 点我下载源代码 Game Rule 游戏规则 以下为默认游戏规则,也可参照下节自定义游戏参数 每局游戏生命值为3,掉落一块楼层生命值减1,掉落3块后游戏结束,单局游戏无时间限…

机器学习算法——聚类算法

目录 1. 概述2. K-MEANS算法2.1 工作流程2.2 代码实践2.3 Mini Batch K-Means2.4 存在问题2.5 K-MEANS可视化 3. DBSCAN算法3.1 基本概念3.2 工作流程3.3 代码实践3.4 DBSCAN算法可视化 1. 概述 聚类算法是一种无监督学习方法,用于将数据集中的对象分组或聚集成具有…

今日现货白银价要素分析

现货白银市场每天走势图上的K线,都是由开盘价、收盘价、最高价、最低价四个价格要素组成。K线作为一种特殊的市场语言,不同具体的形态有不同的含义,当收盘价高于开盘价就形成阳线,反之就形成阴线。 如果阳线出现在银价盘整或行情下…

多线程Thread(初阶三:线程的状态及线程安全)

目录 一、线程的状态 二、线程安全 一、线程的状态 1.NEW Thread:对象创建好了,但是还没有调用 start 方法在系统中创建线程。 2.TERMINATED: Thread 对象仍然存在,但是系统内部的线程已经执行完毕了。 3.RUNNABLE: 就绪状态&…

红酒按照糖含量怎么分类?

我们常听人们形容葡萄酒为干型或甜型,这指的是葡萄酒的含糖量。不含糖就是干型,含糖少就是半干型,含糖多就是甜型,这是葡萄酒分类的一种——按糖量分。云仓酒庄的品牌雷盛红酒分享一般分为干型、半干型、半甜型、甜型四种。 云仓…

朋友在阿里测试岗当HR,给我整理的面试总结

以下是软件测试相关的面试题及答案,欢迎大家参考! 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验&…

数据结构:二叉查找树,平衡二叉树AVLTree,红黑树RBTree,平衡多路查找数B-Tree,B+Tree

二叉查找树 二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键值。 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1,深度为2的查找次数为2,深度为n的节点的查找次数为n,因此其平均查找次…

单片DC-DC变换集成电路芯片B34063,可兼容型号MC34063A。工作电压范围宽。静态电流小,具有输出电流限制功能输出电流保护功能

B34063为一单片DC-DC变换集成电路,内含温度补偿的参考电压源(1.25V)、比较器、能有效限制电流及控制工作周期的振荡器,驱动器及大电流输出开关管等,外配少量元件,就能组成升压、降压及电压反转型DC-DC变换器。 主要特点: ● 工作…

APP软件外包开发需要注意的问题

在进行APP软件开发时,有一些关键问题需要特别注意,以确保项目的成功和用户满意度。以下是一些需要注意的问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 清晰的需求定义&a…

视频服务网关的三大部署(一)

视频网关是软硬一体的一款产品,可提供多协议(RTSP/ONVIF/GB28181/海康ISUP/EHOME/大华、海康SDK等)的设备视频接入、采集、处理、存储和分发等服务, 配合视频网关云管理平台,可广泛应用于安防监控、智能检测、智慧园区…

指针笔试题分享

今天给大家分享几道关于指针的好题&#xff0c;我觉得的只要是题&#xff0c;都是好题咯&#xff01;下面来看看我们今天的题吧&#xff01; 题目一&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>int main() {int a[5] { 1, 2, 3, 4, 5 };int* p…

ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小

好记心不如烂笔头 使用ESP-IDF开发ESP32的时候,要是同时用到蓝牙和WIFI的话,很多时候会提示Flash不够, 我是照着这样解决的,存档记录 来源 : zaixingxing2539 大佬的 ESP32 ESP-IDF5.0 在VSCODE中自定义分区表 用Visual Studio Code自定义分区表 # ESP-IDF Partition Table…

OpenCV滑块验证码图像缺口位置识别

OpenCV图像缺口位置识别 1、背景2、图像缺口位置识别原理3、图像缺口位置识别实现4、滑块验证码HTTP图像需要保存到本地吗1、背景 在使用Selenium完成自动化爬虫时,许多网站为了防止机器人爬取数据会使用验证码(例如滑块验证码)。通过Selenium动作操作,爬虫可以模拟用户输入…

测试设备的选型

随着科技的不断发展和进步&#xff0c;各行各业都在积极地进行产业升级和转型。在这个过程中&#xff0c;各种测试设备发挥着不可或缺的作用。如何选择合适的测试设备&#xff0c;成为了企业生产过程中必须面对的重要问题。本文将探讨测试设备的选型&#xff0c;为企业提供一些…