0

Web サービス クライアント (Web アプリケーション内) で web.xml ファイルを使用して wsdl のソースを取得するにはどうすればよいですか?

私は netbeans 6.9 と tomcat を使用しています。これまでのところ、Web アプリケーションには wsdl の URL を使用した Web サービス参照があります。

4

2 に答える 2

0

web.xmlこのようなリソースは将来変更される可能性があるため、に保存することはお勧めしません。たとえば、でデプロイされているWebサービスがhttp://theaddress:8080/webapp?wsdl他のサーバーに移行され、URLが変更される場合です。次に、アプリケーションを変更する必要があります。その場合、それはあまり効率的な方法ではありません。

このようなリソースを格納するようにJNDIに提案します。でこれを行う方法を読んでくださいTomcat。設定は難しくありません。

別の方法はファイルを使用すること.propertiesですが、私はむしろを選択JNDIしたいと思います.properties

于 2012-10-26T09:07:31.427 に答える
0

web.xml でなければならない場合は、次のようなコンテキスト パラメータを (他のものと同様に) 構成できます。

   <context-param>
    <param-name>webservice.Location</param-name>
    <param-value>http://theaddress:8080/webapp?wsdl</param-value>
   </context-param>

上記のように構成した後 ( Webservice.Location) は、必要に応じて変更できる任意の変数名です。JSF や Struts などのアドオン Web アプリケーション レイヤーを使用していない場合は、この変数を (HttpServletRequestオブジェクトから) サーブレットのように参照できるようになりました。

        String webServiceAddr = request.getServletContext().getInitParameter("webservice.Location"); //getServletContext() will give you an instance to a ServletContext object which basically is a representation of your entire web application deployment environment including configuration files.

変数webServiceAddrには、構成された値が含まれます

そのような構成を標準.propertiesファイルに外部化することをお勧めしますが、それをセットアップしようとしているときにデプロイヤーが web.xml の他の構成をいじくり回すのは少し危険です。また、アプリケーションの構成管理のベスト プラクティスでもあります。プロパティファイルに関する小さなチュートリアルはこちら

于 2012-10-26T05:34:18.037 に答える