JD开发OSB接入REST服务示例-OSB 12.2.1.3.0
注意事项
1、cxf开发的REST接口需要description组件进行描述,能自动生成wadl,相关地址:
http://[IP:] [port] [/服务路径?_wadl]
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-service-description</artifactId>
<version>3.2.0</version>
</dependency>
前题
1、OSB版本:Oracle Server Bus v12.2.1.3.0
2、服务准备:http://127.0.0.1/cfapi/api/employee/getJobStatus
3、协议:POST
3、定义参数:
序号 | 参数 | 值 |
---|---|---|
1 | 服务系统(名称) | 01002(OA) |
2 | 请求系统(名称) | 01003(EAR) |
3 | 请求地址 | /CFESB/APP_EAR_SERVICES/Proxy_Services/demo_ps_ear_getJobStatus |
4 | 请求名称 | demo_ps_oa_getJobStatus |
5 | 服务名称 | demo_bs_hr_getJobStatus |
6 | 管道名称 | demo_pl_oa_getJobStatus |
接入步骤:
一、检查或新建目录
使结构如下图所示:
二、创建BS服务
1、 双击项目面板:
2、拖动生成REST服务组件:
3、设置REST服务组件
注意:这里需要注意的地URL地址需要填入全地址,不要管resource path,加入方法即可
4、整理生成文件
通过组件生成的服务,会在根目录生成bs与wadl文件,如下图
我们可以通过移动整理到APP_OA_SERVICES目录中统一管理
三、新建Proxy_services
1、在请求方系统(APP_EAR_SERVICES)上当中的Proxy_services中右建,新建代理。
2、设置名称、选择wsdl、选择方法、选择自动生成管道并命名。
注意:这里命名为 domps_ear_getJobStatus意义为:示例 类型 请求系统 接口名称
3、设置请求方式,请求路径
请求地址我没采用默认的,没有进行改变:/CFESB/APP_EAR_SERVICES/Proxy_Services/dome_ps_ear_getJobStatus
四、设置Pipeline管道
在请求方目录中操作
1、调整管道文件目录 在管道文件上右建操作,移动到管道目录pipeline
2、加入路由
双击管道文件,设置路由,从右侧组件栏中拖动可Route和Routing到管道上
单击"Routing",在下面属性设置处绑定服务
六、测试
1、使用管道测试
启动weblogic并进行测试
启动成功
在IE中打开OSB控制台,地址:http://127.0.0.1:7101/servicebus/faces/login
点击管道进行测试
测试结果:该服务为测试服务,效果为:请求参数为1时返回“separated”,除1以外的返回“staff”
请求参数为:1 返回 {"Status": "separated"} 。参数为除1外的数字时返回:{ "Status": "staff" }
2、使用请求地址测试
请求地址为:http://127.0.0.1:7101/CFESB/APP_EAR_SERVICES/Proxy_Services/demo_ps_ear_getJobStatus
使用SOAPUI工具进行测试
至此,osb接入REST服务完成,下一章节对该服务进行改造,实现使用企业标准请求报文与管道模板进行接入
完整目录如下: