1

我得到了一个 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)一样有效。

任何想法我错过了什么小东西。(我也要试试post)

谢谢

4

2 回答 2

1

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

于 2010-10-10T18:36:52.523 回答
0

事实证明,一个 POST 确实有效,即使 SOAPUI 请求是一个 PUT .. 最奇怪的是我想我不明白一些东西..

谢谢您的帮助

于 2010-10-12T08:26:03.643 回答