httpclient问题

时间:2010-10-10 18:25:12

标签: 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)有效。

任何想法我想念的小事。 (我也会尝试发帖)

由于

2 个答案:

答案 0 :(得分:1)

如果您返回500状态代码,则表示服务器错误。从理论上讲,错误的请求(甚至是错误形成的)应该使服务器返回4xx状态代码,而不是让它返回一个状态代码,指示其侧面的内部故障。如果此服务器为您发出的请求返回500状态代码,则表示服务器端存在问题。

答案 1 :(得分:0)

事实证明,即使SOAPUI请求是PUT,POST确实有效..大多数奇怪我想我不明白......

感谢您的帮助