我在Grails上使用groovy-wslite向服务流发送SOAP请求。但是我得到的回复是空的。
我认为自从获得302
状态后我才连接到服务器,或者302
状态是否意味着我没有连接到服务器?
我已经测试过发送到其他服务,例如http://www.holidaywebservice.com/Holidays/US/Dates/USHolidayDates.asmx?wsdl,它运行得很好。
有没有人知道302
的含义或为什么我得到一个空的回复体?
答案 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
结尾,则只需删除该网址即可获取服务网址。