【Java】SoapUI について ~SOAPに関するテストツール~

目的

WebサービスWSDLから、SOAPリクエストを自動生成して、以下を可能にする
 * リクエストの送信
 * レスポンスの確認
 * 負荷テスト
 * モックWebサービスの作成

使い方

 * 思ったより使い方は簡単だった。
 * インストールするタイプもあるけど、あんまりインストールしたくないので、Zipを解凍するだけのやり方にする

SoapUI の設定

* 前提条件としてJavaをインストールしておくこと
 [1] 以下のサイトからSOAP UIをダウンロードする(今回は「SoapUI-5.0.0-windows-bin.zip」)
http://www.soapui.org/
 [2] ダウンロードしたzipファイルを解凍する

使用手順

 [1] bin配下にあるsoapui.batをダブルクリックで起動
   (アップデートがあるって聞いたときはとりあえず「Ignore this update」ボタン押下で無視)
 [2] 左にある「Projects」を右クリックし、[New WSDL Project]を選択
 [3] Project Nameに任意のプロジェクト名(例「HelloWorldClient」)を入れて、
   Initil WSDLに任意のWSDLファイル指定(例「http://localhost:8080/SampleService/services/HelloWorldServiceSkeleton?wsdl」等)し、「OK」ボタン押下する。
 [4] WSDLに指定されたサービス(例「sayHello」)を開くとRequest1が表示されるので、ダブルクリックする
  => 右ペイン左側の「SOAP Request」にSOAPのHeaderとBodyが表示されるはず。
 [5] 右ペイン左側の「SOAP Request」にテストしたい入力値に書き換える
 (立ち上げたら「?」になっているので、そこを修正する)
 [3-5] 右ペインの上に緑の>ボタンがあるので、それをクリックし、Webサービスにリクエストを送信する。
  => 右ペイン右側の「SOAP Response」にSOAPのレスポンスが表示されるはず。
SOAP Requestのサンプル
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.sample.com" xmlns:xsd="">http://service.sample.com/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:sayHello>
         <!--Optional:-->
         <ser:sayHello0>
            <!--Optional:★ここを修正した★ -->
            <xsd:name>Mike</xsd:name>
         </ser:sayHello0>
      </ser:sayHello>
   </soapenv:Body>
</soapenv:Envelope>
SOAP Responseのサンプル
<soapenv:Envelope xmlns:soapenv="">http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns:sayHelloResponse xmlns:ns="">http://service.sample.com">
         <ns:return xsi:type="ax21:SayHelloResponse" xmlns:ax21="http://service.sample.com/xsd" xmlns:xsi="">http://www.w3.org/2001/XMLSchema-instance">
            <ax21:sayHelloReturn>Hello, Mike</ax21:sayHelloReturn>
         </ns:return>
      </ns:sayHelloResponse>
   </soapenv:Body>
</soapenv:Envelope>

補足

使用例

 * 以下の関連記事で実際に使用したので、参考になるかも。
http://blogs.yahoo.co.jp/dk521123/34448685.html

別ツール「Boomerang(ブーメラン)」

* ChromeSOAP & REST Client用プラグイン「Boomerang(ブーメラン)」っていうツールもある
 * 以下の関連記事で実際に使用している。
http://blogs.yahoo.co.jp/dk521123/36056462.html



関連記事

Axis2Eclipse を使って、 新規にWebサービスを構築する

http://blogs.yahoo.co.jp/dk521123/36056462.html