Apache CXF客户端和Collection类

时间:2011-01-14 15:33:34

标签: cxf

我需要从Web服务方法返回自定义类(FeedMetaData)对象的列表。当我从客户端调用此方法时,我收到了ClassCast Exception。

FeedMetaData是简单的bean类,包含3个String类型的字段。

以下是客户端代码:

Bus bus = new CXFBusFactory().createBus();
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(bus);
Client client = dcf.createClient("http://64.68.163.33:8080/socialkast-web/skservice/skservice?wsdl");
Object[] results = client.invoke("getCommecialFeeds");
List<FeedMetaData> result = (List<FeedMetaData>)results[0];

我调查了这个问题 https://issues.apache.org/jira/browse/CXF-2415

但看起来它只适用于类中只有java构建对象的列表。

任何人都尝试使用自定义类对象列表作为cxf Web服务方法的返回类型。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。这篇文章帮助我克服了这个问题:http://dhruba.name/2008/12/08/rest-service-example-using-cxf-22-jax-rs-10-jaxb-and-spring/

答案 1 :(得分:0)

我从SOAP服务返回一组自定义类。

我用maven wsdl2java创建了一个客户端,它运行正常。 wsdl2java为我创建了所有这些类(包括返回其列表的自定义类)。