Je veux consommer un service web et ajouter des assertions à sa réponse. Je reçois l'exception suivante:groovyx.net.http.ResponseParseException lors de l'appel du service Web de Spock groovy. Fonctionne très bien de Postman ou d'autres clients
groovyx.net.http.ResponseParseException:
at groovyx.net.http.HTTPBuilder$1.handleResponse(HTTPBuilder.java:495)
......
at Subscription.Order Products(Subscription.groovy:14)
Caused by: groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object
The current character read is 'I' with an int value of 73
Unable to determine the current character, it is not a string, number, array, or object
line number 1
index number 0
Invalid UTF-8 middle byte 0x52
Mon fonctionnement est le suivant:
def setupSpec() {
client = new RESTClient("http://tsi-services-dev2.canaldigital.com:9080/test/webgw-dealer/v1/");
client.handler.failure = { resp, data -> return resp }
}
///// orderProductPayload is a variable which has an input
def "Order Products"() {
when:
def resp = client.post(path: "order/orderProduct", requestContentType: JSON, contentType: JSON, body: orderProductPayload) as HttpResponseDecorator
then:
println("response: " + resp.data)
resp.status == successResponseStatus
}
J'ai d'autres ces tests trop qui fonctionnent bien et ce test particulier avec la charge utile d'entrée saisies œuvres fines de Postman
Voici mes têtes de réponse pour cette opération qui échoue dans spock/groovy:
Content-Length →159
Content-Type →application/json
Date →Wed, 05 Apr 2017 06:19:16 GMT
X-Correlation-ID → xxxxx
tête de réponse pour une autre opertion qui travaille:
Connection →close
Content-Length →273
Content-Type →application/json
Date →Wed, 05 Apr 2017 06:16:41 GMT
X-Correlation-ID → xxxxx
C'est le problème avec la réponse non pas à la demande, quelle réponse obtenez-vous? Probablement ce n'est pas une réponse JSON valide. – Opal
@Opal je comprends mais j'ai l'air d'obtenir une réponse correcte dans le facteur ou dans le savon ui. Si je supprime le type de contenu, il donne une réponse 400. avec le type de contenu je reçois cette exception. c'est où je suis bloqué parce que si la réponse était incorrecte ne serait-elle pas aussi un problème chez le facteur, que pensez-vous? –
Alors vérifiez les en-têtes dans soapUI ou postier et réglez le dans groovy de manière appropriée. – Opal