1

JAX-WSを使用してテストWSを開発しており、デモは正常に機能しますが、本番環境に移動しようとすると、コードにテスト環境のURLが多数発生します。例えば:

com.mycompany.testserver.ws.writer.WriterInterface service = new com.mycompany.testserver.ws.writer.WriterInterface();

QName portQName = new QName("http://testserver.mycompany.com/ws/writer.php", "WriterInterfacePort");

String req = "SOME_XML_HERE";

try { // Call Web Service Operation

    Dispatch<Source> sourceDispatch = null;
    sourceDispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD);
    Source result = sourceDispatch.invoke(new StreamSource(new StringReader(req)));
} catch (Exception ex) [
//do stuff here
}

そのようなアプリを移動するためのベストプラクティスは何ですか?

4

3 に答える 3

2

構成ファイルから接続URLを読み取ります。また、値をキャッシュして1回だけ読み取る必要がある、厳密に型指定された構成オブジェクトが必要になる場合もあります。次に、アプリをテストから本番環境に移動するときに、構成ファイルを更新するだけで済みます。

于 2009-05-05T11:43:31.837 に答える
1

最も一般的な方法は、URLをハードコーディングするのではなく構成ファイルに保存し、テスト用と本番用に別々の構成にすることです。

統合ブローカーまたはサービスレジストリの導入はやり過ぎになる傾向があります。

于 2009-05-05T11:43:47.047 に答える
0

URL をコードにハード コーディングすることは絶対に避けてください。これを回避できるさまざまな方法があります。構成ファイルの機能が利用できない場合でも、少なくとも、宣言されている各クラスの先頭にある文字列にこのデータを格納する必要があります。

あなたに言う必要はありません (しかし私はそうだと思います) あなたはなぜ URL や設定データを決してハードコーディングしないのかという理由に直面しています。

于 2009-05-05T13:39:20.950 に答える