user3278612
user3278612

Reputation: 201

Scala Play Framework

How to get Response Body from End point ? I am Sending request to Endpoint, I want to know, how to get the response string.

    val complexRequest = ws.url(serviceEndpoint).withHeaders("Content-Type" -> "application/xml")
    val result = complexRequest.post(leadXml).map { response =>
      logger.info(s"response $response")
      if (response.status == 200) {
        val res = response
        logger.info(s"status passed.. $res")
      }
      else {
        val res = response
        logger.info(s"status failed.. $res")

      }
    }

Upvotes: 1

Views: 164

Answers (2)

Rhys Bradbury
Rhys Bradbury

Reputation: 1707

response.body you can also use PlayJson to validate it and change it to a workable object!

Upvotes: 1

paul
paul

Reputation: 13481

You can use Helper class

import play.api.test.Helpers._
val result: Future[SimpleResult] = …
val bodyAsBytes: Array[Byte] = contentAsBytes(result)

Or JavaResultExtractor

    akka.util.ByteString body = play.core.j.JavaResultExtractor.getBody(result, 10000l, mat);

Or JavaBodyPartser

https://www.playframework.com/documentation/2.5.x/JavaBodyParsers

Upvotes: 0

Related Questions