`

flex常见错误

    博客分类:
  • Flex
阅读更多
常见错误:

(1) [RPC Fault faultString="[MessagingError message='Unknown destination 'UserManager'.']" faultCode="InvokeFailed" faultDetail="Couldn't establish a connection to 'UserManager'"]

错误原因:remoting-config.xml配置的java类路径错误或java类不存在
解决:配置正确路径。

(2)[ RPC Fault faultString="[MessagingError message='Unknown destination 'UserManager'.']" faultCode="InvokeFailed" faultDetail="Couldn't establish a connection to 'UserManager'"]

错误原因:java版本问题,JRun 4.0支持到jdk1.4.2,不支持1.5

解决:使用jdk1.4.2

(3) [RPC Fault faultString="Cannot create class of type 'UserManager'." faultCode="Server.ResourceUnavailable" faultDetail="Type 'UserManager' not found."]

错误原因:remoting-config.xml配置的java类路径错误或java类不存在

解决:配置正确路径。

(4) Unsupported major.minor version 49.0异常;

错误原因:在J2SE1.4的时候编译的是J2SE1.4的字节码形式,在J2SE5.0是5.0的字节码形式,一般只具有向下兼容性,也就是说在J2SE5.0中可以运行J2SE1.4的字节码,但是反过来则不行,在J2SE1.4下运行了J2SE5.0编译出来的字节码,就会出现上面所说的java.lang.UnsupportedClassVersionError错误了。最后,还要注意一点的是,不仅你的class文件要注意,所有在classpath下用到的lib的jar文件的版本也要注意,如果jar文件里面的class以前是高版本JDK编译出来的字节码形式,那也同样会出java.lang.UnsupportedClassVersionError错误的。

解决:原来是Eclipse里面的设置有了点问题(不知道什么时候被改了)。打开Window--->Preferences,选择里面的Java里面的Compiler,修改右面的Compiler compliance level:的值为1.4。

另外:


1.could't invoke XXX method(例如调用具体RO的GetQuote,误写成getQuote)

原因大概是由于具体RO的函数名写错了,由于MXML语言大量使用参数注释型的方式指定对象属性,导致在引号之内的标记无法被编译器识别,问题被延迟到Run-time时刻发现。

2.Send failed

原因是service-config.xml中的channels定义my-amf的{context.root}在Flex Builder编译器参数中未指定其context-root,导致编译的swf文件可能有误;

解决方法同1

3.Ljava.lang.NoSuchMethodError...

原 因是RO对应的Java代码中可能出现调用不存在的方法。例如某个RO对应Java类Ticker在其函数中GetQuote中new一个 StockQuote实例StockQuote x = new StockQuote(param1,param2),但StockQuote类只有一个空参数的构造函数,因此NoSuchMethodError错误 被传递到Flex调用RO的客户端。为什么会出现Ticker引用不存在的StockQuote构造函数,原因是没有及时同步代码。比如, StockQuote代码修改了,删除了带参数的构造函数,而依赖此类的Ticker没有及时修正。

4.ReferenceError: Error #1056: 无法为 a 创建属性 b

这是一个奇怪的问题,所有同步Java对象类的ActionScript类,即通过metadata关键字RemoteClass指定的类。对应Java类的属性名称不能以大写字母开头。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics