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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • datagrip激活码_最新在线免费激活[通俗易懂]

    (datagrip激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    147
  • chmod修改权限的用法

    一、chmod作用:修改文件、目录的权限二、语法:chmod[对谁操作][操作符][赋予的权限]文件名三、操作对象:u用户user,表现文件或目录的所有者g用户组group,表现文件或目录所属的用户组o其他用户other…

    2022年4月5日
    56
  • 单片机引脚控制继电器最简单的电路方式

    单片机引脚控制继电器最简单的电路方式首先要明确一点:单片机不能直接控制继电器,不管是3v的继电器还是5v的继电器。原因:比如51单片机和msp430单片机,引脚不能直接接继电器。虽然引脚的电压足够,但是由于电流不够,所以本应该闭合的线圈不会闭合。需要增加一个三极管来放大电流。说是放大电流,其实本质上是把引脚当成一个开关来控制真正3.3v电压的开合。下图是在实践中自己设计的可以正常工作的继电器模块。

    2022年6月24日
    36
  • LeetCode Maximum Product Subarray 解题报告

    LeetCode Maximum Product Subarray 解题报告

    2022年2月1日
    37
  • war包解压与压缩_ls命令linux

    war包解压与压缩_ls命令linux下面要给大家介绍到的就是和war包解压以及java项目打包成war包相关的内容,一起来具体的看看吧!1、javawar打包、解压命令在Window上war包的解压,经常会将工程打包成war包,如下://将当前目录打包成war包jarcvftemp.war*/.命令格式:javacvf打包文件名称要打包的目录打包文件保存路径解压自然就是:jarxvftemp.warjar和li…

    2022年10月4日
    1
  • FRP内网穿透_花生壳内网穿透6元

    FRP内网穿透_花生壳内网穿透6元在Web应用上线前都会在内网进行测试,而有些功能是只有在公网上才能做测试的,比如为APP提供的接口等等。所以经常需要在正式上线之前将内网的服务器映射到公网上去。也就是赋予内网上服务器一个域名,开放几个端口。一般来说都使用内网穿透工具完成这个操作,比如在公网上购置一台服务器,不需要配置很高,只要流量够用就行。然后在公网服务器上配置穿透工具的服务端,比如ngrockc或者frp,然后在能接通公网的内网…

    2025年11月7日
    4

发表回复

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

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