blazeds通信相关配置

1.在myeclipse的IDE下建立web project ,命名为:WorkerDemo;

2.将 路径下(D:/FrameWork/Flex-material/blazeds/WebRoot/WEB-INF)的除classes之外的四个文件完全复制到工程下的WEB-  INFO下;

web.xml里面的内容头部保持MYECLIPSE生成的那样不变:

<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


 

3.然后建立java类,里面写个方法:eg:

                    public class HelloWorker {
                            public String getWork(String work){
     
                             return work;
                             }
                       }

4.在WEB-INFO下打开flex下的remoting-config.xml,修改:

                     <destination id="hello">     //id可以自定义
                         <properties>
                               <source>HelloWorker</source>   //此处的HelloWorker为:上面那个类的包路径,此处该类没在任何包下
                          </properties>
                     </destination>

 

5.发布该工程在tomcat,并启动服务;

 

6.在flex中新建flex project ,application type选择第一个web application ;application server type选择J2EE ,下一步:

   root folder:D:/FrameWork/apache-tomcat-6.0.20/apache-tomcat-6.0.20/webapps/WorkerDemo   //指定的是java中的工程在tomcat服务器中webapps下的路径;

  root URL:http://localhost:8080/WorkerDemo     //需要修改的是8080/后面的工程名字为需要使用的工程名;

  context root: /      此处不做修改;

 

  output folder:D:/FrameWork/apache-tomcat-6.0.20/apache-tomcat-6.0.20/webapps/WorkerDemo/WorkerDemo-debug      //此处要修改的是去掉尾部的 -debug   ,这是后台java编译时生成的格式,需要修改。修改后结果为:

  output folder:D:/FrameWork/apache-tomcat-6.0.20/apache-tomcat-6.0.20/webapps/WorkerDemo/WorkerDemo

 

7.点击flex project名称此处为WorkerDemo右键选择最后一项properties  ,选择flex compiler  右侧的flex SDK version 选择第二项use a specific SDK (flex 3.2)

 

mxml格式文件中相关配置:

   <mx:RemoteObject id="ro" destination="hello"/>    //此处的destination指定的是在java中remoting-config.xml(以上第四项)中指定的destination id="hello"    ,

mxml 文件代码如下:

 

       <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
 <mx:Script>
  <![CDATA[
   public function remotingSayHello(event:Event):void{
        var iname:String = txt_name.text;
        ro.getWork(iname);
     }
  ]]>
 </mx:Script>
 
  <mx:RemoteObject id="ro" destination="hello"/>
 <mx:Form>
  <mx:FormItem label="name:">
   <mx:TextInput id="txt_name"/>
   <mx:Button label="GO" click="remotingSayHello(event)"/>
  </mx:FormItem>
 </mx:Form>
 <mx:TextInput id="show" fontSize="20" text="{ro.getWork.lastResult}"/>
</mx:Application>

以上代码中:  ro.getWork(iname);的getWork指的是java端的方法;ro.getWork.lastResult 中的getWork也是方法名;

 

 

错误:[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: 'http://localhost:8080/messagebroker/amf'"]

原因:点击flex project名称此处为WorkerDemo右键选择最后一项properties  ,选择flex server右侧的context root 修改为:

         /WorkerDemo  默认是只有一个斜杠;

 

错误:[RPC Fault faultString="Cannot invoke method 'helloWorld'." faultCode="Server.ResourceUnavailable" faultDetail="Method 'helloWorld' not found."]

原因:java端的方法可见范围定义的是private改成public即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值