Невозможно десериализовать экземпляр java.lang.String из токена START_OBJECT.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Невозможно десериализовать экземпляр java.lang.String из токена START_OBJECT.

Сообщение Anonymous »


Я столкнулся с проблемой, из-за которой мой развертываемый jar-файл попадает в исключение, которого не происходит, когда я запускаю его локально в IntelliJ.

Исключение:

Получение события {id=2, socket=0c317829-69bf-43d6-b598-7c0c550635bb, type=getDashboard, data={workstationUuid=ddec1caa-a97f-4922-833f-632da07ffc11}, ответ=true} Запуск события getDashboard в Socket#0c317829-69bf-43d6-b598-7c0c550635bb Не удалось вызвать AtmSphereFramework.doCometSupport(). java.lang.IllegalArgumentException: невозможно десериализовать экземпляр java.lang.String из токена START_OBJECT в [Источник: н/д; строка: -1, столбец: -1] в org.codehaus.jackson.map.ObjectMapper._convert(ObjectMapper.java:2502) в org.codehaus.jackson.map.ObjectMapper.convertValue(ObjectMapper.java:2468) на com.github.flowersinthesand.portal.support.DefaultDispatcher$DefaultHandler$DataParam.resolve(DefaultDispatcher.java:270) на com.github.flowersinthesand.portal.support.DefaultDispatcher$DefaultHandler.handle(DefaultDispatcher.java:204) на com.github.flowersinthesand.portal.support.DefaultDispatcher.fire(DefaultDispatcher.java:107) на com.github.flowersinthesand.portal.support.AbstractSocketFactory.fire(AbstractSocketFactory.java:73) на com.github.flowersinthesand.portal.atmSphere.AtmSphereSocketFactory.onRequest(AtmSphereSocketFactory.java:75) в org.atmSphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:256) в org.atmSphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166) в org.atmSphere.container.Grizzly2WebSocketSupport.service(Grizzly2WebSocketSupport.java:75) в org.atmSphere.cpr.AtmSphereFramework.doCometSupport(AtmSphereFramework.java:1342) в org.atmSphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:219) в org.atmSphere.websocket.DefaultWebSocketProcessor$2.run(DefaultWebSocketProcessor.java:183) в org.atmSphere.util.VoidExecutorService.execute(VoidExecutorService.java:101) в org.atmSphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:178) в org.atmSphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:167) в org.atmSphere.container.Grizzly2WebSocketSupport$Grizzly2WebSocketApplication.onMessage(Grizzly2WebSocketSupport.java:171) в org.glassfish.grizzly.websockets.DefaultWebSocket.onMessage(DefaultWebSocket.java:164) в org.glassfish.grizzly.websockets.frametypes.TextFrameType.respond(TextFrameType.java:70) в org.glassfish.grizzly.websockets.DataFrame.respond(DataFrame.java:104) в org.glassfish.grizzly.websockets.WebSocketFilter.handleRead(WebSocketFilter.java:221) в org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) в org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter (DefaultFilterChain.java:265) в org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart (DefaultFilterChain.java:200) в org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134) в org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) в org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78) в org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:770) в org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) в org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115) в org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100 (WorkerThreadIOStrategy.java:55) в org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135) в org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:551) в org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:531) в java.lang.Thread.run(Thread.java:781) Вызвано: org.codehaus.jackson.map.JsonMappingException: невозможно десериализовать экземпляр java.lang.String из токена START_OBJECT. в [Источник: н/д; строка: -1, столбец: -1] в org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) в org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException (StdDeserializationContext.java:219) в org.codehaus.jackson.map.deser.std.StringDeserializer.deserialize(StringDeserializer.java:44) в org.codehaus.jackson.map.deser.std.StringDeserializer.deserialize(StringDeserializer.java:13) в org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2704) в org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1315) в org.codehaus.jackson.map.ObjectMapper._convert(ObjectMapper.java:2498) ... еще 34 java.lang.IllegalArgumentException: невозможно десериализовать экземпляр java.lang.String из токена START_OBJECT в [Источник: н/д; строка: -1, столбец: -1] Статус 500 Ошибка сервера сообщений Обработчик сокетов

Я считаю, что исключение возникает при синтаксическом анализе JSON в объект WorkstationRequest из-за приведенного ниже элемента. Это обработчик сокета:

@On @Отвечать @JsonView({Views.WorkstationView.class}) public WorkstationDashboard getDashboard(@Data WorkstationRequest request) { вернуть новую WorkstationDashboard(request.getWorkstation()); } Объект, с которым сопоставляется обработчик сокета:

публичный класс WorkstationRequest { /* Класс для создания экземпляра, если эта рабочая станция еще не существует */ частный класс
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»