java - 以编程方式启动 axis2 服务

标签 java web-services axis2

我正在以编程方式在 Axis 2 (1.5) 中启动服务,如下所示:

ConfigurationContext context = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);

AxisConfiguration cfg = context.getAxisConfiguration();
Map<String, MessageReceiver> mrMap = new HashMap<String, MessageReceiver>();
mrMap.put("http://www.w3.org/ns/wsdl/in-only", RPCInOnlyMessageReceiver.class.newInstance());
mrMap.put("http://www.w3.org/ns/wsdl/in-out", RPCMessageReceiver.class.newInstance());

AxisService service = AxisService.createService(MonitorWebService.class.getName(), cfg, mrMap, "", "http://samples", MonitorWebService.class.getClassLoader());
service.setScope("application");
cfg.addService(service);
SimpleHTTPServer server = new SimpleHTTPServer(context, 8080);
server.start();

通过此设置,服务仅在第一个操作请求到达时创建 - 我如何强制 axis 立即构建服务?

更新:我试过使用 deployService() 而不是 cfg.addService(),这会立即启动服务。但是,当第一个请求进入时,会创建另一个服务实例,所以这也不好。

最佳答案

一种俗气的方法是让代码在您启动服务后立即调用服务。

关于java - 以编程方式启动 axis2 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1491438/

相关文章:

java - jMonkey 和 Nifty 中的线程?

java - 使用 -d64 选项调用它时的 JVM 性能

javascript - 如何使用 ASP.NET Web 服务仅刷新 ASP.NET 4.0 网页的一小部分而不编辑任何其他部分

java - Apache Axis2/Rampart + Maven

java - 在 axis2-wsdl2code-maven-plugin 中设置 -Eosv 属性

java - Netty 支持 IBM JDK 吗?

java - 如何使用expectNew作为带有泛型参数的构造函数?

java - 当我在字符串中插入此 XML Soap 请求时,为什么 Eclipse 会给出错误?

java - 网比 : How to create a web service client that consumes a SSL protected Metro service?

java - 生成 web 服务客户端时 Apache 意外的子元素异常