如何使用Eclipse/AXIS2POJO服务返回任意XML文档?
有关完整的背景详细信息,请参阅此问题:Java Web Service returns string with > and < instead of > and <
为了部署web服务,我有一个动态web项目,其中包含一个定义我的服务接口的类。我关心的方法返回一个字符串类型。要创建和部署web服务,我右键单击该类(包含在动态web项目中)并选择create Web service,在这里我指出我想要一个“自下而上的Java bean web服务”,并且服务实现来自于我的动态web项目中的类。这将启动我的服务并创建一个WSDL,其中包含我的端口和端点的定义。
wsdl的类型部分是根据将成为服务的代码自动生成的。intrest的函数有一个org.w3c.DOM.Document,它包含我想要返回的XML。此文档将转换为字符串并返回,因为Document对象未序列化且没有公共构造函数。是否有其他类型可以用作我的函数的返回类型,它将在整个服务调用过程中保存XML结构?
发布于 2011-10-25 02:02:29
我不认为通过你正在使用的技术和流程可以做到这一点。
理想情况下,您可以只返回一个org.w3c.dom.Document
(或框架中类似的DOM对象),它将在WSDL中提供"any“类型,但不幸的是,它似乎不是这样工作的。AXIS2是强类型的,需要用于请求和响应数据的数据绑定技术(例如ADB、XmlBeans、JiBX,可能还有JAXB)。它似乎通过AXIOM services支持<xsd:any>
和<xsd:anyType>
元素,但这是一种与您使用的不同的实现风格。
查看这个有趣的讨论。另外,这里还有一个相关的SO问题,AXiS2 - Problem in returning the String value. < and > are getting converted to < and >
https://stackoverflow.com/questions/7877515
复制相似问题