IGS_学习笔记08_IREP通过soapUI测试客户化Web Service调用(案例)
20150819 Created By BaoXinjian
一、摘要
在编写客户化的PL/SQL程序,并将其发布到Oracle Integration Repositroy中,进而发布为Web服务,
本文描述通过第三方的程序来调用过我们的Web服务,来验证客户化的Web服务是否能够被正常调用,
在Oracle Integrate SOA Gataway的开发手册中介绍了如何在BPEL流程中调用客户化的Web服务,
而搭建一个BPEL的运行环境对于开发人员来说需要耗费比较多的时间,而且需要对BPEL的开发比较熟悉,否则无法顺利的进行;
另外很多时候开发Web服务的目的也并不仅仅是为了给BPEL流程调用,因此大动干戈去设计一个BPEL流程来测试我们客户化的Web服务显然不现实,
本文就介绍如何采用简单的方法来进行Web服务的测试。
1. 使用Oracle EBS服务器中OC4J自带的Web服务测试页面进行测试
2. 采用第三方软件,如soapUI来进行测试
二、soapUI介绍
使用soapUI工具主要是它会根据WSDL的描述来自动帮助生成OC4J提供的Web服务测试页面无法生成的AOL验证标签,所以测试工作就变得比上面的方法简单,另外soapUI提供免费版本软件使用
所以soapUI基本成为Web服务开发人员的必备工具,因此一并也介绍一下如何使用它来进行Web服务的测试
1. 从官方网站http://www.soapui.org 下载免费软件soapUI后解压,然后点击bin\soapui.bat来打开soapUI
三、soapUI使用时间
Step1. 选择File菜单中的创建一个新的项目,
在Initial WSDL/WADL中输入服务的WSDL地址:http://paleonode1.sh.paleotek.com:8002/webservices/SOAProvider/plsql/oraclebxj_emp_pkg/?wsdl
Step2. 创建完成后,soapUI会根据WSDL生成方法,然后在方法下面双击Request Employee,右边窗口就可以看到调用Web服务时所需要发送的soap XML数据
Step3. 在Request Properites中录入Oracle Erp登录用户信息
Username:<用户名>
Password:<密码>
WSS-Password Type:PasswordText
这里生成的XML就包括了AOL验证的信息了,因此配合这个工具我们就知道OC4J中的XML数据需要添加什么标签,用户安全性认证设置了上面3个属性后会自动添加.
4. 在soap 请求的XML数据中输入EBS初始化相关的几个参数值,同时填入调用方法的参数值后,点击右边窗口上工具栏的小箭头按钮 <Submit request to specified endpoint URL>提交调用,自动产生以下SOAP报文
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:orac="http://xmlns.oracle.com/apps/bxj/soaprovider/plsql/oraclebxj_emp_pkg/"
xmlns:cre="http://xmlns.oracle.com/apps/bxj/soaprovider/plsql/oraclebxj_emp_pkg/create_employee/">
<soapenv:Header>
<orac:SOAHeader>
<!--Optional:-->
<orac:Responsibility>APPLICATION_DEVELOPER</orac:Responsibility>
<!--Optional:-->
<orac:ResponsibilityAppl>FND</orac:ResponsibilityAppl>
<!--Optional:-->
<orac:SecurityGroup>STANDARD</orac:SecurityGroup>
<!--Optional:-->
<orac:NLSLanguage>AMERICAN</orac:NLSLanguage>
</orac:SOAHeader>
</soapenv:Header>
<soapenv:Body>
<cre:InputParameters>
<!--Optional:-->
<cre:P_EMPNO>1</cre:P_EMPNO>
<!--Optional:-->
<cre:P_ENAME>2</cre:P_ENAME>
<!--Optional:-->
<cre:P_JOB>3</cre:P_JOB>
<!--Optional:-->
<cre:P_MGR>4</cre:P_MGR>
<!--Optional:-->
<cre:P_HIREDATE>SYSDATE</cre:P_HIREDATE>
<!--Optional:-->
<cre:P_SAL>5</cre:P_SAL>
<!--Optional:-->
<cre:P_COMM>6</cre:P_COMM>
<!--Optional:-->
<cre:P_DEPTNO>7</cre:P_DEPTNO>
</cre:InputParameters>
</soapenv:Body>
</soapenv:Envelope>
Step5. 查看Oracle Erp接收Soap抛出的消息处理状态
Thanks and Regards
参考:张礼军先生 - http://oracleseeker.com/2009/10/22/test_invoke_web_service_in_irep/
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建