我得到了一个 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/