【发布时间】:2014-09-09 11:29:40
【问题描述】:
所以我有 2 个实现,Impl1 和 Impl2,一个 Web 服务接口类。我想在相同的域和端口下发布,但使用不同的 URL:
http://some.domain.asd/ws1 和 http://some.domain.asd/ws2
显然,我应该能够创建一个配置,其中我有 2 个端点,每个实现一个,绑定到单个 Web 服务器实例。
请注意,我不是在部署而是使用 Java 7 内部发布机制。 我注意到,而不是调用
Endpoint.publish(URL, new Implementor());
直接发布web服务,我可以调用
Endpoint ep = Endpoint.create(new Implementor());
ep.publish(serverContext);
在特定的 serverContext 上发布实施程序。这样的 serverContext 到底是什么,我该如何使用它?我注意到publish 方法实例化了一个javax.xml.ws.spi.Provider 类并将其用于发布目的。但这显然不是我想要的。理想情况下,我想要一个类似于这样的解决方案:
Object serverContext = new Server(URL);
Endpoint impl1 = Endpoint.create(new Impl1());
Endpoint impl2 = Endpoint.create(new Impl2());
impl1.publish(serverContext);
impl2.publish(serverContext);
这甚至可以使用内置发布系统来完成,也许使用EndpointReferences 对象?或者我是否需要使用 Web 服务容器来单独部署我的 Endpoints?
【问题讨论】:
标签: java web-services jax-ws publish built-in