使用 JAX-WS 2.0 和 @WebService 发布具有一个服务的多个端口
我想创建一个公开了多个端口类型的 SOAP 服务,其中每个端口类型都有一个单独的接口。我正在尝试使用 JAX-WS 2.0 执行此操作。
例:
interface A:
ObjectA get(String name);
interface B:
ObjectB get(String name);
Service:
port A
get
port B
get
我遇到的问题是,@WebService是使用单个类/接口定义的,所以我能够设置它的唯一方法是拥有两个单独的服务。每个服务由具有@WebService注释的单独类实现。
我想使用相同的服务公开两个端口,以清楚地表明它们都是同一API的一部分。这可能吗?
实际上,我所追求的是在 WSDL 中具有某种嵌套命名空间支持,因此我可以在不同的命名空间中使用相同的方法。我将为彼此相邻的不同类型的数据提供get/set/delete方法,但我宁愿不要将它们全部放在与getA / getB等相同的大接口中,因为我希望以后能够添加新的数据类型,而不会强制所有客户端从新的WSDL集重新生成。任何关于实现这一点的提示都是受欢迎的,即使这意味着使用另一种方式从java代码生成WSDL。