Развертывание веб-службы Java без использования веб-сервера
Можно развернуть созданный мной веб-сервис на любом ПК без установки какого-либо приложения веб-сервера, например: tomcat? Я хочу сделать это как агент / плагин на любом ПК. Чтобы получить доступ к веб-сервисам, мне нужно получить доступ только к http://:8080/web_service. Любое предложение по этому поводу?
9 ответов
Даже легче, чем запуск Jetty, вы можете использовать встроенный в Java HttpServer.
Вам понадобится написать собственный код для разбора данных запроса, но это, безусловно, выполнимо.
http://blogs.operationaldynamics.com/andrew/software/free-java/sun-secret-webserver.html
Тот же вопрос с Lightweight Webservice, производящим на Java (без сервера приложений)
javax.xml.ws.Endpoint.publish("http://localhost:8000/myService/", myServiceImplementation);
Посмотрите на Apache CXF. Он может использовать причал для автономных веб-сервисов. Он интегрируется с Spring, что позволяет легко добавлять веб-сервис просто как Spring-bean с очень небольшим дополнительным кодом.
Вам нужно что-то прослушивать для http-соединения. К счастью, в Java 6 есть все, что вам нужно во время выполнения по умолчанию.
Посмотри на:
http://hofmanndavid.blogspot.com/2008/11/easiest-way-to-publish-java-web.html
Вы упоминаете Tomcat как пример того, что вы не хотите делать, но Tomcat можно запустить во встроенном режиме, когда он запускается изнутри вашего приложения:
http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/startup/Embedded.html
Сказав это, я бы порекомендовал Jetty, он более легкий, чем Tomcat.
Я думаю, что веб-службы Spring могут быть настроены для работы на "поддельном" веб-сервере - об этом наверняка есть обсуждение на весеннем форуме веб-служб (мне нужно то же самое, но в итоге я использовал веб-сервер из-за других проблемы)
Я следовал этому довольно простому уроку, и он делает то, что вы хотите
http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/
Кажется, что платформа Java SE 6 имеет небольшой сервер веб-приложений, который будет публиковать веб-сервис во время работы JVM.
Идеальное решение здесь от IBM
https://www.ibm.com/developerworks/webservices/tutorials/ws-jse/