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


相关推荐

  • Keil 5下载安装教程以及使用教程

    Keil 5下载安装教程以及使用教程Keil5下载、安装、使用教程使用教程(以编写智能循迹避障小车为例)下载链接:https://pan.baidu.com/s/1QUnTgeWveKVK8shHEU4idA提取码:66kg(里面有安装教程)使用教程(以编写智能循迹避障小车为例)首先打开Keil5创建一个新的工程点击Project2.选择第一个new一个新的工程3.输入文件名4.下一步点击保存5.此时会出现当前界面点击小三角6.选择STC7.点击+8.选择STC12C5616AD9.

    2022年5月20日
    60
  • gmail邮箱无法发送邮件_gmail发不出邮件怎么办

    gmail邮箱无法发送邮件_gmail发不出邮件怎么办  最近一直在做邮箱功能。刚刚发现了一个问题,记录一下。  我在我做的邮箱系统中绑定了163邮箱,然后给我的gmail邮箱发邮件,gmail没有收到邮件。这时,心里大惊,我靠,不会是我系统出bug了吧!!用QQ邮箱发一遍,gmail收到了。这时更加慌张了,心想应该是我的系统bug了。然后用163官网发一遍,嗯~~完美,没收到。这证明不是我系统的问题。  刚才百度了一下这个问题,有个回答…

    2025年11月6日
    1
  • singleTask和startActivityResult「建议收藏」

    singleTask和startActivityResult「建议收藏」在稍微复杂点的项目中都有过singleTask、singleInstance,避免打开同一个Activity返回的时候A返回以后还是A吧,对A在AndroidManifest里面设置android:launchMode=”singleTask”即可避免这个问题,但是发现用startActivityResult的时候A跳转到B,在B里面setResult以后在A里面拿到的resultcode不是自己

    2022年6月26日
    22
  • SM2246EN+闪迪15131

    SM2246EN+闪迪15131由于正常的SM2246EN开卡工具不会有闪迪15131的数据,所以我们要先进行一点骚操作A773=SanDisk,1Tbit(16K),15131SanDisk,1Tbit(16K),15131=45,3C,A5,93,7E,D0,2,08,10,0,4036,4096,2,9,5,256,4,16,1280,3,180,8F,27,30,2,5F,21,29,1,2,1,52,51,0,A2,0,1,0,0,C0,99,99,99,99,12,26,99,99,77,77,77,77,0,0,..

    2022年6月11日
    71
  • 学习java的好书及视频推荐

    学习java的好书及视频推荐转载来自:点击打开链接要想在java领域成为大牛,除了不断进行项目实战以外,还要不断的进行进修和学习,以下将本人学习java多年使用的好书和一些好的视频推荐给大家,这些书和视频都是本人在网络找了很久,后来又经过实践证明的好书和视频。希望对大家学习java有帮助首先,是书的推荐:1学习java,java基础,1.0 入门:HeadFirstJava(

    2022年6月21日
    28
  • 数仓搭建ODS层_中心仓模式

    数仓搭建ODS层_中心仓模式尚硅谷电商数仓ODS层

    2022年10月6日
    4

发表回复

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

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