加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

blazeds通信相关配置

发布时间:2020-12-15 01:35:45 所属栏目:百科 来源:网络整理
导读:1.在myeclipse的IDE下建立web project ,命名为:WorkerDemo; 2.将 路径下(D:/FrameWork/Flex-material/blazeds/WebRoot/WEB-INF)的除classes之外的四个文件完全复制到工程下的WEB-? INFO下; web.xml里面的内容头部保持MYECLIPSE生成的那样不变: web-ap

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即可。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读