【问题标题】:CXF Restful web service with generic payload具有通用有效负载的 CXF Restful Web 服务
【发布时间】:2014-05-07 14:52:04
【问题描述】:

在 CXF 中有没有一种方法可以实现一个 Restful webservice,它可以使用一种 Web 服务方法接受不同的 xml 请求?

例如是否可以通过一种 Web 服务方法创建一个 Restful 端点来接受这种类型的 XML?

  <Data>
  <Book>BN1</Book>
  </Data>

& 这也使用相同的网络服务方法?

<Data>
  <Disk>DN1</Disk>
  </Data>

【问题讨论】:

    标签: rest cxf


    【解决方案1】:

    我认为这篇文章:Apache CXF: Consume XML POST payload... 展示了如何将 CXF REST 服务声明为接收 POST XML 数据的一个很好的示例。

    对于处理不同 XML 内容的示例,您将有一个 @XmlRootElement 即数据,而不是上面的“Bean”,而子级是 @XmlAnyElement

    【讨论】:

    • 谢谢 kevinjansz。我现在也在使用@XmlAnyElement。我想知道是否有可能在基于 CXF SOAP 的服务中使用类似于 MessageType 的东西作为 POJO、Payload 等。在基于 Soap 的服务中,整个消息以 XML DOM 文档的形式传递给非常强大且方便的 web 方法。
    【解决方案2】:

    好的,所以我将它用于通用 XML。

    public interface Callback {
    
        @POST
        @Path("/submit")
        @Consumes("text/xml")
        @Produces("application/xml")
        public Response submit(String incomingXML);
    
    
    }
    

    基本上,我在我的方法主体中将整个 xml 作为一个字符串,由于 CXF 没有解析它,它可以保持通用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      相关资源
      最近更新 更多