废话不多说啦,下面是我使用Xfire创建第一个WebService程序的过程,客户端具体的使用还在研究中。
准备工作:
需要引入xfire jar包:
下载地址:http://xfire.codehaus.org/Download
下载xfire-all-1.2.6.jar就ok。
导入jar包之后
1、在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">
<!-- webservice start -->
<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>
<!-- webservice end -->
</web-app>
2、定义接口:
package com.lissdy.webservice;
public interface HelloWorld {
public String hello(String name);
}
3、实现接口:
package com.lissdy.webservice;
public class HelloWorldImp implements HelloWorld{
public String hello(String name) {
if(name==null){
return "hello guest";
}
else{
return "hello"+name;
}
}
}
4、 在META-INF目录中创建xfire目录,再xfire目录中创建services.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloWorld</name>
<namespace>http://localhost:8080/webservice</namespace>
<serviceClass>com.lissdy.webservice.HelloWorld</serviceClass>
<implementationClass>com.lissdy.webservice.HelloWorldImp</implementationClass>
</service>
</beans>
5、将META-INF整体复制到WEB-INF中的class目录下面
结构如下图所示:
我的eclipse里面看不见WEB-INF中的class目录,直接打开文件夹进行拷贝也可以,不然会报错如下:
[META-INF/xfire/services.xml] cannot be openedbecause it does not exist
6、使用tomcat发布,在访问地址后面加上services,我的访问地址为:
http://localhost:8080/webservice/services
点击进入之后看到xml文件,本地就发布成功了。
点击wsdl,显示界面如图: