我需要从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服务方法的返回类型。
答案 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为我创建了所有这些类(包括返回其列表的自定义类)。