您的当前位置:首页正文

1.4 OSB自建REST服务

2024-11-08 来源:个人技术集锦

问题

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

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

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

解决思路

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

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

前题

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

改造步骤

1、复制文件

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

2、文件目录

3、修改ps_soap_test.proxy

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

4、修改管道

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

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

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

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

5、测试

osb平台管道中测试

soapUI中测试

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

6、一个小问题

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

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

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

再次测试:

7、修改前章

测试上一章接口

注意:两个红框对比,右边为SOAPUI测试时返回,左边为我们管道测试结果,返回数据已变为

显示全文