一部のサービス、Web サービスの hostName:port をクエリするアプリケーションがあります。開発中、一部のサービスは利用できないか、サードパーティによって構築中であるため、アプリケーションを開発するために、soapUI を使用したモックサービスを一部のサービスのスタブとして使用することを考えています。
問題は、アプリケーションを 1 回だけ一方向に向けることができることです。そのため、モックサービスをポイントする場合、モックサービスがすべてのサービス (>50) をエミュレートしていることを確認する必要があります。これはオーバーヘッドが大きすぎます。したがって、一部のリクエストをモックサービスにリダイレクトし、実際のサービスプロバイダーのままにするプロキシサーバーにアプリケーションを向けることを考えていました。簡単なスクリプトでこれを行う方法はありますか?
質問する
427 次
1 に答える
2
もちろん。Perl を使用したラフ スケッチ:
#!perl
use strict;
use warnings;
use Plack::App::Proxy;
my $live_proxy = Plack::App::Proxy->new(
remote => "http://live.soap.service.com:80/"
);
my $soapui_proxy = Plack::App::Proxy->new(
remote => "http://localhost:4567/"
);
sub {
my $env = shift;
if ($env->{REQUEST_URI} =~ m[^/some/path]) {
return $soapui_proxy->($env);
} else {
return $live_proxy->($env);
}
};
Plackをインストールして として実行しplackup filename
ます。2 つのプロキシ アプリを構築します。1 つはすべてのリクエストをライブ サービス URL に転送し、もう 1 つはすべてのリクエストをモック サービス URL に転送します。次に、ラッパー アプリは、URL に基づいて (または必要に応じて他の何かに基づいて)、指定された要求をディスパッチするアプリを選択します。
于 2013-03-26T20:43:30.193 に答える