java - 如何使用 xml 正文调用 REST api

标签 java xml rest

我有一个用于登录的 REST api ( https://localhost/server/api/login ),它接受 xml 格式的参数,如下所示。

<?xml version="1.0" encoding="UTF-8" ?> 
<Request xmlns="http://www.xxxx.com/center/cbm/1.0.0">
  <Users>
    <User>
      <Type>userType</Type> 
      <Name>admin</Name> 
      <Password>password</Password> 
      <Captcha>On</Captcha> 
    </User>
   </Users>
 </Request>

如何使用 Java 调用它并接收响应。

最佳答案

您可以使用 Apache HTTP Client 4.x 执行 HTTP POST 请求:

String xmlString = "... your data ..."

HttpPost httpRequest = new HttpPost("https://localhost/server/api/login");
httpRequest.setEntity(new StringEntity(xmlString));

HttpClient httpclient = new DefaultHttpClient();
HttpResponse httpResponse = httpclient.execute(httpRequest, new BasicHttpContext());

if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK && httpResponse.getEntity() != null) {
  //handle response ok
} else {
  //handle error
}

关于java - 如何使用 xml 正文调用 REST api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8075452/

相关文章:

java - Spring Roo - 自动更新

Java 7 Synchronized 方法似乎允许多线程访问

xml - 图形 XML 到可视化表示

java - Spring 4安全jdbc身份验证

java - 一旦 map 被 Hazelcast 填充,就从 map 中获取一个值

python - 如何让 Python 的 ElementTree 漂亮地打印到 XML 文件?

xml - XML 中的错误混合字符编码

java - Spring MVC 休息 : No mapping found for HTTP request with URI [/ecommerce-api/rest/checkout] in DispatcherServlet

java - Firebase 数据库 REST 获取 orderBy 值和 equalTo

java - 在JEE(JBoss)环境中的neo4j: