Я пытаюсь создать веб-службу на основе оси с валом для обеспечения безопасности, и я надеялся развернуть одну войну на tomcat, а не устанавливать ось и развертывать ее внутри оси. (Хотя я не зациклен на этом... это все очень новая для меня территория, поэтому я мог бы использовать любые ваши отзывы.)
Я столкнулся с несколькими проблемами:
mvn jetty:run
работает нормально -- я могу использовать веб-службу и получать wsdl, нажимая URL-адрес моих служб с добавлением ?wsdl в конце (например: http://localhost:8080/webservice/services/ResultService?wsdl "webservice" — это имя этого проекта), однако mvn jetty:run-war не работает , если только я сначала вручную не скопирую Rampart-1.4.mar и rahas-1.4.mar в каталог WEB-INF/lib. Если этого не сделать, то jetty:run-war создаст серию исключений о недоступных модулях валов, и при нажатии того же URL-адреса wsdl, что и выше, будет возвращена пустая страница. (вообще никакого контента, хотя это должен быть хороший кусок wsdl) Вот трассировки стека: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=12058#a12058Независимо от расположения файлов mar в сгенерированной войне, мне никогда не удавалось заставить tomcat правильно обслуживать веб-службу. Он не выводит ничего примечательного в журнал (только ИНФОРМАЦИЯ о том, что веб-приложение было развернуто), и для приведенных выше URL-адресов не предоставляется wsdl. http://localhost:8180/infoassist/services/ResultService?wsdl ничего не возвращает. («infoassist.war» — это имя сгенерированной войны, поэтому URL-адрес отличается от URL-адреса причала)
Если я запрашиваю URL-адрес, который не заканчивается на ?wsdl, я получаю исключение оси в браузере. Вероятно, это нормально — это происходит даже при запуске функционального сервера jetty:run, и я пока не ожидаю «настоящего» вывода в браузере, поскольку все, что я делал до сих пор, — это просто тестирование мыла. Однако это указывает на то, что ось используется с Tomcat, поэтому по крайней мере некоторые зависимости войны работают:
org.apache.axis2.AxisFault: The service cannot be found for the
endpoint reference (EPR) /infoassist/ at
org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
at org.apache.axis2.engine.Phase.invoke(Phase.java:334) at
org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251) at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160) at
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:838)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:262)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
Я действительно хватаюсь за соломинку здесь - любая помощь будет очень признательна, и, конечно, я могу предоставить гораздо больше деталей, я просто не знаю, что будет полезно.