配置SoapUI支持MSSQL

  1. 下载最新的SoapUI(https://www.soapui.org/downlo...)和MSSQLJDBC驱动(https://docs.microsoft.com/en...)。

  2. 安装完SoapUI后,将MSSQLJDBC驱动中对应SoapUI内置JDK版本的jar文件复制到SoapUI根目录下的lib文件夹内,再将auth文件夹中对应的dll复制到SoapUI根目录下的bin文件夹内。
  3. 在SQL Sever配置管理器中,启动TCP/IP协议并重启实例。
  4. 启动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={密码}
  5. 点击TestConnection测试连接是否正常。

    从数据库调取数据并传递给WebService

  6. 先创建一个简单的WebService(这里使用的是asp.net):

    [WebMethod]
    public string Hi(string username)
    {
     return "Hi, " + username;
    }
  7. 通过该服务的wsdl文件在SoapUI创建Soap请求,SoapUI解析结果如下:
  8. 创建或修改刚才创建的JDBC Request,在SQL Query栏写入SQL查询语句调取一条数据,如下:

    select top 1 UserName from T_User

    点击执行,SoapUI会将查询结果XML化,如下:

  9. 在Test Steps里加入一个Property Transfer,再右键点击刚解析出来的Soap请求,选择Add to TestCase将该请求加入到Test Steps队列中。

  10. 编辑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

  11. 双击TestCase,执行测试。

03-05 14:41