2015-06-15 3 views
2

Мне пришлось скопировать некоторые существующие компоненты и их удаленные интерфейсы в существующее рабочее приложение. Теперь, когда я называю один из методов, я получаю следующее исключение:Не удается повторить запрос, который ранее не был выполнен

java.lang.IllegalStateException: EJBCLIENT000032: Cannot retry a request which hasn't previously been completed 
at org.jboss.ejb.client.EJBClientInvocationContext.retryRequest(EJBClientInvocationContext.java:203) 
at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:256) 
at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:265) 
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198) 
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181) 
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144) 
at com.sun.proxy.$Proxy27.createRawSTRProfiles(Unknown Source) 
at org.acme.project.CreateSomethingRunnable.run(CreateSomethingRunnable.java:76) 
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 

Этот же компонент работает для других вызовов методов. Нет другого исключения ни на стороне клиента, ни на стороне сервера, точка останова внутри рассматриваемого метода сервера никогда не вызывается. Я не знаю, как отлаживать, и Google не обращает внимания на это сообщение об ошибке. Мы используем WildFly 8.1.0.Final.

Может ли кто-нибудь помочь пролить свет на эту проблему? Благодарю.

+0

Знаете, это просто * получило *, чтобы быть тонкой ошибкой в ​​* вашем * коде ... том, что пытается выпустить «этот» метод-вызов. Значение самого сообщения представляется ясным: если запрос не завершен, вы не можете «повторить» его. Ну, этот конкретный вызов, скажем, * не прошел? * Возможно, в нем есть tpyo. Что-то не совсем-правильно о * этом конкретном * одном. Возьмите соседнего коллегу и попросите их взглянуть на него с вами. Возможно, это проблема * «d'oh!» *. , , –

ответ

2

Исключением для нас было ClassNotFoundError, потому что совершенно несвязанный JAR внутри EAR имел неправильный номер версии.

Проверить все. Мы разобрали значение, которое было отправлено (установка всех полей в null). Когда это сработало, мы снова устанавливаем поля для объектов поочередно, проверяя рассматриваемые классы на Serializable (потому что иногда отсутствующие Serializable вызывают подобные исключения).

Короче говоря, убедитесь, что все классы, проходящие через провод, реализуют интерфейс Serializable.

Смежные вопросы