【问题标题】:How can i format xml input for restful web service and invoke the service我如何为restful web服务格式化xml输入并调用服务
【发布时间】:2012-12-05 11:17:56
【问题描述】:

大家好,我使用 restFul web 服务公开了一个服务 服务器端代码是

@RequestMapping(value = "/getPerson", method = RequestMethod.POST) public ModelAndView getPerson(@RequestParam("inputXml") String inputXml) {
------------------------- ----------------------------------------
} return new ModelAndView("userXmlView", BindingResult.MODEL_KEY_PREFIX + String.class, "测试"); }

客户端实现是:

        URL oracle = new URL("http://localhost:8081/testWeb/restServices/getPerson?inputXml=input");
         System.out.println("Oracle URl is "+oracle);
         HttpURLConnection connection = (HttpURLConnection)oracle.openConnection();
         connection.setDoOutput(true);
        connection.setRequestProperty("Content-type", "application/xml; charset:ISO-8859-1");
        connection.setRequestMethod("POST");
        BufferedReader in = new BufferedReader(new InputStreamReader(
                connection.getInputStream()));
        String inputLine;
       while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);  
     in.close(); 

我能够使用 URL 访问服务 http://localhost:8081/testWeb/restServices/getPerson?inputXml="input" 实际上我的要求是,我需要像这样将 xml 字符串作为输入传递

http://localhost:8081/testWeb/restServices/getPerson?inputXml="<?xml%20version="1.0"%20encoding="UTF-8"%20standalone="yes"?><product><code>WI1</code><name>Widget%20Number%20One</name><price>300.0</price></product>"

请帮我找到解决办法

【问题讨论】:

标签: web-services spring rest


【解决方案1】:

Maya,/getPerson 不是 RESTful URI 名称。您应该改用 /person 之类的东西。这样,您就可以使用 HTTP GET 它或 DELETE 它。

【讨论】:

    【解决方案2】:

    看看RestAssured

    given().
           formParam("formParamName", "value1").
           queryParam("queryParamName", "value2").
    when().
           post("/something");
    

    或春天RestTemplate

    Map<String, String> vars = new HashMap<String, String>();
    vars.put("count", "5");
    restTemplate.getForObject(person, Person.class, vars);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2011-08-28
      • 2014-03-14
      • 2011-08-28
      相关资源
      最近更新 更多