单端点上的多个Web服务实现者

时间:2014-04-01 14:45:18

标签: java web-services jax-ws

我有以下类来实现接口并发布端点。

SayHelloImpl.java

@WebService(endpointInterface = "com.suture.self.wsdl.SayHello")
@HandlerChain(file = "handler-chain.xml")
public class SayHelloImpl implements SayHello {
    ...
    ...
}

EndpointPublisher.java

public class EndpointPublisher {

    public static void main(String[] args) {
        Endpoint.publish("http://sutureself.com/greeter", new SayHelloImpl());
    }
}

目前,它完全适用于SayHello,但现在我想添加另一个Web服务,SayGoodbye(下图)

SayGoodbyeImpl.java

@WebService(endpointInterface = "com.suture.self.wsdl.SayGoodbye")
@HandlerChain(file = "handler-chain.xml")
public class SayGoodbyeImpl implements SayGoodbye {
    ...
    ...
}

我现在如何使用两个(或更多)实现者发布端点?我已经尝试在一个类中实现两个接口,这很好,但是接口的数量可能会增长,这可能会很快变得混乱。理想情况下,我想在单个类中实现单个接口。

1 个答案:

答案 0 :(得分:0)

您可以在WebService中定义多个WebMethod。

@WebService
@HandlerChain(file = "handler-chain.xml")
public class WSImpl implements SayHello, SayGoodbye {
    ... // impl SayHello methods
    ... // impl SayGoodBye methods
}

Endpoint.publish("http://sutureself.com/greeter", new WSImpl());