Я пытаюсь отправить HTTP-строку XML на сервер WebMethods, используя базовую аутентификацию. Я пытался использовать плагин REST, который находится поверх HTTP Builder. Я пробовал несколько вещей, все приводящие к нулевой длине ответа. Используя плакат Firefox, я использовал тот же самый XML и аутентификацию пользователя, и ответ WebMethods должен повторить запрос с некоторой дополнительной информацией, поэтому это то, что я делаю в приведенном ниже коде, что неправильно. Надеюсь, у кого-то есть указатель для создания HTTP-сообщения XML.
string orderText = "<item>
<item>1</item>
<price>136.000000</price>
</item>"
def response = withHttp(uri: "https://someserver.net:4433") {
auth.basic 'user', 'pass'
// have tried body: XmlUtil.serialize(orderText)
def r = post(path: '/invoke/document', body: orderText, contentType: XML, requestContentType: XML)
{ resp, xml ->
log.info resp.status
log.info resp.data
resp.headers.each {
log.info "${it.name} : ${it.value}"
}
}
log.info r
return r
}
Журналы говорят:
04-02-2011 14:19:39,894 DEBUG HTTPBuilder - Response code: 200; found handler: OrdersService$_closure1_closure2_closure3_closure4@36293b29
04-02-2011 14:19:39,895 INFO HTTPBuilder - Status: 200
04-02-2011 14:19:39,896 INFO HTTPBuilder - Data: null
04-02-2011 14:19:39,896 INFO HTTPBuilder - XML: null
04-02-2011 14:19:39,913 INFO HTTPBuilder - Content-Type : application/EDIINT; charset=UTF-8
04-02-2011 14:19:39,913 INFO HTTPBuilder - Content-Length : 0
Ура,
Стив