我有一个使用maven在Tomcat 6下使用maven(2.0)在Java(1.6)中创建的Web服务。 在所有Web方法中,返回类型是通用的类:Unmarshal在列表上生成空字段<T>字段
public class WsResult<T> {
protected T result; // the actual result
protected Code requestState; // 0K, or some error code if needed
protected String message; // if error, instead of result, insert a message
}
例如:
public WsResult<OtherClass> someMethod(...);
public WsResult<Foo> someMethod_2(...);
而在客户端:
MyServiceService service = new MyServiceService();
MyService port = service.getMyServicePort();
WsResult result = port.someMethod(...);
OtherClass oc = (OtherClass) result.getResult();
WsResult res = port.someMethod_2(...);
Foo o = (Foo) res.getResult();
在一些网络方法,它正在工作。 但是,如果结果是具有List<? class>
属性的类,则无法取消编组。
该项目是一个最大的项目的一部分。所以出于测试目的,我创建了一个新的,更简单的,只是项目,使用相同的数据模型,并复制其中一个Web方法,在这种情况下,它的工作,并在解组后,我有一个结果,我可以投到预期类型。
会发生什么情况?
编辑:
答案是一个解决方案是,但生成用于添加到该字段声明中的每个类型的吸气剂。 有没有更好的方法?
你能从测试项目中发布相关片段吗? – 2011-05-24 13:27:35
对不起,现在只是评论,但我很忙。使用示例编辑帖子。 – 2011-05-25 11:21:05