У меня есть graphdsl, где по какой-то причине после выполнения webSocketClientFlow
Flow
я получаю пустой поток. Сообщение об ошибке в будущем run
:
java.util.NoSuchElementException: head of empty stream
График выглядит так:
val loginMessage = Flow[LoginCommand].map(data => {
TextMessage(data.toJsonString())
}).named("Converting Login to Message").log("LoginMessage")
val exasolAnnounce = http
.webSocketClientFlow(WebSocketRequest(socketUrl))
.named("ExasolAnnounceLogin")
.log("SendAnnounce")
val announceResponse = builder.add(Flow[Message].map(data =>
LoginCommand.Response.extract(data)
).named("Building Response").log("AnnouncementResponse"))
import GraphDSL.Implicits._
Source.single(new LoginCommand) ~> loginMessage ~> exasolAnnounce ~> announceResponse
Последние DEBUG
журналы:
[DEBUG] [09/11/2018 09:53:43.328] [TestSystem-akka.actor.default-dispatcher-5] [akka://TestSystem/system/IO-TCP/selectors/$a/0] Connection established to [192.168.56.2:8563]
[DEBUG] [09/11/2018 09:53:43.346] [TestSystem-akka.actor.default-dispatcher-17] [akka.stream.Log(akka://TestSystem/system/StreamSupervisor-0)] [SendAnnounce] Upstream finished.
[DEBUG] [09/11/2018 09:53:43.346] [TestSystem-akka.actor.default-dispatcher-17] [akka.stream.Log(akka://TestSystem/system/StreamSupervisor-0)] [AnnouncementResponse] Upstream finished.
Так что мне кажется, что он подключается к Websocket, но по какой-то причине не дает результата. Кто-нибудь может пролить свет на проблему, или как я могу проследить это дальше?
РЕДАКТИРОВАТЬ 1 :
Протестировано с ws: //echo.websocket.org, а затем поток обрабатывается, как ожидалось.
Не уверен, как я могу дальше отлаживать поведение Сервера.