java调用用友eai,GitHub – hellozjf/u8eai: 用友EAI接口调研结果

java调用用友eai,GitHub – hellozjf/u8eai: 用友EAI接口调研结果文档结构 src main java com hellozjf test u8eai controller domain

文档结构

├─src

│ ├─main

│ │ ├─java

│ │ │ └─com

│ │ │ └─hellozjf

│ │ │ └─test

│ │ │ └─u8eai

│ │ │ ├─controller

│ │ │ ├─domain

│ │ │ │ └─jaxb

│ │ │ ├─service

│ │ │ └─tools

│ │ ├─resources

│ │ │ └─Template

│ │ └─webapp

│ │ └─WEB-INF

│ │ └─jsp

│ └─test

└─xsd

文件夹功能介绍

文件夹名称

文件夹功能

src/main/resources

存放了SpringBoot的配置文件以及EAI参考文档

src/main/resources/Template

用于存放原始XML文件,这些文件取自用友的Template文件夹

xsd

用于存放XML文件生成的XSD文件

src/main/java/com/hellozjf/test/u8eai/domain/jaxb

用于存放XSD文件生成的Java文件,这些Java文件带有JAXB注释,能够与XML进行转换

src/main/java/com/hellozjf/test/u8eai/tools

这个文件夹下面有三个工具类:CreateJAXB用于通过XML生成XSD以及Java类;EAITool用于与用友EAI服务器进行交互;JAXBUtil用于将Java类与XML进行转换

src/main/java/com/hellozjf/test/u8eai/service

实现各个domain类的增删改查功能,为controller提供服务

src/main/java/com/hellozjf/test/u8eai/controller

调用增删改查功能

src/main/webapp/WEB-INF/jsp

视图,显示增删改查的结果

工程初始化操作

其实下载过来的工程已经是初始化好的了,如果要修改包名,那么可以修改src/main/java/com/hellozjf/test/u8eai/tools/CreateJAXB.java的代码,然后运行它生成带JAXB注释的Java类。

下面是CreateJAXB.java的主要代码

public static void main(String[] args) throws Exception {

// 在当前工程目录创建xsd目录,之后根据XML生成的XSD文件会放在该目录下

new File(“xsd”).mkdir();

// 遍历src/main/resources/Template下面的XML文件

URL url = CreateJAXB.class.getClassLoader().getResource(“Template”);

File dir = new File(url.getPath());

File[] files = dir.listFiles();

for (int i = 0; i < files.length; i++) {

File file = files[i];

if (file.getName().endsWith(“.xml”)) {

// 为每个XML文件创建一个XSD文件,注意要自己去网上下载xsd.exe,并把它放到PATH路径下,例如放在C:/Windows/system32

createXSD(file);

// 获取小写的文件名,因为后面生成的包名最好是按小写来,我的demo也是按小写的包名读取的

String name = file.getName().replaceAll(“.xml”, “”).toLowerCase();

// 将XSD文件转化为Java文件,包名为com.hellozjf.test.u8eai.domain.jaxb.文件名,并且为UTF-8编码

Runtime.getRuntime().exec(“xjc -encoding utf-8 -d ” + getCurrentProjectPath() + “/src/main/java/” + ” -p com.hellozjf.test.u8eai.domain.jaxb.” + name + ” xsd/” + name + “.xsd”);

}

}

}

添加新的增删改查业务

Service

查看src/main/java/com/hellozjf/test/u8eai/service/ReceiveSendTypeService.java ,这个类实现了完整的增删改查逻辑。

sender

注意,我的demo代码使用了001作为sender,所以EAI服务器必须有这个账号。 添加这个账号的方法如下:

687474703a2f2f6f64793369766c69322e626b742e636c6f7564646e2e636f6d2f323031372f30392f33302f54494d25453625383825414125453525394225424532303137303933303139323632352e706e67

687474703a2f2f6f64793369766c69322e626b742e636c6f7564646e2e636f6d2f323031372f30392f33302f54494d25453625383825414125453525394225424532303137303933303139323834312e706e67

Ufinterface

另外还要注意,代码中有很多中Ufinterface,导入的时候不要搞错了。 例如

import com.hellozjf.test.u8eai.domain.jaxb.receivesendtype.Ufinterface;

import com.hellozjf.test.u8eai.domain.jaxb.receivesendtype.Ufinterface.Receivesendtype;

import com.hellozjf.test.u8eai.domain.jaxb.saleorder.Ufinterface;

import com.hellozjf.test.u8eai.domain.jaxb.saleorder.Ufinterface.Saleorder;

前者是receivesendtype所用到的Ufinterface,后者是saleorder所用到的Ufinterface。每个Ufinterface里面的内部类是不一样的。

Controller

查看src/main/java/com/hellozjf/test/u8eai/controller/ReceiveSendTypeController.java ,这个类调用了Service层的增删改查逻辑,并将执行结果显示在网页上面。

验证新增业务是否正确

在Eclipse中Run on Server启动SpringBoot。

查询

http://localhost:8080/u8eai/ReceiveSendType/list

687474703a2f2f6f64793369766c69322e626b742e636c6f7564646e2e636f6d2f323031372f30392f33302f54494d25453625383825414125453525394225424532303137303933303230303331352e706e67

添加

http://localhost:8080/u8eai/ReceiveSendType/add?code=120&name=hellozjf&endFlag=1&sort=2&rsflag=1&bRetail=0

687474703a2f2f6f64793369766c69322e626b742e636c6f7564646e2e636f6d2f323031372f30392f33302f54494d25453625383825414125453525394225424532303137303933303230303034362e706e67

修改

http://localhost:8080/u8eai/ReceiveSendType/edit?code=120&name=%E5%91%A8%E9%9D%96%E5%B3%B0&endFlag=1&sort=2&rsflag=1&bRetail=0

687474703a2f2f6f64793369766c69322e626b742e636c6f7564646e2e636f6d2f323031372f30392f33302f54494d25453625383825414125453525394225424532303137303933303230303132382e706e67

删除

http://localhost:8080/u8eai/ReceiveSendType/del?code=120

687474703a2f2f6f64793369766c69322e626b742e636c6f7564646e2e636f6d2f323031372f30392f33302f54494d25453625383825414125453525394225424532303137303933303230303233302e706e67

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231934.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月12日 下午1:01
下一篇 2025年11月12日 下午1:22


相关推荐

  • obs windows 编译和打包[通俗易懂]

    obs windows 编译和打包[通俗易懂]obswindows编译和打包构建最新版obsstudio;参考https://github.com/obsproject/obs-studio/wiki/Install-Instructions下载并安装VShttps://visualstudio.microsoft.com/zh-hans/downloads/下载并安装QThttps://www.qt.io/off…

    2022年5月7日
    101
  • win10系统用激活码激活,用dos命令来激活,只能激活半年时间,暂时没找到永久的。

    win10系统用激活码激活,用dos命令来激活,只能激活半年时间,暂时没找到永久的。自己之前用激活工具激活的,激活时间好像是180天,即将到期了,于是在网上百度各种永久激活方法,参照别人的方法,发现把自己的激活状态由激活即将到期变为通知模式,瞬间一脸懵逼,于是找啊找,终于找到了这种方式,亲测可行。(1)首先查看自己系统的激活状态;快捷键win+r输入命令:slmgr.vbs-xpr; 随后弹出窗口显示2018/9/8过期。 (2)然后以管理员模式打开命令提示符窗…

    2022年5月30日
    119
  • ifconfig 与 ip addr 命令详解 – 学习/实践

    ifconfig 与 ip addr 命令详解 – 学习/实践1.应用场景 主要用于了解学习,掌握使用IP地址相关知识, 如何查看IP信息,以及各个参数代表的含义 2.学习/操作 1.文档阅读 网络协议概论|Laravel学院-不定期分享之ifconfig与ipaddr命令详解 2.整理输出 2.1如何查看机器的IP地址 我们在Linux系统查看IP地址通常有以下两种方式: 1)ifconfig 2)ipaddr

    2022年7月27日
    30
  • 三维坐标旋转矩阵

    三维坐标旋转矩阵1 三维坐标旋转矩阵的推导过程任何维的旋转可以表述为向量与合适尺寸的方阵的乘积 最终一个旋转等价于在另一个不同坐标系下对点位置的重新表述 坐标系旋转角度 则等同于将目标点围绕坐标原点反方向旋转同样的角度 若以坐标系的三个坐标轴 X Y Z 分别作为旋转轴 则点实际上只在垂直坐标轴的平面上作二维旋转 假设三维坐标系 右手坐标系 拇指即指向 X 轴的正方向 伸出食指和中指 如右图所示 食指指向 Y 轴的正

    2026年3月20日
    2
  • 百度發表Ernie X1以與DeepSeek R1競爭

    百度發表Ernie X1以與DeepSeek R1競爭

    2026年3月12日
    2
  • PCL KD树的使用

    PCL KD树的使用PCL 中的 KD tree 原理介绍以及 K 近邻搜索 半径搜索 混合搜索的代码示例

    2026年3月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号