首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用XML完成HTTPPUT请求?

如何使用XML完成HTTPPUT请求?
EN

Stack Overflow用户
提问于 2015-06-19 09:27:15
回答 1查看 849关注 0票数 0

我正在学习rest,我发现很难执行PUT请求。下面是我尝试过的代码。但是记录没有被成功地更新

使用的URL - http://www.thomas-bayer.com/sqlrest/PRODUCT/1

尝试更新的值- <PRICE>24.8</PRICE> to <PRICE>24.9</PRICE>

语言: Java

代码语言:javascript
复制
DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPut putrequest = new HttpPut(
            "http://www.thomas-bayer.com/sqlrest/PRODUCT/1");
    List<NameValuePair> nvps = new ArrayList<NameValuePair>() {{
        add(new BasicNameValuePair("content-type", "application/xml"));
        add(new BasicNameValuePair("Server", "Apache-Coyote/1.1"));

    }};
    for (NameValuePair h : nvps) {
        putrequest.addHeader(h.getName(), h.getValue());
    }
    String xml="<?xml version=\"1.0\"?><PRODUCT xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n" +
            "    <ID>1</ID>\n" +
            "    <NAME>Chair Shoe</NAME>\n" +
            "    <PRICE>24.9</PRICE>\n" +
            "</PRODUCT>";

    putrequest.setEntity(new StringEntity(xml));

    HttpResponse response = httpClient.execute(putrequest);

    if (response.getStatusLine().getStatusCode() != 201) {
        throw new RuntimeException("Failed : HTTP error code : "
                + response.getStatusLine().getStatusCode());
    }

    httpClient.getConnectionManager().shutdown();
}

我得到了500响应,但是如果记录不存在的话,我可以使用HTTPPUT添加记录。怎么解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-01-11 03:01:21

如果它被添加了,而您仍然得到了500,那么下面的可能性如下:

  1. 添加记录后服务器遇到错误
  2. 服务器端代码错误地放置状态代码。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30934593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档