OSB使用企业标准SOAP请求WebService服务
根据前章已完成的WebServices服务接入,在此基础上修改为使用标准SOAP请求模式
前题
1.1.OSB接入WebServices服务示例-OSB v12.2.1.3.0
平台参数
序号 | 参数 | 值 |
---|---|---|
1 | 服务系统(名称) | 01001(HR) |
2 | 请求系统(名称) | 01002(OA) |
3 | 服务编号 | 01001000000001 |
4 | 请求地址 | /01001000000001 |
5 | 请求名称 | ps_oa_getCardStatus |
6 | 服务名称 | demo_bs_hr_getCardStatus(暂不改) |
7 | 管道名称 | pl_oa_getCardStatus |
实现步骤
1、复制请求使用的wsdl
2、创建请求Proxy
注意:这里把“Generate Pipeline”选项去掉了,我们不需要自动建管道,使用手动来建。
3、创建管道
选择“From Template”从标准模板生成管道
去掉"Expose as a Proxy Service"自动生成代理的选项,后面我们进行手动设置关连
4、设置代理与管道关联
可以看到左侧ps在报错,这是由于没有设置管道的原因,这里我们还没有保存,设置了管道保存了就不会再报错了。
5、修改管道
注:这是管道测试时所看到的变量列表,所以在这进行说明,具体管道设置对于开发人员来说可以反向进行开发。
该图参考的pl_ear_getJobSatus管道的测试图,因为使用增值管道模块,所以定义是一样的,这里不再累述。
6、测试
从上图可以看到,由于我的传入的参数为1,返回时的数据为没有传入one ,说明传入参数有误,这是因为在body下标准格式加了ESBRequest这一层,而原始服务的请求参数body下是没有这一层的,所以需要使用replace组件把数据提出来直接放到body下进行请求,如下所示:
最终结果 :成功请求
7、优化返回格式
从返回格式我们可以看到返回的是原始的getCardStatus的xml格式,这里需要把返回数据转换为esb标准格式。
8、最终测试
管道测试
到此为止,标准主求报文形式请求SAOP完成