OSB使用企业标准SOAP请求REST服务

​ 根据前章已完成的REST服务接入,在此基础上修改为使用标准SOAP请求模式

前题

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

平台参数

序号 参数
1 服务系统(名称) 01002(OA)
2 请求系统(名称) 01003(EAR)
3 服务编号 01002000000001
4 请求地址 /01002000000001
5 请求名称 ps_ear_getJobStatus
6 服务名称 demo_bs_oa_getJobStatus(暂不改)
7 管道名称 pl_ear_getJobStatus

实现步骤

1、复制请求使用的wsdl

image-20210521145406420

2、创建请求Proxy

image-20210521145636238

注意:这里把“Generate Pipeline”选项去掉了,我们不需要自动建管道,使用手动来建。

3、创建管道

选择“From Template”从标准模板生成管道

image-20210521150005016

去掉"Expose as a Proxy Service"自动生成代理的选项,后面我们进行手动设置关连

image-20210521150524747

4、设置代理与管道关联

​ 可以看到左侧ps在报错,这是由于没有设置管道的原因,这里我们还没有保存,设置了管道保存了就不会再报错了。

image-20210521150803300

5、修改管道

注:这是管道测试时所看到的变量列表,所以在这进行说明,具体管道设置对于开发人员来说可以反向进行开发。

image-20210521155728042

6、测试

image-20210521154834981

7、优化返回参数

​ 从测试中可以看到返回的数据为{"Status":"Input param is one"},是json格式,而实际上我们请求的是soap请求,返回的时候也应该是xml才对,不然在程序中反序列为class时会不适用,所以这里我们需要修改反回参数为标准格式,并进行转换。

image-20210524091110052

8、测试

管道测试

image-20210524091146906

soapui测试

image-20210524131312559

image-20210524131511976

从测试结果中可以看出,请求是soap形式,返回也是soap形式,正是我们想得到的效果,至此“使用标准SOAP格式请求REST服务”已完成接入

附:

1、如果Status状态返回的是单字符形式,我们还可以使用判断进行控制:

image-20210524091804611

if($formatjson2xml/ns0:state/text()='1')
then 
'S'
else
'F'

results matching ""

    No results matching ""