【发布时间】:2015-02-05 23:56:51
【问题描述】:
我正在尝试将 POST 请求发送到 Restful WS,请求最初是 xml,响应也是如此。
我还需要发送基本身份验证。 起初,我遇到了未定义类的问题,幸运的是,我花了 6 个罐子来解决这个问题。
现在我不断收到以下信息: 捕获:groovyx.net.http.HttpResponseException:错误请求
听起来它不喜欢 POST 请求。我尝试了不同的方法,包括 RESTClient,我尝试通过传递文件或作为字符串 var 以原始 xml 格式委派请求。 我不完全理解 httpBuilder 中的 post 或 request 方法之间的区别。
如果有人能帮我指出我做错了什么,将非常感激
def http = new HTTPBuilder('http://some_IP:some_Port/')
http.auth.basic('userName','password')
http.post(path:'/path/ToServlet')
http.post(POST,XML)
{
delegate.contentType="text/xml"
delegate.headers['Content-Type']="text/xml"
//delegate.post(getClass().getResource("/query.xml"))
// body = getClass().getResource("/query.xml")
body =
{
mkp.xmlDeclaration()
Request{
Header{
Command('Retrieve')
EntityIdentifiers
{
Identifier(Value:'PhoneNumber', Type:'TelephoneNumber')
}
EntityName('Subscriber')
}
}
}
}
现在,如果我在请求中翻译了错误的 XML,这里是它的 XML 版本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Provisioning xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Request> <Header> <Command>Retrieve</Command> <EntityIdentifiers> <Identifier Value="phoneNumber" Type="TelephoneNumber" /> </EntityIdentifiers> <EntityName>Subscriber</EntityName> </Header> </Request> </Provisioning>
【问题讨论】:
标签: xml post groovy httpbuilder