2021-09-26-关于如何把使用nxsd组件的OSB代码转化为使用JavaCallout组件的代码
2021/9/27 1:11:02
本文主要是介绍2021-09-26-关于如何把使用nxsd组件的OSB代码转化为使用JavaCallout组件的代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
关于如何把使用nxsd组件的OSB代码转化为使用JavaCallout组件的代码
首先要搞明白一件事,nxsd转化的数据是二进制的数据,而JavaCallout转换的是String(视情况而定)的类型的。
也就表示,在我们使用nxsd 的时候,虽然我们操作的数据看起来是字符串,但其实是二进制的数据。
这就说明我们这两种方式在同一流程里面是不可以混用的,混用会造成报错,但是流程 正常的这种错误。
如何替换
为什么要替换的是body节点的内容,我认为是在转换或者去映射,再或者是数据提交的时候,我们一般都是使用body的,而我们单纯的使用属性的话,会出现一些bug,也就是出错,这个可能是osb上面自带的问题。
自己编写transf文件
先观察transf的文件的结构
左边的是sources,也就是源文件,就是我们需要转换的数据
右边的叫Targets,也就是目标文件,就是转换后的数据格式。
打开source以后会看到我们的源代码,我们可以在这里修改,或者直接连线。
编写xsd文件
sources和Target文件分别对应两个xsd文件,关于这两个文件如何写,我们下面就来看
这两个文件的目的就是为了区分数据类型,然后再transf中进行相互之间的映射,
我们今天写成java之后,也是要用到transf来进行映射的,但是与之前不同的是我们不需要使用命名空间,所以要在创建transf的时候删掉节点下的所有命名空间。
修改前
修改后
xsd文件编写,可以直接使用nxsd 的模板,然后复制里面的内容来进行快速生成。
修改前:
修改后:
两个xsd文件是一样的哦。
转换
在使用transf之前,要把String转换成xml,且表头的节点一定要是和transf里面的获取数据的时候的那个节点一样才可以,一般是req或者resp。
转换数据的时候记得熟练使用replace方法和反编译,以及序列化的方法。
这篇关于2021-09-26-关于如何把使用nxsd组件的OSB代码转化为使用JavaCallout组件的代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略