Sto provando HTTP Posta una stringa XML su un server WebMethods utilizzando l'autenticazione di base. Stavo cercando di usare il plugin REST che si trova sopra HTTP Builder. Ho provato alcune cose tutte con una risposta di lunghezza 0. Usando il poster di Firefox ho usato lo stesso identico XML e user auth e la risposta di WebMethods è di restituire la richiesta con alcune informazioni extra, quindi è qualcosa che sto facendo nel codice qui sotto che è sbagliato. Spero che qualcuno abbia un puntatore per fare un HTTP Post di XML.Groovy/Grails che invia XML su HTTP (utilizzando il plug-in 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
}
registri dicono:
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
Impossibile farlo funzionare, anche tramite Groovy HTTPBuilder quindi è andato sotto 1 altro livello in Apache HTTPClient, funziona perfettamente – Steve
Steve, dovresti pubblicare la tua soluzione come risposta e accettarla. – rochb
Sto lavorando alla stessa identica cosa, sarebbe bello se potessi pubblicare la tua soluzione. – Slavko