java - 在运行时修改 AMF 响应 - 如何操作?

标签 java apache-flex jakarta-ee flex3 blazeds

我构建了一个简单的 Flex 应用程序(使用 BlazeDS),它通过使用 Flex 远程处理调用 Java 服务来显示“Person”详细信息。 所以,我的 Person 类看起来像这样:

class Person {
public int age;
public String name;
}

作为一名java开发人员,我的理解是: 当我在 web 应用程序中运行前端 Flex 应用程序时,会执行 RPC 调用,BlazeDS 会努力调用正确的方法、获取结果作为对象、将对象转换为 AMF 格式(序列化)。然后,Web/应用程序服务器通过 http 将此响应发送回请求应用程序。 Flex 应用程序现在执行反序列化以 AMF 格式接收的对象并以某种方式使用它的任务。

这是我的问题: 我想在响应到达 Flex 应用程序之前通过修改 person 对象的属性来修改响应。我有一个过滤器来执行此操作。但是,我不确定如何反序列化 AMF 流、修改对象、将对象序列化回流/以某种方式重建流。

有办法做到这一点吗?我应该从哪里开始?

PS 如果问题太困惑,这里有一个较短的版本: 在使用 java 过滤器到达 Flex 应用程序之前,如何修改内容类型 AMF-X 的响应流?

最佳答案

自行序列化和反序列化 AMF 并不容易,所以一定要避免这种情况。更好的方法是在后端代码中将数据转换为正确的格式。从 Flex 中调用后端的服务方法,然后获取数据并将其转换为正确的对象结构,然后再将其发送回 Flex。

关于java - 在运行时修改 AMF 响应 - 如何操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1831476/

相关文章:

java - 如何在java中比较字符串数组列表值和数组字符串值

Java 枚举自动生成 getInstance 方法?

apache-flex - 有谁知道我还能在哪里下载 flex 3.5 sdk?

java - 如何从java应用程序中的类文件复制方法

java - 数据传输对象

java - JpaSystemException - 无法设置字段值 [auditEntity] 扩展扩展实体

java - Remoteclass 类类型缺失

performance - AS3 中的快速 RSA 加密

java - 命名内容存储库中的节点

java - 为什么 Event.fireAsync() 需要 @ObservesAsync 注释?