flex 与java通信出问题,头大
出现的错误
[FaultEvent fault=[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: 'http://localhost:8080/flexandjava/messagebroker/amf'"] messageId="91E6625B-047F-90B1-4739-AB33CE987D85" type="fault" bubbles=false cancelable=true eventPhase=2]
MXML代码
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600" creationComplete="init();"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; [Bindable] private var employeeList:Object; private function init():void { employeeServiceRO.getList(); } private function resultHandler(event:ResultEvent):void { employeeList=event.result; } private function faultHandler(event:FaultEvent):void { Alert.show(event.toString(),'error'); } ]]> </mx:Script> <mx:RemoteObject id="employeeServiceRO" destination="employeeServiceDest" result="resultHandler(event)" fault="faultHandler(event)" endpoint="/flexandjava/messagebroker/amf"/> <mx:DataGrid width="450" dataProvider="{employeeList}"> <mx:columns> <mx:DataGridColumn dataField="Name" headerText="name"/> <mx:DataGridColumn dataField="Age" headerText="age"/> <mx:DataGridColumn dataField="Email" headerText="email"/> </mx:columns> </mx:DataGrid></mx:Application>
package com.sample;import java.util.ArrayList;public class EmployeeService { public ArrayList<Employee> getList() { ArrayList<Employee> tempList = new ArrayList<Employee>(); for (int i = 1; i <= 30; i++) { tempList.add(new Employee("Smith" + i, 20 + i, "smith" + i + "@test.com")); } return tempList; }}
package com.sample;public class Employee { private String name; private int age; private String email; public Employee(String name, int age, String email) { this.name = name; this.age = age; this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}
[解决办法]
BlazeDS么?
[解决办法]
employeeList=event.result; 这段代码你强制类型转换一下
[解决办法]
把配置文件贴出来看看
[解决办法]
碰到过这个问题好多次.
我这边出现这个问题是访问的应用路径不对.
比如: tomcat应用实际路径是 localhost:8080/flexandjava 但访问到了其他路径.
你这个应该也是这个问题
[解决办法]
Blazeds配置问题 可以在message-config中检查amf通道配置
[解决办法]
应该是路径的问题
可以用XML文件加载IP