响应状态为Moved暂时且没有身体

时间:2014-10-15 04:34:12

标签: grails soap groovy httpresponse

我在Grails上使用groovy-wslite向服务流发送SOAP请求。但是我得到的回复是空的。

我认为自从获得302状态后我才连接到服务器,或者302状态是否意味着我没有连接到服务器?

我已经测试过发送到其他服务,例如http://www.holidaywebservice.com/Holidays/US/Dates/USHolidayDates.asmx?wsdl,它运行得很好。

有没有人知道302的含义或为什么我得到一个空的回复体?

2 个答案:

答案 0 :(得分:0)

是的,您正在连接到服务器。 HTTP response status 302表示重定向 - 由URL标识的资源已(暂时)移至另一个网址。

响应正文为空,因为响应的Location标题包含所有相关信息以及响应代码 - 资源的新URL。

基本上,当您收到Location回复时,只需向302标题中返回的网址发送相同的后续请求。

答案 1 :(得分:0)

确保您提供给SOAPClient的URL是服务URL,而不是WSDL文档的URL。由于您尝试POST到WSDL,因此可能会尝试将您重定向到实际的服务URL。检查WSDL并找到服务URL(通常在底部)并使用它。大多数情况下,如果您使用的网址以?wsdl.wsdl结尾,则只需删除该网址即可获取服务网址。