java - httpclient放置问题

标签 java httpclient put

我得到了一个 api,其中指出它需要:

URL http://server/a/messages.xml

HTTP Method POST (even though the soapui example  of this call uses PUT)

Input XML
<?xml version="1.0" encoding="UTF-8"?>
<message>
  <content>Post message</content>
  <parent-id nil="true"></parent-id>
</message>

现在我尝试使用以下代码(其中请求正文是上面所示的 xml,其中没有\r\n)

PutMethod putMethod = null;
putMethod = new PutMethod(url); 
putMethod.setQueryString(requestParams);
RequestEntity rEnt = new StringRequestEntity(requestBody,"text/xml",null);
putMethod.setRequestEntity(rEnt);
statusCode = client.executeMethod(putMethod);

我不断从状态中返回 500,我知道它的工作原理与soapui示例(put)的工作原理相同。

有什么想法我错过了什么小事吗? (我也打算尝试发帖)

谢谢

最佳答案

如果您返回 500 状态代码,则表明服务器出现错误。理论上,错误的请求(甚至格式错误)应该使服务器返回 4xx 状态代码,而不是返回指示其内部故障的状态代码。如果该服务器针对您发出的请求返回 500 状态代码,则表明服务器端出现问题。

关于java - httpclient放置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3901583/

相关文章:

java - 使用 HttpClient 4 通过 WiFi 进行 HTTPS 身份验证

c# - HttpClient PostAsync() 从不返回响应

input - 将数字转换为字符 20

ios - 如何在 Alamofire 中使用相同的 API 函数 .PUT 请求更新 JSON

java - 使用现有值在 HBase 中更新插入

java - 二叉树:节点数与子树高度之间的除法最大值

java - 如何在android studio中根据设备屏幕的大小调整webview的大小

java - WAS 7.0 中带有 JAX WS-SUN 库的 Web 服务

java - 我应该关闭每个方法与 JDBC 的连接吗?

java - commons-httpclient-3.1 中的 URIUtil.encodePath 发生了什么变化?