【问题标题】:Using web services from http://www.webservicex.net with Java通过 Java 使用来自 http://www.webservicex.net 的 Web 服务
【发布时间】:2013-11-02 11:14:44
【问题描述】:

有java servlet,它包含两个带有货币缩写的字符串变量。有提供货币汇率的外部 JAX-WS 服务http://www.webservicex.net/ws/WSDetails.aspx?CATID=2&WSID=10。如何向该服务提出请求?如何将这两个字符串变量发送给他并取回数字?使用 Eclipse EE Kepler、Tomcat 6

【问题讨论】:

    标签: java eclipse web-services servlets jax-ws


    【解决方案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);
    
    }
    

    【讨论】:

    • hm.... 我在 Eclipse 中使用了“Web 服务”选项,它下载了项目中的所有类。但是这样看起来就容易多了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多