Akka-http версия - 10.0.14
Akka версия - 2.4.20
Ошибка ниже при использовании akka http в качестве клиента для отправки запроса GET и получения ответаbody.
Исключение в потоке "main" akka.http.impl.engine.client.OutgoingConnectionBlueprint $ UnexpectedConnectionClosureException: http-сервер неожиданно закрыл соединение, прежде чем выдать ответы на 1 невыполненный запрос
Наблюдение:
Тот же самый вызов GET работает через команду curl
Тот же код клиента работает для вызова GET, 'https://api.xforce.ibmcloud.com/hub/invalidcall'
Код -
import akka.actor._
import akka.http.scaladsl.Http
import akka.http.scaladsl.model._
import akka.http.scaladsl.unmarshalling.Unmarshal
import akka.stream.ActorMaterializer
import akka.util.Timeout
import scala.concurrent.{Await, Future}
import scala.concurrent.duration._
object Client {
implicit val timeout: Timeout = Timeout(10.seconds)
def main(args: Array[String]): Unit = {
implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
implicit val executionContext = system.dispatcher
val responseFuture: Future[HttpResponse] =
Http().singleRequest(
HttpRequest(
uri = "http://localhost:9090/xstreams/v1/offset/getOffset?appId=local-1543580292487&sourceName=mysql",
//uri="https://api.xforce.ibmcloud.com/hub/invalidcall",
method = HttpMethods.GET
)
)
val entity = Await.result(responseFuture, timeout.duration).entity
val responseStringF = Unmarshal(entity).to[String]
val responseString = Await.result(responseStringF, timeout.duration)
println("\nResult = " + responseString)
system.terminate()
}
}