配置SoapUI支持MSSQL
- 下载最新的SoapUI(https://www.soapui.org/downlo...)和MSSQLJDBC驱动(https://docs.microsoft.com/en...)。
- 安装完SoapUI后,将MSSQLJDBC驱动中对应SoapUI内置JDK版本的jar文件复制到SoapUI根目录下的lib文件夹内,再将auth文件夹中对应的dll复制到SoapUI根目录下的bin文件夹内。
- 在SQL Sever配置管理器中,启动TCP/IP协议并重启实例。
启动SoapUI,在Project中创建一个TestSuite,在该TestSuite中创建一个TestCase,为该TestCase创建一个JDBC Request的步骤。
双击编辑这个JDBC Request,Driver填入如下内容:com.microsoft.sqlserver.jdbc.SQLServerDriver
Connection String按如下格式填写(注意不能有多余的空格):
jdbc:sqlserver://{实例IP}:{实例端口号(默认1433可忽略)};databaseName={数据库名称};user={用户名};password={密码}
点击TestConnection测试连接是否正常。
从数据库调取数据并传递给WebService
先创建一个简单的WebService(这里使用的是asp.net):
[WebMethod] public string Hi(string username) { return "Hi, " + username; }
- 通过该服务的wsdl文件在SoapUI创建Soap请求,SoapUI解析结果如下:
创建或修改刚才创建的JDBC Request,在SQL Query栏写入SQL查询语句调取一条数据,如下:
select top 1 UserName from T_User
点击执行,SoapUI会将查询结果XML化,如下:
- 在Test Steps里加入一个Property Transfer,再右键点击刚解析出来的Soap请求,选择Add to TestCase将该请求加入到Test Steps队列中。
编辑Property Transfer步骤,创建一个Transfer。将该Transfer的Source设为JDBC Request,并将Property设为ResponseAsXml,Target设为最后添加到队列中的Soap Request,并将Property设为Request。Path language皆设为默认的XPath,再将Source和Target的XPath表达设为如下:
Source://USERNAME
Target:
declare namespace tem="http://tempuri.org/"; //tem:username
- 双击TestCase,执行测试。