flex 用RemoteObject 调用不了JAVA 各位大侠帮我看看!!1

MXML 文件如下

<?xml version="1.0" encoding="utf-8"?>

<mx:Script>
    <![CDATA[
        import mx.controls.List;
        import mx.controls.Alert;
        import mx.collections.ArrayCollection; 
        import mx.rpc.events.ResultEvent; 
        [Bindable]
        public var lis:List = null;
        public function gg():void
        {
        var id:String =  testone.text.toString();
        h.findById(id);//没有调用到java
        mx.controls.Alert.show("123456");
        }
        public function yy(event:ResultEvent):void
        {
            lis = event.result as List;
            //return lis;
        }
    ]]>
</mx:Script>
<mx:RemoteObject id="h" destination="userService" result="yy(event)"/>

<mx:DataGrid x="100" y="192" id="datagrid" dataProvider="{lis}" fontSize="15">
    <mx:columns>
        <mx:DataGridColumn headerText="编号" dataField="ID"/>
        <mx:DataGridColumn headerText="姓名" dataField="NAME"/>
        <mx:DataGridColumn headerText="性别" dataField="SEX"/>
    </mx:columns>
</mx:DataGrid>
<mx:ComboBox x="100" y="128" id="cbb"></mx:ComboBox>
<mx:TextInput x="100" y="76" id="testone"/>
<mx:Label x="30" y="78" text="请输入ID:" fontSize="15"/>
<!-- 此处为触发函数-->
<mx:Button x="218" y="343" label="Button" click="gg();"/>

/mx:Application

remoting-config.xml如下

<?xml version="1.0" encoding="UTF-8"?>
class="flex.messaging.services.RemotingService">

<adapters>
    <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
</adapters>

<default-channels>
    <channel ref="my-amf"/>
</default-channels>

<destination id="userService">
    <properties>
        <source>userServiceS</source>
    </properties>
</destination>

Spring Application.xml文件如下


value="model.TestUser"/>

<bean id="userServiceS" class="service.ServiceImp">
    <property name="userOfSysListDAO" ref="userOfSysListDAO" />
</bean>

现在是调用不了JAVA 不知道什么问题!
后台JAVA 方法
@SuppressWarnings("unchecked")
public List findById(String id) {
System.out.println("flex来调用我了");//打印没有出来
return userOfSysListDAO.findList("from test_user as t where t.id="+id);

}

如果Flex RemoteOjbect和Hibernate+Spring都没有问题的情况下
LCDS整合Spring需要注意
需要手动新建SpringFactory 实现 flex.messaging.FlexFactory 接口
具体代码如下:
[code="java"]
package .;

import flex.messaging.FactoryInstance;
import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;

public class SpringFactory implements FlexFactory {

@Override
public FactoryInstance createFactoryInstance(String id, ConfigMap properties ) {
       SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
        instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
        return instance;

}

@Override
public Object lookup(FactoryInstance inst) {

     SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
        return factoryInstance.lookup();
}

@Override
public void initialize(String arg0, ConfigMap arg1) {


}

}
[/code]
新建SpringFacotryInstance extends SpringFacotry
具体代码如下:
[code="java"]
package .;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import flex.messaging.FactoryInstance;
import flex.messaging.config.ConfigMap;
import flex.messaging.services.ServiceException;

public class SpringFactoryInstance extends FactoryInstance {

 SpringFactoryInstance(SpringFactory factory, String id, ConfigMap properties)
 {
     super(factory, id, properties);
 }


 public Object lookup()
 {

     ApplicationContext appContext =     (WebApplicationContext) flex.messaging.FlexContext.getHttpRequest().getSession() .getServletContext().getAttribute("org.springframework.web.context.WebApplicationContext.ROOT");                         
     String beanName = getSource();         
     try
     {
        return appContext.getBean(beanName);
     }
     catch (NoSuchBeanDefinitionException nexc)
     {
         nexc.printStackTrace();
         ServiceException e = new ServiceException();

         throw e;
     }
     catch (BeansException bexc)
     {
         ServiceException e = new ServiceException();
         e.printStackTrace();
         throw e;
     }   
 }      

}
[/code]
最后需要在LCDS的service-config.xml文件中

标签之后加入
[code="xml"]



[/code]
这样应该Flex是用RemoteOjbect对象调用JAVA应该就没有问题了。
我们老大是这么跟我讲的,呵呵,

感觉应该是 Hibernate 配置 Spring 出的问题。 Flex 远程对象这快 看着没有什么问题,仔细看一下Spring + Hibernate

你可以这样调整一下, 看你的代码命名来看,应该是一个类似于Demo的一个示例
1.首先你可以先测试Flex的RemoteObject这 看看有什么问题,就是不整合Hibernate+Spring 只是简单调用一个Java方法而已,这个很简单吧,估计你应该有哪个LCDS的Demo 如没有写信给我Email,我发给你,
2.不牵扯Flex,测试Hibernate+Spring是否配置无误,
3.两步 都没有问题,LCDS整合。
如还有问题,请继续问题补充.

Email 忘了留下了 jingfei_cai@126.com 

上面貌似写错了
是 SpringFactoryInstance extends FactoryInstance
呵呵