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方法和反编译,以及序列化的方法。
标签:文件,26,转换,代码,nxsd,xsd,使用,组件,transf 来源: https://blog.csdn.net/h22407/article/details/120499203