网址访问服务器时,会抛出下面的异常:
Exception:
javax.servlet.ServletException: Error initializing XFireServlet.
root cause:
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/xfire/services.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
然后是web.xml文件,在项目已有的web.xml文件基础上修改一下就可以。修改后的最终内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
到这里第一部分的所有步骤已经完成,打开Tomcat,在服务器上运行这个动态web项目。输入网址http://localhost:8080/WSProject/services/HelloService?wsdl,如果正确发布,会得到如图一中显示的wsdl文档。
图一
以后要访问这个web服务的wsdl文件,只需要把Tomcat打开,然后输入上面的网址就可以了,这在第二部分创建客户端访问web服务时要用到。好了,web服务的发布就完成了。