0

一部のサービス、Web サービスの hostName:port をクエリするアプリケーションがあります。開発中、一部のサービスは利用できないか、サードパーティによって構築中であるため、アプリケーションを開発するために、soapUI を使用したモックサービスを一部のサービスのスタブとして使用することを考えています。

問題は、アプリケーションを 1 回だけ一方向に向けることができることです。そのため、モックサービスをポイントする場合、モックサービスがすべてのサービス (>50) をエミュレートしていることを確認する必要があります。これはオーバーヘッドが大きすぎます。したがって、一部のリクエストをモックサービスにリダイレクトし、実際のサービスプロバイダーのままにするプロキシサーバーにアプリケーションを向けることを考えていました。簡単なスクリプトでこれを行う方法はありますか?

4

1 に答える 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 に答える