2021-08-25-OSB学习(xml和json格式的数据相互转换)

开发配置

虚拟机
Oracle 12C
SOA
主机
JDeveloper

满足配置以后需要做的事情

1、开启虚拟机上面的服务

这个的作用是开启所有我们要进行接口开发的服务

具体要 看我的另一篇文章
-------------------------------------
看这里看这里,我就是另一篇文章哈哈哈哈
-------------------------------------

2、登录WebLogic Server 管理控制台

http://192.168.65.138:7001/console

3、登录好之后要开启osb服务

在这里插入图片描述

运行失败的解决方法

有些时候上面的osb服务器是开启不了的

如果开启不成功,就去查看自己的虚拟机的内存是不是不够,或者说自己的电脑内存不够
要考虑一下加装内存条或者给虚拟机分配更多的内存哦

别急,内存一扩展就可以更好的使用啦

4、登录ServiceBus控制台

http://192.168.65.138:7001/servicebus

在这里插入图片描述

上面的条件满足了以后就可以开始开发接口啦

使用之前开发的DB接口进行 json to xml 的转换

1、测试接口的连通性

这里我们就直接使用osb控制台来进行测试了

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
测试成功,进行下一步

2、开发接口

在之前的DB项目下面继续进行操作即可
之前的目录结构是这样的
在这里插入图片描述
红线下的是我们这次要写的内容
做好这些准备以后,我们就可以开始我们今天的开发啦

2.1、创建PL和PS

在这里插入图片描述
设置名字和pl文件位置
在这里插入图片描述
修改服务类型为messaging 把请求和返回都改成text格式
在这里插入图片描述
这样我们就创建了一个pl和一个ps
在这里插入图片描述

2.2、PL连接之前测通的BS

在这里插入图片描述
打开之后是这样的

在这里插入图片描述
我们需要添加一个routing
在这里插入图片描述
在这里插入图片描述

设置routing连接的BS为我们刚刚测通的BS
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这样我们就把这两个连接起来了

在这里插入图片描述
添加assign组件,分配从请求中获取的数据
在这里插入图片描述
设置这里的值
这里的值的意思是:从请求体中获取数据,然后把数据转换成text格式,然后把这个分配给名叫json的属性
在这里插入图片描述
添加java Callout组件

在这里插入图片描述
选择已经写好的json转xml的方法的程序的 jar包
在这里插入图片描述
在这里插入图片描述
选择jar包的存放的位置

在这里插入图片描述
下一步到结束
然后选择要调用的方法

在这里插入图片描述
在这里插入图片描述
再次添加一个Assign组件
在这里插入图片描述
添加要转换的属性的名称
在这里插入图片描述
找到对应的方法,然后把它写上去
我这里用的就是这个,这个可以把xml属性的值转换为对象的形式

fn-bea:inlinedXML($xml)

在这里插入图片描述
在把这个最后得到的结果分配给xmlobj这个属性
此时的xmlobj是一个对象
我们接下来就要操作这个对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样我们的节点就开发完成啦
下面就要进行测试
这里会报很多的错,别着急,慢慢做,细心一点,很快就会成功的
测试之间不要忘了导包哦
具体的导包要参考我的上一篇文章

我是上一篇文章

3、测试接口

我们把包打好,然后导好了之后就可以开始测试了
在这里插入图片描述
把刚刚测试时用的那一段请求体部copy过来,然后把这个转换成json格式的数据
可以用到下面的这个网站
在线XML和JSON格式相互转换
转好之后直接复制过来然后放在请求文档里面
像这样
在这里插入图片描述
执行测试程序

在这里插入图片描述
这样的就是成功的
我们可以去查看我们pl文件的代码执行顺序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后我们就可以看到这里面写的就是
在这里插入图片描述

这个程序的执行顺序是这样的,我们使用pl来做测试的时候是由步骤的
具体的在下面的调用跟踪里面有体现出来
在这里插入图片描述
具体的步骤解析

1、接收请求初始消息上下文
2、接受请求中的json数据,然后json转换xml
3、把初始消息里面的body替换为转换后的xml对象
4、使用路由,进行发送消息
在这里插入图片描述

出错解决

1、
像出现现在这样的错误是很常见的
错误的原因一般有以下的几种:
1、调用的接口不合适
2、虚拟机网络(ping不通你soap对接的网站)
3、xml没有转换成对象
4、xml转换成对象之后没有把这个对象替换body
5、结构有问题

如果出现这个问题:
在这里插入图片描述解决方法
1、只在控制台修改数据
在这里插入图片描述2、选择设置在这里插入图片描述
3、选择编辑路由在这里插入图片描述4、查看替换变量是否正确
在这里插入图片描述5、修改替换变量

在这里插入图片描述修改好以后记得要保存,然后再次测试

在这里插入图片描述这样就可以啦,步骤也都执行啦

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值