1

大家好,我使用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>"

请帮我找到解决方案

4

2 回答 2

0

Maya/getPerson不是 RESTful URI 名称。你应该使用类似的东西/person。这样,您可以使用 HTTPGET或它。DELETE

于 2012-12-05T11:26:02.587 回答
0

看看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);
于 2012-12-05T11:32:25.453 回答