调用远程Java方法,该方法将java.lang.Object作为Resin中的参数

时间:2011-09-16 04:12:52

标签: java java-ee resin

我在一个项目中使用树脂。到目前为止,除了一个小问题之外还好吗?

我创建了一个泛型方法,它将任何Object作为唯一参数,但是当我调用该方法时,它会查找方法名称,但使用不同的参数类型,当然还有传递的对象类型。

我不确定Resin或任何其他Application Server是否可以实际执行此操作,或者我是否在此处制作了一个错误?

我正在使用Objective-j / Cappuccino开发前端,我正在通过CP2JavaWS映射远程Java方法。

基本上在Objective-J中我声明了这样的东西:

-(CPString) updateQuote:(id)modifiedQuote
    {}

我不需要实现它,只需声明它。

然后在我的WebApp中,我声明并实现了这样的方法:

public String updateQuote(Object modifiedQuote)
        {
      // implementation
        }

然后在前端我调用这样的方法:

[DBManagerRemoteService updateQuote:aObject delegateRespHandler:@selector(success:) delegateFailHandler:@selector(failed:)];

问题是aObject是CYQuote类的一个实例,所以当我调用远程方法时,它似乎没有找updateObject(java.lang.Object)而是寻找未声明或实现的updateObject(com.myApp.services.CYQuote) 。当然,我可以为每个类实现一个方法,但我的目标是创建一个通用的更新方法。

1 个答案:

答案 0 :(得分:0)

我必须回答自己并为我的废话问题造成的任何不便表示歉意。该问题与Resin或任何Web应用程序服务器无关。 CP2JavaWS基于传递的对象创建Http请求,因此我修改它以接受一些额外的参数。