0

我在 localhost:8080 上运行了一个 Tomcat 服务,并且我已经安装了 BlazeDS。我创建并配置了一个像这样的简单 hello world 应用程序......

package com.adobe.remoteobjects;
import java.util.Date;
public class RemoteServiceHandler {
public RemoteServiceHandler()
{
//This is required for the Blaze DS to instantiate the class
}
public String getResults(String name)
{
String result = “Hi ” + name + “, the time is : ” + new Date();
return result;
}
}

我可以使用什么查询字符串通过浏览器调用 RemoteServiceHandler 到我的 Tomcat 实例?像... http://localhost:8080/blazeds/?xyz

4

2 回答 2

1

不幸的是你不能。首先,请求(和响应)在 AMF 中编码,其次我相信它们必须是 POST。如果您仔细研究 BlazeDS 源代码和 Flex SDK 的 RPC 库,您可能会弄清楚它发送的是什么。但是 AFAIK 这在其他任何地方都没有记录。

于 2009-09-29T20:10:25.990 回答
0

我认为 AMFX(它是 XML 中的 AMF)会为你工作,使用 HTTPChannel 而不是 AMFChannel。

来自http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcarch_2.html#1073189频道和频道集

Flex 客户端可以使用不同的通道类型,例如 AMFChannel 和 HTTPChannel。频道选择取决于许多因素,包括您正在构建的应用程序的类型。如果需要非二进制数据传输,您将使用 HTTPChannel,它使用一种称为 AMFX(XML 中的 AMF)的非二进制格式。有关通道的更多信息,请参阅通道和端点。

这样您就可以使用简单的 netcat 来发送请求。但是不确定如何处理身份验证,您可能需要使用 Flash 登录,提取身份验证 cookie,然后将其作为请求的一部分提交。

一旦您取得进展,请更新此线程,以便我们都可以学习。

于 2010-04-11T15:06:53.660 回答