SoapUIで遊ぶ

Webサービスを開発するとき、2つの主要な領域で作業します。サーバー側および/またはクライアントコードを記述します。 いずれにせよ、テストにはアプリケーションの両方の部分が必要です。 多くの開発者はテストクライアント/サーバーを手動で作成しますが、これは最適なソリューションではありません。 人気のあるsoapUIパッケージでも同じ目標を達成できます。 SoapUIは、提供されたwsdlに基づいて、テストクライアントとしてもテストサービスとしても機能します。



興味深い例を実装してみましょう。任意のインターネットWebサービスからwsdlを取得し、soapUIの2つのコピーを実行し、一方をクライアントとして構成し、もう一方をサーバーとして構成します。 この例では、soapUIの主な作業ポイントを示します。





インターネットで利用可能なWebサービスを選択します。 この例では、「get weather wsdl」というgoogleを検索し、 www.webservicex.net / WeatherForecast.asmx? WSDLというURLを取得しました。

sample.wsdlとして保存し、同時にサービスが稼働していることを確認します(2009年7月に機能する上記の指定)



クライアントのエミュレーションから始めましょう。

soauUIを起動して、新しいクライアントを作成します。 クライアントプロジェクトに名前を付け、以前に保存したwsdlを選択します。 残りの設定はデフォルトのままにします。

プロジェクトツリーでクライアントを作成すると、サービスのすべての操作、特にGetWeatherByZipCodeが表示されます。 操作を2回クリックして要求の本文を表示し、この要求(Request1)を開きます。



ご覧のとおり、soapUIはデータの代わりに疑問符が付いたクエリテンプレートを作成しました。 また、ウィンドウのツールバーにも注意してください-インターネット上のサービスへのパスがそこに示されています。 リクエストの本文で、実際のZIPを指定します-たとえば07203。 緑色の矢印で操作を開始します... 1秒後に、サーバーから応答を受け取り、soapUIが右側のタブに応答本文を表示します。

これで、リモートサーバーを直接操作できますが、モックサービスの操作に興味があり、作成する必要があります...



soapUIの別のコピーを開きます。 Serverという名前だけで同じプロジェクトを作成します。 サービスを作成するには、オペレーションツリー(この例ではWeatherForecastSoap)を右クリックし、[モックサービスの生成]を選択します。

開いたウィンドウで、サービスがリッスンするポートを指定できます。 パスと操作-すべてのデフォルトのままにして、設定を保存します。

プロジェクトツリーに、サポートされている操作を含むサービスブランチが表示されます。 GetWeatherByZipCodeをクリックして、その内容を確認します。 サービスを実行しているため、クライアントとは異なり、Response1が表示されます。このデータは、要求時にクライアントに送信されます。 Request1に関しては、データ自体がクエリジークに置き換えられました。 実際の値に置き換えてみてください。 ここでサービスを開始すると、soapUIはリクエストのリッスンを開始します。



クライアントでsoapUIウィンドウに戻りましょう。 Request1はまだ開いています。 ウィンドウのツールバーでURLをクリックし、新しいアドレスを追加します: localhost :8088 / mockWeatherForecastSoap-ポートまたはパスを変更する必要がある場合があります。

アドレスを追加した後、クライアントを起動します。 回答として、Response1で入力したデータが表示されます。



その結果、単一のwsdlに基づくサーバーとクライアントの部分があり、操作をテストできます。 クライアントまたはサーバーは実際のシステムでなければならないため、実生活では例は重要ではありません。 しかし、これは、soapUIの学習とWebサービスの自動テストの良いスタートの例です。



ロシア語版: romanenco.com/soapui



All Articles