0

通貨の略語を持つ 2 つの文字列変数を含む Java サーブレットがあります。通貨レートを提供する外部 JAX-WS サービスhttp://www.webservicex.net/ws/WSDetails.aspx?CATID=2&WSID=10があります。このサービスへのリクエスト方法は?この 2 つの文字列変数を彼に送信し、数値を取得するにはどうすればよいですか? Eclipse EE Kepler、Tomcat 6 の使用

4

1 に答える 1

1

www.webservicex.netの一部のサービスでは、HTTP を使用して GET リクエストを実行できます。例えば:

protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    String from = "USD";
    String to = "EUR";

    java.net.URL url = new java.net.URL(
            "http://www.webservicex.net/CurrencyConvertor.asmx"
                    + "/ConversionRate?FromCurrency=" + from
                    + "&ToCurrency=" + to);
    java.util.Scanner sc = new java.util.Scanner(url.openStream());

    // <?xml version="1.0" encoding="utf-8"?>
    sc.nextLine();

    // <double xmlns="http://www.webserviceX.NET/">0.724</double>
    String str = sc.nextLine().replaceAll("^.*>(.*)<.*$", "$1");

    sc.close();

    Double rate = Double.parseDouble(str);
    log("Rate: " + rate);

}
于 2013-10-24T13:56:49.397 に答える