如何解决REST和嵌入式Jetty上的SOAP,SOAP可以单独工作,但是如果REST运行,则不能工作
我有一个嵌入式Jetty实现。我只能运行REST或SOAP。添加REST服务后,我的SOAP端点将不起作用。我有以下代码来设置SOAP,然后设置REST服务。 REST服务始终有效。
设置Jetty服务器
InetSocketAddress jettyAddress = new InetSocketAddress(tsConfig.getBindIp(),tsConfig.getPort());
Server server = new Server(jettyAddress);
server.setStopAtShutdown(true);
JettyHttpServer jettyServer = new JettyHttpServer(server,true);
final Executor executor = jettyServer.getExecutor();
if(executor != null) {
if (executor instanceof QueuedThreadPool) {
((QueuedThreadPool) executor).setName("td-jetty");
} else {
LOGGER.warn("Jetty executor is not of type QueuedThreadPool,but rather," + executor.getClass().toString());
}
}
ContextHandlerCollection collection = new ContextHandlerCollection();
server.setHandler(collection);
现在添加SOAP端点
Endpoint endpoint = Endpoint.create(retailPosIntegrationService);
endpoint.publish(jettyServer.createContext(tsConfig.getRetailPOSServiceV2().getResource()));
现在添加REST服务
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
ResourceConfig resourceConfig = new ResourceConfig().register(new VisaMobileIntegrationService(initializationSingletonBean));
ServletContainer servletContainer = new ServletContainer(resourceConfig);
context.addServlet(new ServletHolder(new ServletContainer(resourceConfig(initializationSingletonBean))),"/*");
server.setHandler(context);
谢谢。
解决方法
似乎我们只有一个端口并引起冲突。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。