Estoy intentando HTTP Publique una cadena XML en un servidor WebMethods usando autenticación básica. Intentaba utilizar el complemento REST que se encuentra en la parte superior de HTTP Builder. He intentado algunas cosas, lo que resulta en una respuesta de 0 longitud. Usando el póster de Firefox, he utilizado la misma autentificación XML y de usuario y la respuesta de WebMethods es repetir la solicitud con algo de información adicional, por lo que es algo que estoy haciendo en el código de abajo que es incorrecto. Espero que alguien tenga un puntero para hacer una publicación HTTP de XML.Groovy/Grails publicando XML a través de HTTP (usando el plugin REST)
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
}
Registros dicen:
04-02-2011 14:19:39,894 DEBUG HTTPBuilder - Response code: 200; found handler: [email protected]
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
Cheers,
Steve
No se pudo hacer funcionar esto, incluso a través de HTTPbuilder de Groovy por lo que pasó por debajo de 1 capa más para Apache HTTPClient, funciona muy bien – Steve
Steve, debe publicar su solución como una respuesta y aceptarla. – rochb
Estoy trabajando en exactamente lo mismo, sería genial si pudiera publicar su solución. – Slavko