1.4 OSB自建REST服务

重庆九纬次方科技有限公司  http://www.cfesb.com
        主要从事免费云ESB平台运营、ESB/MDM技术咨询服务、ESB/MDM定制开发服务、API服务定制开发、软件定制开发服务、工业设备数采ESB服务的专业互联网企业。
ESB免费用,反正也不要钱,为什么不试试呢http://www.cfesb.com/product-show.html

问题

​ 平时在使用OSB时,总要使用到一些普通的测试接口如webService和Rest类接口,一般的解决思路是在本地跑一个工程,工程里有测试类接口,在osb中测试时只能在本地路,如果换到服务器环境就不能测试。

​ 当然可以在服务器环境中去部署这个测试工程,但现实的情况是根据企业管理规定,开通某些服务、端口、应用需要流程审批,一般这样的测试请求是不会被允许的。

​ 所在就想在OSB平台中自建一个空服务请求,用于平时的测试。

解决思路

​ 利用osb平台定义一个返回固定参数的REST服务

​ 不需要BS服务与路由,只需要收到请求参数后返回固定值

前题

​ 通过改造一个已实现REST请求与服务的osb连接进行改造

1.2.OSB接入REST服务示例 -OSB v12.2.1.3.0

改造步骤

1、复制文件

序号原始文件目标路径目标文件
1demo_ps_ear_getJobStatusCOMMON/BS目录ps_rest_test
2demo_pl_ear_getJobStatusCOMMON/PL目录pl_rest_test

2、文件目录

image-20210520155210445

3、修改ps_soap_test.proxy

​ 可以看到ps_rest_test.proxy报错,点开后修改所应名称和pipeline,都无法修改,这需要进到目录中修改源文件。

image-20210520155412563

回到工作台刷新,即可看到相应的配置已修改,并不再报错。

image-20210520155524177

4、修改管道

删除路由Rout与Routing组件,同时拖入Pipeline pair组件,加入if 判断 输入参数是否为1

image-20210520165652965

如果输入参数为1,把返回值写入变量retVal中

image-20210520165733350

如果输入参数不为1,把返回值写入变量retVal中

image-20210520165804059

最后在返回管道中使用变量retVal替换掉返回body

image-20210520152833398

5、测试

osb平台管道中测试

image-20210520165905697

soapUI中测试

image-20210521093355912

至此OSB平台中创建空REST服务已完成,以后工程部署在哪台都可以测试

6、一个小问题

​ 大家这里可能会注意到,使用管道测试和soapui测试时返回时的数据为text格式,这样的话,以rest json请求,结果 返回的为 text格式,会给后续服务的使用造成麻烦。如下图

image-20210521093631196

修复这个问题,这是由于返回数据是的消息头没有进行设置,osb即自动设置为了“text/plan”

在管道中加入头设置组件:

image-20210521093856033

再次测试:

image-20210521094054950

7、修改前章

修改demo_bs_oa_getJobStatus中的引用地址为:http://127.0.0.1:7101/rest/test

image-20210521094229084

修改对应的wsdl中的地址

image-20210520154121706

测试上一章接口

image-20210521094646293

注意:两个红框对比,右边为SOAPUI测试时返回,左边为我们管道测试结果,返回数据已变为http://127.0.0.1:7101/rest/test的返回数据一样了,说明切换成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值