HTTPBuilder définir demande contenttype
J'utilise le code suivant pour exécuter un HTTP POST vers un système externe. Le problème est que le système externe obtient toujours un 'null' type de contenu lorsque vous utilisez le code ci-dessous. Est-il un moyen de régler le contenttype lors de l'utilisation de HTTPBuilder.
J'ai essayé d'autres outils pour exécuter la même requête, mais alors le système distant reçoit une bonne contentType ('application/json').
def execute(String baseUrl, String path, Map requestHeaders=[:], Map query=[:], method = Method.POST) {
try {
def http = new HTTPBuilder(baseUrl)
def result = null
//perform a ${method} request, expecting TEXT response
http.request(method, ContentType.JSON) {
uri.path = path
uri.query = query
//add possible headers
requestHeaders.each { key, value ->
headers."${key}" = "${value}"
}
//response handler for a success response code
response.success = { resp, reader ->
result = reader.getText()
}
}
return result
} catch (groovyx.net.http.HttpResponseException ex) {
ex.printStackTrace()
return null
} catch (java.net.ConnectException ex) {
ex.printStackTrace()
return null
}
}
Il semble que vous êtes en train de faire. Est-il une chance de votre carte paramètre
Nope, j'ai enlevé les lignes, mais encore de la télécommande, le système devient un 'null', comme contentType
requestHeaders
pourrait être la réinitialisation Content-Type
clé?Nope, j'ai enlevé les lignes, mais encore de la télécommande, le système devient un 'null', comme contentType
OriginalL'auteur Marco | 2013-02-25
Vous devez vous connecter pour publier un commentaire.
L'ajout d'un en-tête spécifique à la demande semble résoudre mon problème.
}
OriginalL'auteur Marco
Essayer de régler le requestContentType dans le corps de votre demande de bloc...
OriginalL'auteur Gregg