2017-04-05 2 views
0

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 
+0

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

+0

@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? –

+0

Alors vérifiez les en-têtes dans soapUI ou postier et réglez le dans groovy de manière appropriée. – Opal

Répondre

0

Merci beaucoup pour l'aide se révèle il y avait un caractère spécial tel que Ø dans ma demande que le service na pas comme et donc répondait d'une manière aussi absurde . Fonctionne bien maintenant