CXF多个实现者用于一个地址

时间:2011-07-11 10:44:42

标签: web-services cxf

是否可以让多个实现者只有一个地址? 如下所示:

<jaxws:endpoint id="ws1" implementor="#ws1" address="/ws" />
<jaxws:endpoint id="ws2" implementor="#ws2" address="/ws" />

由于 --MB

1 个答案:

答案 0 :(得分:0)

我假设您有一个拥有大量操作的巨大端点。如果您执行收缩第一次开发,CXF将为每个端点创建一个类,每个操作包含一个方法。我相信这是唯一的方法。但是,您可以将此端点类仅用作外观,委派给几个专门的类(每个操作一行,即它)。

当然,你总是可以重构你的WSDL以拥有多个端点,但可能这不是你的选择。据我所知,没有办法将实现分成几个类,该类必须完全实现WS接口。

在Spring WS中,任何方法都可以通过在注释为@PayloadRoot的类中使用@Endpoint注释来处理SOAP请求。这看起来像是一个很棒的功能,因为你可以在任意数量的类中跨越实现(甚至每个SOAP操作一个类!)