我是Scala和BlazeDS的新手。我试图编写一个非常简单的应用程序,其中flex将调用一个名为getBook的方法,并且Scala服务返回一个Book对象。没有涉及数据库。我所做的只是创建一个新的Book实例并将其返回。BlazeDS不会将Scala类转换为AMF
我的问题是,我没有得到Flex上的有效书籍对象作为响应。我在这里包括代码。
Scala的书(scalaDemo.vo.Book.scala)
package scalaDemo.vo
case class Book (id:Long,name:String,authors:String)
Scala的服务(scalaDemo.GreetingService.scala)
package scalaDemo
import scalaDemo.vo.Book
class GreetingService {
def sayHello = "Hello, World!"
def getBook (name:String):Book = new Book (10,name,"author")
}
Flex端书(vo.Book.as)
package vo
{
[RemoteClass(alias="scalaDemo.vo.Book")]
public class Book
{
public var id:Number;
public var name:String;
public var authors:String;
}
}
GreetingService.as
package services
{
import mx.rpc.AsyncResponder;
import mx.rpc.AsyncToken;
import mx.rpc.remoting.RemoteObject;
public class GreetingService
{
protected var ro : RemoteObject = new RemoteObject ("greetingService");
public function sayHello (responder:AsyncResponder) : void {
var token : AsyncToken = ro.sayHello();
token.addResponder(responder);
}
public function getBook (name:String,responder:AsyncResponder) : void {
var token : AsyncToken = ro.getBook(name);
token.addResponder(responder);
}
}
}
的remoting-config.xml中
<destination id="greetingService">
<properties>
<source>scalaDemo.GreetingService</source>
<scope>application</scope>
</properties>
</destination>
我已经把tomcat下/ webapps /目录BlazeDS的/ WEB-INF/classes中(我使用BlazeDS的交钥匙服务器)
请帮我Scala类。
你得到了什么_do_?请提供更多关于当您尝试运行时会发生什么的信息。 – 2012-02-02 14:39:32
它发回一个vo.Book对象,id = Nan,authors = Null,name = Null – Jijo 2012-02-02 18:02:56