开发前的准备:
1:新建一个WEB项目如ECS
2:下载xfire-distribution-1.2.6.zip和xalan-j_2_7_1-bin-2jars.zip包,在本博客资源上都可以下载,将其解压
3:将xfire-distribution-1.2.6.zip下面的xfire-all-126.jar和其中lib所有jar加到web项目的lib文件夹下;将
xalan-j_2_7_0-bin.zip下面的xalan.jar 和serializer.jar也加到web项目的lib文件夹下
4:如果WEB-INF/lib下出现xbean-spring-2.2.jar和xbean-spring-2.8.jar,删除 xbean-spring-
2.2.jar ,不然会出现java.lang.NoSuchMethodError:
org.apache.xbean.spring.context.impl.MappingMetaData.getFlatCollectionProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
5:编写接口
package com.ecs.service; public String sayHello();
|
6:编写接口实现类
package com.ecs.serviceImpl;
public interface HelloWorldServiceImpl implement HelloWorldService {
public String sayHello(){
return "HelloWorld" ;
};
}
7:修改 services.xml,将 POJO 发布成 Web 服务
在WebRoot/META-INF/下新建xfire/service.xml ,并把META-INF目录移动到WEB-INF下即可.
在services.xml 文件中的 <beans …> 和 </beans> 元素中间加入如下的 xml 内容将上面创建的 HelloWorldService 发布成 Web 服务
<service>
<name>HelloWorldService</name>
<serviceClass>
com.ecs.service.HelloWorldService
</serviceClass>
<implementationClass>
. com.ecs.serviceImpl.HelloWorldServiceImpl
</implementationClass>
</service>
8:配置 XFire 框架运行所需的 Servlet
修改 web.xml 文件,在其中增加如下 Servlet 定义内容。
1、 <servlet>
2、 <servlet-name>XFireServlet</servlet-name>
3、 <servlet-class>
4、 org.codehaus.xfire.transport.http.XFireConfigurableServlet
5、 </servlet-class>
6、 </servlet>
7、
8、 <servlet-mapping>
9、 <servlet-name>XFireServlet</servlet-name>
10、 <url-pattern>/servlet/XFireServlet/*</url-pattern>
11、 </servlet-mapping>
12、
13、 <servlet-mapping>
14、 <servlet-name>XFireServlet</servlet-name>
15、 <url-pattern>/services/*</url-pattern>
16、 </servlet-mapping>
通过以上几个步骤,我们已经将新创建的HelloWorldService发布成了Web服务,我们可以使用下面的步骤测试一下创建的Web服务是否能够正常运行:
编译上面的步骤中创建的 Java 接口和类;
启动 TOMCAT 服务器。
等 TOMCAT 服务器完全启动后,打开浏览器,在地址栏中输入 http://localhost:8080/ECS/services/HelloWorldService?wsdl。
其中 HelloWorldServcie 是配置文件中 service/name 元素所定义的内容,”wsdl”参数表示查看该 Web 服务的 WSDL(Web服务描述语言)文件。
如果浏览器中出现如下红色的XML的内容,表示 Web 服务发布成功,我们可以编写客户端访问该 Web 服务从服务器获取返回字符串。