【发布时间】:2011-04-07 21:20:21
【问题描述】:
我想创建一个公开了多种端口类型的 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 的方式。
【问题讨论】:
标签: java web-services soap jax-ws