먼저 제안 된 유사한 질문을 보았습니다 - 이것은 분명히 일반적인 문제이기 때문에 - 아직 답변을 찾지 못했습니다. 어디에서 잘못 됐습니까? 최신 JAXWS-RI를 다운로드하고 수동으로 모든 .jar 파일을 복사했습니다. 그리고 함께 web.xml을Jax-ws 전쟁은 전개하지만 바람둥이에 404를 제공합니다
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>HelloWorldTomcatService</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldTomcatService</servlet-name>
<url-pattern>/HelloWorldTomcatService</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
과 태양 jaxws.xml
<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
<endpoint name="HelloWorldTomcatService" implementation="com.myservice.ws.Hello" url-pattern="/HelloWorldTomcatService"/>
</endpoints>
및 몇 자바 파일
package com.myservice.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface WebServiceInterface {
@WebMethod
String printMessage();
}
package com.myservice.ws;
import javax.jws.WebService;
@WebService(endpointInterface = "com.myservice.ws.WebServiceInterface")
public class Hello implements WebServiceInterface{
@Override
public String printMessage() {
return "message";
}
}
내가 적절한 디렉토리 구조에 네 개의 파일을 배치 자갈길 eclipse에서 war 파일을 빌드하고 Tomcat webapps 폴더에 복사합니다. 전쟁이 폭발하여 관리자 콘솔에 표시되었지만 시작되지 않고 브라우저에서 전쟁에 액세스하려는 모든 시도가 실패합니다.
업데이트 : 여기
카탈 로그에서 제외하고이다.
24-Jun-2016 11:22:42.164 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/HelloWorldTomcatService]
24-Jun-2016 11:22:42.171 INFO [localhost-startStop-6] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.5\webapps\HelloWorldTomcatService.war
24-Jun-2016 11:22:42.261 SEVERE [localhost-startStop-6] org.apache.catalina.startup.ContextConfig.configureStart Marking this application unavailable due to previous error(s)
24-Jun-2016 11:22:42.262 SEVERE [localhost-startStop-6] org.apache.catalina.core.StandardContext.startInternal One or more components marked the context as not correctly configured
24-Jun-2016 11:22:42.262 SEVERE [localhost-startStop-6] org.apache.catalina.core.StandardContext.startInternal Context [/HelloWorldTomcatService] startup failed due to previous errors
24-Jun-2016 11:22:42.265 INFO [localhost-startStop-6] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.5\webapps\HelloWorldTomcatService.war has finished in 94 ms
24-Jun-2016 12:53:45.577 INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.startup.HostConfig.undeploy Undeploying context [/HelloWorldTomcatService]
24-Jun-2016 12:53:45.596 INFO [localhost-startStop-7] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.5\webapps\HelloWorldTomcatService.war
24-Jun-2016 12:53:45.665 SEVERE [localhost-startStop-7] org.apache.catalina.startup.ContextConfig.configureStart Marking this application unavailable due to previous error(s)
더욱 로그 :
22-Jun-2016 17:32:47.921 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.5\webapps\HelloWorldTomcatService.war
22-Jun-2016 17:32:48.036 SEVERE [localhost-startStop-1] org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml Parse error in application web.xml file at file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%208.5/webapps/HelloWorldTomcatService/WEB-INF/web.xml
java.io.FileNotFoundException: Could not resolve XML resource [null] with public ID [-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN], system ID [http://java.sun.com/j2ee/dtds/web-app_2_3.dtd] and base URI [file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%208.5/webapps/HelloWorldTomcatService/WEB-INF/web.xml] to a known, local entity.
at org.apache.tomcat.util.descriptor.LocalResolver.resolveEntity(LocalResolver.java:155)
at com.sun.org.apache.xerces.internal.util.EntityResolver2Wrapper.resolveEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntityAsPerStax(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1461)
at org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml(WebXmlParser.java:120)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1110)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:298)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5076)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
22-Jun-2016 17:32:48.051 WARNING [localhost-startStop-1] org.apache.tomcat.util.scan.StandardJarScanner.scan Failed to scan [file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%208.5/lib/hk2-core.jar] from classloader hierarchy
java.io.FileNotFoundException: C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.5\lib\hk2-core.jar (The system cannot find the file specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.jar.JarFile.<init>(Unknown Source)
at java.util.jar.JarFile.<init>(Unknown Source)
at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60)
at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:43)
at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:326)
at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:276)
at org.apache.catalina.startup.ContextConfig.processJarsForWebFragments(ContextConfig.java:1887)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1122)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:298)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5076)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
http://stackoverflow.com/questions/32059153/cannot-run-jax-ws-java-web-service-on-apache-tomcat와 유사하지만 동일하지는 않습니다. 파일이 올바른 위치에 있습니다. – user1958756
서비스에 액세스하는 데 사용하는 URL은 무엇입니까? – kolossus
@kolossus http : // localhost : 8080/HelloWorldTomcatService, http : // localhost : 8080/HelloWorldTomcatService/HellowWorldTomcatService 등이 있습니다. 또한 도움이되었는지 확인하기 위해 URL 패턴을 변경해 보았습니다. 홈페이지 및 관리자 업무, btw. – user1958756