我需要使用POST将XML文件发送到Web服务。我有一个客户端应用程序,它创建一个XML文件,存储发送到Web应用程序所需的所有信息,但我不知道如何发送它。
我的XML看起来像这样:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Comment>
<Poll_ID>2</Poll_ID>
<Name>wpoon</Name>
<Text>asdasdas</Text>
<Timestamp>2012-10-14T10:30:25</Timestamp>
</Comment>
我将发送给它的RESTful服务有URL:
http://localhost:8080/TESTINGrestful/rest/polls/comment
任何人都可以告诉我如何做到这一点,任何帮助将不胜感激。
答案 0 :(得分:12)
Apache here提供了一个很好的示例HttpClient:
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost("http://localhost:8080/TESTINGrestful/rest/polls/comment");
StringEntity input = new StringEntity("<Comment>...</Comment>");
input.setContentType("text/xml");
postRequest.setEntity(input);
HttpResponse response = httpClient.execute(postRequest);
答案 1 :(得分:0)
类似于以前的方法,但使用 HttpClientBuilder 而不是已弃用的 DefaultHttpClient。此示例还使用 contentType Json。
HttpPost postRequest = new HttpPost( "http://localhost:8080/service_url" );
StringEntity input = new StringEntity("{\"jsonExample\": \"12345\"}");
input.setContentType("application/json");
postRequest.setEntity(input);
HttpResponse response = HttpClientBuilder.create().build().execute(postRequest);
String json = EntityUtils.toString(response.getEntity());