2012-11-05 36 views
3

发布两个Web服务我有关部署Web服务的一个简单的问题。目前我有两个端点,见下图:在同一地址

Endpoint.publish("http://localhost:8000/eCalcWS/eCalc", new eCalc()); 

Endpoint.publish("http://localhost:8001/eCalcWS/eCalc_service", new eCalc_service()); 

是否有可能有相同地址的两个网络服务?我会怎么做?

+1

为什么你想在同一地址的两个Web服务器?您如何计划差异化,以确保获得您想要的服务? – mabako

+0

我只想在同一个地址上发布两个不同的类。 –

回答

2

可惜你不能你想要的方式。
设计是每个端点都与Web服务实现者相关联。
spec

端点类可用于创建和发布Web服务 端点。端点由充当网络 服务实现(这里称为实现者)的对象加上一些 配置信息,例如中绑定

和发布(我的重点):

发布(字符串的地址,对象实现者)
创建并发布端点对于给定的实现者。根据提供的地址的URL方案(其必须是 的URL),默认情况下,该绑定选择为 。如果找到合适的结合如果端点创建然后 公布仿佛Endpoint.publish(字符串地址)方法已经 调用。然后创建的端点将作为 方法的值返回。

我记得我也遇到这样的问题相当一段时间回来这是非常糟糕的,因为我需要与不同的URL 2-3个不同的实现联系起来,这是不可能的(有地址已经绑定错误)。
我回想起来的方式是创建自己的调度程序。
我发布了一个端点,接受多个端点的Web服务请求,并将请求分派给相应的实现。我直接在SOAP消息上工作。
但是这对我来说是可能的,因为xml消息非常简单而且很少。
为了你我会建议在不同的终端来发布,如果你的Web服务实现是不平凡的,并具有复杂的消息,并期待很多客户为终点真的只是部署引擎盖下简单 HTTP服务器。