pasckr 发表于 2016-5-12 18:14:09

Java web Service 引擎 Xfire 图文教程






              http://img10.3lian.com/edu201302/f/f101/201301/49549cdcd7a59fe0324bb844beb87108.png
1、给web项目添加web service支持,web.xml文件会自动修改。
<SERVLET-NAME>XFireServlet</SERVLET-NAME><SERVLET-CLASS>org.codehaus.xfire.transport.http.XFireConfigurableServlet</SERVLET-CLASS><LOAD-ON-STARTUP>0</LOAD-ON-STARTUP><SERVLET-MAPPING><SERVLET-NAME>XFireServlet</SERVLET-NAME><URL-PATTERN>/services/*</URL-PATTERN></SERVLET-MAPPING>2、 创建对外提供的服务接口和实现类
  接口:HelloService
package com.xaccp.service;public interface HelloService {      public String sayHello(String name);}  实现类:HelloServiceImpl
package com.xaccp.service;public class HelloServiceImpl implements HelloService {      public String sayHello(String name) {                System.out.println(&quot;来自客户端的用户:&quot; + name);                return &quot;服务器说你好:&quot; + name;      }}3、 发布服务
http://img10.3lian.com/edu201302/f/f101/201301/eb1cb8a2069291eeb637315a785e4238.png http://img10.3lian.com/edu201302/f/f101/201301/22751a600a4a7b04c932945cd10b5b0f.png http://img10.3lian.com/edu201302/f/f101/201301/c35b39e9ef9d26de86bc74f3d87eb73e.png  上面发布后 services.xml 就发生下面的变化
<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?><beans xmlns=&quot;http://xfire.codehaus.org/config/1.0&quot;>      <service>                <name>Hello</name>            <serviceClass>com.xaccp.service.HelloService</serviceClass>                <implementationClass>                     com.xaccp.service.HelloServiceImpl                </implementationClass>                <style>wrapped</style>                <use>literal</use>                <scope>application</scope>      </service></beans>  到此服务器端就ok了,测试一下是否ok,发布服务到Tomcat;启动Tomcat,访问:http://localhost:8080/helloService/services,出现如下信息说明发布成功
http://img10.3lian.com/edu201302/f/f101/201301/350ba97d85592ac9dd5d05d14e905793.png4、 客户端
  创建web项目(需要添加xFire包)或webService项目,需要服务器提供接口:
测试类:
public static void main(String[] args) {// 创建服务的元数据Service serviceModel = new ObjectServiceFactory().create(HelloService.class);// 创建服务的代理XFire xfire = XFireFactory.newInstance().getXFire();XFireProxyFactory factory = new XFireProxyFactory(xfire);// 指定服务的地址 应用程序地址+&ldquo;/services/&rdquo;+服务名称String serviceUrl = &quot;http://192.168.0.98:8080/helloService/services/Hello&quot;;HelloService client = null;try {// 创建服务的对象client = (HelloService) factory.create(serviceModel, serviceUrl);// 调用服务String res = client.sayHello(&quot;哈哈&quot;);System.out.println(res);} catch (MalformedURLException e) {System.out.println(&quot; &quot; + e.getMessage());}}  本文由北大青鸟论坛投稿,原文地址:http://www.beiniao.net/thread-3174-1-1.html
页: [1]
查看完整版本: Java web Service 引擎 Xfire 图文教程