Ответ: Я знаю, что это не то, что подходит для разрешения, но я возился с файлами web.xml и servlet.xml, и по какой-то причине это работает сейчас, я могу получитьсписок сервисов и файлы wsdl просто отлично.Я сравнил свои новые файлы со старыми, написанными ниже, и единственное отличие состоит в том, что web.xml имеет имя CXFServlet вместо LoginService, и я дал конечной точке cxfservlet.xml адрес сейчас.
IУ меня возникла проблема, когда я (наконец-то) сделал развертывание веб-сервиса CXF на Tomcat.Или, скорее, он запускается и не выдает никаких предупреждений или исключений в журнале Tomcat при развертывании и повторном развертывании.Проблема в том, что я не могу получить WSDL рассматриваемой службы.Я начинаю думать, что я не понимаю файлы web.xml и cxf.xml так, как я думал.
Когда я пишу http://localhost:8080/services/Login?wsdl, я ожидаю, что WSDL появится,но все, что я получаю, это 404. Что я делаю не так?Как я уже сказал, я не получаю никаких исключений, так в чем же моя проблема?
Редактировать: Из-за некоторых полезных отзывов (которые я помнил, чтобы пометить как полезные), я понял, что, возможно, неправильно установил контекстный путьмой web.xml.Я разворачиваю службу через приложение менеджера в Tomcat в файле с именем LoginService.war.Возникает вопрос: могу ли я это сделать?Будет ли tomcat знать, искать ли класс CXFServlet в библиотеке LoginService, или он будет выглядеть в ROOT?Нужно ли перенастроить сервер, чтобы он мог запускаться с http://localhost:8080/LoginService?
web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>LoginService</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:metadata/Login/cxfservlet.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>LoginService</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginService</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
cxfservlet.xml
<beans xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org
/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:endpoint id="LoginService"
implementor="orgserver.services.Login" wsdlLocation="WEB-INF/LoginService.wsdl"
address="/">
</jaxws:endpoint>
</beans>