Web services 使用ApacheCXF从数据库表返回记录

Web services 使用ApacheCXF从数据库表返回记录,web-services,cxf,Web Services,Cxf,我正在使用apachecxf(Apache-CXF-2.5.0)使用自底向上的方法(Java优先方法)创建Web服务。我想从数据库表返回一些数据/记录(例如,用户名、电子邮件)。我可以编写一个返回简单响应的Java类。但我无法找到返回响应的方法,例如从数据库表中提取的数据/记录。如何做到这一点?您没有提到如何访问数据库,但基本思想是确保返回的类上有JAXB注释(特别是or),这允许CXF将这些类的实例转换为XML文档片段。以这种方式注释的类可能不应该有很多功能;它们的存在只是为了保存数据。(考虑

我正在使用apachecxf(Apache-CXF-2.5.0)使用自底向上的方法(Java优先方法)创建Web服务。我想从数据库表返回一些数据/记录(例如,用户名、电子邮件)。我可以编写一个返回简单响应的Java类。但我无法找到返回响应的方法,例如从数据库表中提取的数据/记录。如何做到这一点?

您没有提到如何访问数据库,但基本思想是确保返回的类上有JAXB注释(特别是or),这允许CXF将这些类的实例转换为XML文档片段。以这种方式注释的类可能不应该有很多功能;它们的存在只是为了保存数据。(考虑到复杂的生命周期,我发现任何其他东西都太令人困惑了。)一旦注释就位,只需返回相关对象,所有转换就会自动进行

我讲的是这样一个简单的课程:


@XmlRootElement//谢谢你的回答。我正在创建基于SOAP的CXF(apache-CXF-2.5.0)Web服务。它从Java类创建WSDL(Java优先方法)。我必须用肥皂,不能用REST。我正在使用ResultSet从数据库检索数据。数据大约有5列,超过100行。现在我想把这些数据发送到Android客户端。我正在考虑将ResultSet转换为ArrayList,并将ArrayList/List对象作为SOAP Web服务的响应发送。我的问题是-是否可以从SOAP Web服务发送列表对象作为响应。如果是,请给我提供这样一个例子的链接。@waprau:如果它是一个对象列表,所有对象都用适当的JAXB注释进行了标记,那么是的。主要问题将是确保它可能包含的所有具体类型都在WSDL中描述,以便客户机知道如何为它们提供工具;除了有一个单独的方法返回每个类的单个对象(或者一个超类,带有一些
@xmlseealway
magic)之外,我还没有找到一个好的答案。是否可以为SOAP Web服务使用JAXB注释?@waprau:我认为您不能(有效地)将它们放在支持JAXWS的方法上,但是您可以将它们放在返回的对象的类上。我不记得在
Foo
上放置返回类型为
List
时它们是否有效(它们本身有效,但可能不会被拾取)。谢谢您的回复。这是否意味着它不适用于soapweb服务?如果它不适用于SOAP Web服务,那么从SOAP Web服务返回此类结果集的解决方案是什么?再次感谢。