
| Key: |
GDS-132
|
| Type: |
Bug
|
| Status: |
Closed
|
| Resolution: |
Won't Fix
|
| Priority: |
Major
|
| Assignee: |
Franck Wolff
|
| Reporter: |
Jerome L
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
Environment:
|
JBoss + GraniteDS 1.1.0 RC2
|
|
|
The flash application sends a remoting message to the graniteDS which fails to deserialize it, here is the stack trace :
<html><head><title>Apache Tomcat/5.5.23 - Error
report</title><style><!--H1
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
H2
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
H3
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
BODY
{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
B
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
P
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
{color : black;}A.name {color : black;}HR {color : #525D76;}--></style>
</head><body><h1>HTTP Status 500 - </h1><HR size="1"
noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b>
<u></u></p><p><b>description</b> <u>The server encountered an internal
error () that prevented it from fulfilling this
request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException:
java.lang.NoSuchFieldException: remotePassword
org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:103)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
</pre></p><p><b>root cause</b> <pre>java.lang.RuntimeException:
java.lang.NoSuchFieldException: remotePassword
org.granite.messaging.amf.io.util.DefaultActionScriptClassDescriptor.defineProperty(DefaultActionScriptClassDescriptor.java:64)
org.granite.messaging.amf.io.AMF3Deserializer.readAMF3Object(AMF3Deserializer.java:275)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:97)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:69)
org.granite.messaging.amf.io.AMF0Deserializer.readAMF3Data(AMF0Deserializer.java:327)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:379)
org.granite.messaging.amf.io.AMF0Deserializer.readArray(AMF0Deserializer.java:242)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:365)
org.granite.messaging.amf.io.AMF0Deserializer.readBodies(AMF0Deserializer.java:158)
org.granite.messaging.amf.io.AMF0Deserializer.<init>(AMF0Deserializer.java:97)
org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:79)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
</pre></p><p><b>root cause</b> <pre>java.lang.NoSuchFieldException:
remotePassword
java.lang.Class.getField(Class.java:1520)
org.granite.messaging.amf.io.util.DefaultActionScriptClassDescriptor.defineProperty(DefaultActionScriptClassDescriptor.java:59)
org.granite.messaging.amf.io.AMF3Deserializer.readAMF3Object(AMF3Deserializer.java:275)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:97)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:69)
org.granite.messaging.amf.io.AMF0Deserializer.readAMF3Data(AMF0Deserializer.java:327)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:379)
org.granite.messaging.amf.io.AMF0Deserializer.readArray(AMF0Deserializer.java:242)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:365)
org.granite.messaging.amf.io.AMF0Deserializer.readBodies(AMF0Deserializer.java:158)
org.granite.messaging.amf.io.AMF0Deserializer.<init>(AMF0Deserializer.java:97)
org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:79)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is
available in the Apache Tomcat/5.5.23 logs.</u></p><HR size="1"
noshade="noshade"><h3>Apache Tomcat/5.5.23</h3></body></html>
It works fine with BlazeDS; When comparing RemotingMessage in BlazeDS and GraniteDS, it appears that the classes are a little different :
In BlazeDS :
RemotingMessage extends RPCMessage extends AsyncMessage
In GraniteDS :
RemotingMessage extends AsyncMessage
RPCMessage contains the fields which are not undertood by GraniteDS, and this class has not been patched in GraniteDS. So you may have to update the patched flex.messaging.messages package.
|
|
Description
|
The flash application sends a remoting message to the graniteDS which fails to deserialize it, here is the stack trace :
<html><head><title>Apache Tomcat/5.5.23 - Error
report</title><style><!--H1
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
H2
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
H3
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
BODY
{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
B
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
P
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
{color : black;}A.name {color : black;}HR {color : #525D76;}--></style>
</head><body><h1>HTTP Status 500 - </h1><HR size="1"
noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b>
<u></u></p><p><b>description</b> <u>The server encountered an internal
error () that prevented it from fulfilling this
request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException:
java.lang.NoSuchFieldException: remotePassword
org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:103)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
</pre></p><p><b>root cause</b> <pre>java.lang.RuntimeException:
java.lang.NoSuchFieldException: remotePassword
org.granite.messaging.amf.io.util.DefaultActionScriptClassDescriptor.defineProperty(DefaultActionScriptClassDescriptor.java:64)
org.granite.messaging.amf.io.AMF3Deserializer.readAMF3Object(AMF3Deserializer.java:275)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:97)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:69)
org.granite.messaging.amf.io.AMF0Deserializer.readAMF3Data(AMF0Deserializer.java:327)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:379)
org.granite.messaging.amf.io.AMF0Deserializer.readArray(AMF0Deserializer.java:242)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:365)
org.granite.messaging.amf.io.AMF0Deserializer.readBodies(AMF0Deserializer.java:158)
org.granite.messaging.amf.io.AMF0Deserializer.<init>(AMF0Deserializer.java:97)
org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:79)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
</pre></p><p><b>root cause</b> <pre>java.lang.NoSuchFieldException:
remotePassword
java.lang.Class.getField(Class.java:1520)
org.granite.messaging.amf.io.util.DefaultActionScriptClassDescriptor.defineProperty(DefaultActionScriptClassDescriptor.java:59)
org.granite.messaging.amf.io.AMF3Deserializer.readAMF3Object(AMF3Deserializer.java:275)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:97)
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:69)
org.granite.messaging.amf.io.AMF0Deserializer.readAMF3Data(AMF0Deserializer.java:327)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:379)
org.granite.messaging.amf.io.AMF0Deserializer.readArray(AMF0Deserializer.java:242)
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:365)
org.granite.messaging.amf.io.AMF0Deserializer.readBodies(AMF0Deserializer.java:158)
org.granite.messaging.amf.io.AMF0Deserializer.<init>(AMF0Deserializer.java:97)
org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:79)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is
available in the Apache Tomcat/5.5.23 logs.</u></p><HR size="1"
noshade="noshade"><h3>Apache Tomcat/5.5.23</h3></body></html>
It works fine with BlazeDS; When comparing RemotingMessage in BlazeDS and GraniteDS, it appears that the classes are a little different :
In BlazeDS :
RemotingMessage extends RPCMessage extends AsyncMessage
In GraniteDS :
RemotingMessage extends AsyncMessage
RPCMessage contains the fields which are not undertood by GraniteDS, and this class has not been patched in GraniteDS. So you may have to update the patched flex.messaging.messages package. |
Show » |
Sort Order:
|