Servlets + JAX-WS

5
我正在尝试通过JAX-WS注解公开一个Web服务方法。许多示例都引用了EndPoint.publish()方法,以快速在独立应用程序中启动服务(例如来自《Java Web Services: Up and Running, 1st Edition》的示例):
public class TimeServerPublisher {
public static void main(String[ ] args) {
  // 1st argument is the publication URL
  // 2nd argument is an SIB instance
  Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());
}

我想知道如何在现有的应用程序中实现类似的功能。我需要创建一个servlet来处理这个问题吗?将此服务发布在现有的WAR文件中的正确方法是什么?

3个回答

4

3

1

正如@Jerrish和@andri的评论所述,根据您的关注点,有不同的方法和解决方案。

其背后的想法是,在发布Web服务时,您无需设置配置(端口等)。最好的方法可能是通过配置文件(XML、属性等)或使用@Annotations来设置。

例如,如果您习惯使用像Guice或Spring这样的框架,您就知道可以/建议在发布或初始化某些对象、工厂、数据源等应用程序上下文时启动,并且发布Web服务是另一个可以在此时完成的任务,因为当您启动应用程序时,它将可用,不是吗?。

顺便说一句,我对CXF有很好的经验,另一个解决方案可能是Spring Web Services,这是创建Web服务的另一个强大解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接