You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by jaabax <ja...@gmail.com> on 2017/07/14 20:32:46 UTC
BlazeDS 4.7.3 ISSUE: SerializationException: Creation validation
for class "" failed.
I am not being able to communicate with the server with the jars from
flex-messaging-core, common, proxy and remoting version 4.7.3. When I change
to 4.7.2 things work. Importante: the ONLY thing I change is the version on
my pom.xml for it to work. No code changes at all.
I have the following test entity.
package test.package
{
[Bindable]
[RemoteClass(alias="test.package.Test")]
public class Test
{
public function Test()
{
}
private var _name:String
private var _price:int;
public function get name():String{
return _name;
}
public function get price():int{
return _price;
}
public function set name(name:String):void{
_name = name;
}
public function set price(price:int):void{
_price = price;
}
}
}
public class Test implements Serializable {
private String name;
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
I checked the source code and on the class ClassDeserializationValidator my
Test entity goes into Set<String> disallowClasses.
### 2017/07/14 17:37:39 INFO servlet.MessageBrokerHandlerAdapter: Channel
endpoint my-amf received request.
[BlazeDS] Creation validation for class 'test.package.Test' failed.
flex.messaging.io.SerializationException: Creation validation for class
'test.package.Test' failed.
at flex.messaging.util.ClassUtil.validateCreation(ClassUtil.java:354)
at flex.messaging.util.ClassUtil.createDefaultInstance(ClassUtil.java:115)
at
flex.messaging.io.amf.AbstractAmfInput.createObjectInstance(AbstractAmfInput.java:165)
at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:748)
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:156)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at
flex.messaging.io.amf.Amf3Input.readObjectOneLevelDown(Amf3Input.java:1046)
at flex.messaging.io.amf.Amf3Input.readArray(Amf3Input.java:698)
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:160)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at
flex.messaging.io.amf.Amf3Input.readObjectOneLevelDown(Amf3Input.java:1046)
at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:777)
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:156)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at flex.messaging.io.amf.Amf0Input.readObjectValue(Amf0Input.java:124)
at
flex.messaging.io.amf.Amf0Input.readObjectValueOneLevelDown(Amf0Input.java:545)
at flex.messaging.io.amf.Amf0Input.readArrayValue(Amf0Input.java:364)
at flex.messaging.io.amf.Amf0Input.readObjectValue(Amf0Input.java:128)
at flex.messaging.io.amf.Amf0Input.readObject(Amf0Input.java:95)
at
flex.messaging.io.amf.AmfMessageDeserializer.readObject(AmfMessageDeserializer.java:199)
at
flex.messaging.io.amf.AmfMessageDeserializer.readBody(AmfMessageDeserializer.java:173)
at
flex.messaging.io.amf.AmfMessageDeserializer.readMessage(AmfMessageDeserializer.java:93)
at
flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:169)
at
flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:328)
at
flex.messaging.endpoints.AMFEndpoint$$EnhancerBySpringCGLIB$$2bc97534.service(<generated>)
at
org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:109)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/BlazeDS-4-7-3-ISSUE-SerializationException-Creation-validation-for-class-myClass-failed-tp63270.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.
Re: BlazeDS 4.7.3 ISSUE: SerializationException: Creation
validation for class "" failed.
Posted by Solai <os...@gmail.com>.
Just wondering how you have this fixed. I have the same issue while
upgrading to 3.
--
Sent from: http://apache-flex-development.2333347.n4.nabble.com/
Re: BlazeDS 4.7.3 ISSUE: SerializationException: Creation
validation for class "" failed.
Posted by jaabax <ja...@gmail.com>.
Thank you very much!
Resolved.
--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/DEFECT-BlazeDS-4-7-3-ISSUE-SerializationException-Creation-validation-for-class-myClass-failed-tp63270p63278.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.
Re: BlazeDS 4.7.3 ISSUE: SerializationException: Creation validation
for class "" failed.
Posted by Josh Tynjala <jo...@gmail.com>.
According to the release notes for BlazeDS 4.7.3, classes must be
whitelisted in order to be deserialized by ClassDeserializationValidator.
Perhaps that is what you are encountering.
- Josh
On Jul 14, 2017 4:46 PM, "jaabax" <ja...@gmail.com> wrote:
I am not being able to communicate with the server with the jars from
flex-messaging-core, common, proxy and remoting version 4.7.3. When I change
to 4.7.2 things work. Importante: the ONLY thing I change is the version on
my pom.xml for it to work. No code changes at all.
I have the following test entity.
package test.package
{
[Bindable]
[RemoteClass(alias="test.package.Test")]
public class Test
{
public function Test()
{
}
private var _name:String
private var _price:int;
public function get name():String{
return _name;
}
public function get price():int{
return _price;
}
public function set name(name:String):void{
_name = name;
}
public function set price(price:int):void{
_price = price;
}
}
}
public class Test implements Serializable {
private String name;
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
I checked the source code and on the class ClassDeserializationValidator my
Test entity goes into Set<String> disallowClasses.
### 2017/07/14 17:37:39 INFO servlet.MessageBrokerHandlerAdapter: Channel
endpoint my-amf received request.
[BlazeDS] Creation validation for class 'test.package.Test' failed.
flex.messaging.io.SerializationException: Creation validation for class
'test.package.Test' failed.
at flex.messaging.util.ClassUtil.validateCreation(ClassUtil.
java:354)
at flex.messaging.util.ClassUtil.createDefaultInstance(
ClassUtil.java:115)
at
flex.messaging.io.amf.AbstractAmfInput.createObjectInstance(
AbstractAmfInput.java:165)
at flex.messaging.io.amf.Amf3Input.readScriptObject(
Amf3Input.java:748)
at flex.messaging.io.amf.Amf3Input.readObjectValue(
Amf3Input.java:156)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at
flex.messaging.io.amf.Amf3Input.readObjectOneLevelDown(Amf3Input.java:1046)
at flex.messaging.io.amf.Amf3Input.readArray(Amf3Input.java:698)
at flex.messaging.io.amf.Amf3Input.readObjectValue(
Amf3Input.java:160)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at
flex.messaging.io.amf.Amf3Input.readObjectOneLevelDown(Amf3Input.java:1046)
at flex.messaging.io.amf.Amf3Input.readScriptObject(
Amf3Input.java:777)
at flex.messaging.io.amf.Amf3Input.readObjectValue(
Amf3Input.java:156)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at flex.messaging.io.amf.Amf0Input.readObjectValue(
Amf0Input.java:124)
at
flex.messaging.io.amf.Amf0Input.readObjectValueOneLevelDown(
Amf0Input.java:545)
at flex.messaging.io.amf.Amf0Input.readArrayValue(
Amf0Input.java:364)
at flex.messaging.io.amf.Amf0Input.readObjectValue(
Amf0Input.java:128)
at flex.messaging.io.amf.Amf0Input.readObject(Amf0Input.java:95)
at
flex.messaging.io.amf.AmfMessageDeserializer.readObject(
AmfMessageDeserializer.java:199)
at
flex.messaging.io.amf.AmfMessageDeserializer.readBody(
AmfMessageDeserializer.java:173)
at
flex.messaging.io.amf.AmfMessageDeserializer.readMessage(
AmfMessageDeserializer.java:93)
at
flex.messaging.endpoints.amf.SerializationFilter.invoke(
SerializationFilter.java:169)
at
flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:328)
at
flex.messaging.endpoints.AMFEndpoint$$EnhancerBySpringCGLIB$$
2bc97534.service(<generated>)
at
org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(
MessageBrokerHandlerAdapter.java:109)
at
org.springframework.web.servlet.DispatcherServlet.
doDispatch(DispatcherServlet.java:963)
at
org.springframework.web.servlet.DispatcherServlet.
doService(DispatcherServlet.java:897)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(
FrameworkServlet.java:970)
at
org.springframework.web.servlet.FrameworkServlet.
doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at
org.springframework.web.servlet.FrameworkServlet.
service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(
WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(
AuthenticatorBase.java:478)
at
org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:140)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(
AbstractAccessLogValve.java:624)
at
org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at
org.apache.coyote.AbstractProcessorLight.process(
AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
AbstractProtocol.java:861)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
doRun(NioEndpoint.java:1455)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(
SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
--
View this message in context: http://apache-flex-
development.2333347.n4.nabble.com/BlazeDS-4-7-3-ISSUE-
SerializationException-Creation-validation-for-class-
myClass-failed-tp63270.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.