Issue Details (XML | Word | Printable)

Key: GDS-698
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: William Draï
Reporter: Steffen Smith
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
GraniteDS

BlazeDS Java-Client unable to connect to GraniteDS

Created: 06/Jul/10 06:42 PM   Updated: 22/Dec/10 04:01 PM   Resolved: 22/Dec/10 04:01 PM
Component/s: None
Affects Version/s: 2.1.0_GA
Fix Version/s: 2.2.0_GA

Environment: Jboss 5.1, GraniteDS Webservice, BlazeDS Java AMF Client


 Description  « Hide
As william mentioned, there should probably be an update done of flex.messaging.* classes to ensure connectivity without "NoSuchField" Exception for "remotePassword".



Original from forum:

I am trying to use the blazeds java amf client to connect to a already running
graniteDS service running for my flex app.

I already tried all possible combinations and constructions but always receive
errors with the simplest example code:

===============================
// Create the AMF connection.
AMFConnection amfConnection = new AMFConnection();
// Connect to the remote url.
String url = "http://127.0.0.1:8080/testService/graniteamf/amf";
try
{
amfConnection.connect(url);
}
catch (ClientStatusException cse)
{
System.out.println(cse);
return;
}

RemotingMessage message = new RemotingMessage();
message.setMessageId(flex.messaging.util.UUIDUtils.createUUID());
message.setOperation("version_get");
message.setDestination("testService");
Object res = amfConnection.call("testService.version_get", message);
==========================================


I already read about several people having success in calling from the blazeds
client in jira - but unfortunately noone pasted his code.

I get a "NoSuchField" Exception for "remotePassword" as seen in this stacktrace:

12:24:50,013 ERROR [[AMFMessageServlet]] Servlet.service() for servlet
AMFMessageServlet threw exception
org.granite.messaging.amf.io.AMF3SerializationException
at
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:9\
4)
at
org.granite.messaging.amf.io.AMF3Deserializer.readAMF3Array(AMF3Deserializer.jav\
a:261)
at
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:1\
24)
at
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:8\
8)
at
org.granite.messaging.amf.io.AMF0Deserializer.readAMF3Data(AMF0Deserializer.java\
:310)
at
org.granite.messaging.amf.io.AMF0Deserializer.readData(AMF0Deserializer.java:362\
)
at
org.granite.messaging.amf.io.AMF0Deserializer.readBodies(AMF0Deserializer.java:1\
41)
at
org.granite.messaging.amf.io.AMF0Deserializer.<init>(AMF0Deserializer.java:79)
at
org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:110\
)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt\
erChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.\
java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:9\
6)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt\
erChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.\
java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:2\
35)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:1\
91)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociatio\
nValve.java:190)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(Security\
ContextEstablishmentValve.java:126)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityC\
ontextEstablishmentValve.java:70)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionVa\
lve.java:158)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109\
)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Pr\
otocol.java:598)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: java.lang.NoSuchFieldException:
remotePassword
at
org.granite.messaging.amf.io.util.DefaultActionScriptClassDescriptor.definePrope\
rty(DefaultActionScriptClassDescriptor.java:70)
at
org.granite.messaging.amf.io.AMF3Deserializer.readAMF3Object(AMF3Deserializer.ja\
va:335)
at
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:1\
26)
at
org.granite.messaging.amf.io.AMF3Deserializer.readObject(AMF3Deserializer.java:8\
8)
... 28 more
Caused by: java.lang.NoSuchFieldException: remotePassword
at java.lang.Class.getField(Unknown Source)
at
org.granite.messaging.amf.io.util.DefaultActionScriptClassDescriptor.definePrope\
rty(DefaultActionScriptClassDescriptor.java:61)
... 31 more



William Draï added a comment - 22/Dec/10 04:01 PM
Should be fixed in 2.2.0 GA