XFire入门

  1. package org.codehaus.xfire.demo;
  2. public interface BookService
  3. {
  4.     public String  getBooks();
  5. }

 

 

 

 

  1. package org.codehaus.xfire.demo;
  2. public class BookServiceImpl implements BookService
  3. {
  4.     
  5.    
  6.     public String getBooks() 
  7.     {
  8.         return "bbbb";
  9.     }
  10.     
  11. }
  12.   

 

 

 

classes下的META-INF/xfire/services.xml的内容:

 

  1. <!-- START SNIPPET: services -->
  2. <beans xmlns="http://xfire.codehaus.org/config/1.0">
  3.   <service>
  4.     <name>BookService</name>
  5.     <namespace>http://xfire.codehaus.org/BookService</namespace>
  6.     <serviceClass>org.codehaus.xfire.demo.BookService</serviceClass>
  7.     <implementationClass>org.codehaus.xfire.demo.BookServiceImpl</implementationClass>
  8.    </service>
  9. </beans>

 

 

 

web.xml

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!-- START SNIPPET: webxml -->
  3. <!DOCTYPE web-app
  4.     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  5.     "http://java.sun.com/dtd/web-app_2_3.dtd">
  6.     
  7. <web-app>
  8.   <servlet>
  9.     <servlet-name>XFireServlet</servlet-name>
  10.     <display-name>XFire Servlet</display-name>
  11.     <servlet-class>
  12.         org.codehaus.xfire.transport.http.XFireConfigurableServlet
  13.     </servlet-class>
  14.   </servlet>
  15.   <servlet-mapping>
  16.     <servlet-name>XFireServlet</servlet-name>
  17.     <url-pattern>/servlet/XFireServlet/*</url-pattern>
  18.   </servlet-mapping>
  19.   <servlet-mapping>
  20.     <servlet-name>XFireServlet</servlet-name>
  21.     <url-pattern>/services/*</url-pattern>
  22.   </servlet-mapping>
  23. </web-app>
  24. <!-- END SNIPPET: webxml -->

部署在tomcat上,端口为8080,应用为xfire,使用以下的客户端代码访问。

 

Client代码:

 

  1. import java.net.MalformedURLException;
  2. import java.rmi.RemoteException;
  3. import javax.xml.rpc.ServiceException;
  4. import org.apache.axis.client.Call;
  5. import org.apache.axis.client.Service;
  6. public class Client {
  7.     /**
  8.      * @param args
  9.      */
  10.     public static void main(String[] args) {
  11.         Service service = new Service();
  12.         // TODO Auto-generated method stub
  13.         String endpoint = "http://localhost:8080/xfire/services/BookService";
  14.         Call call;
  15.         try {
  16.             call = (Call) service.createCall();
  17.             call.setTargetEndpointAddress(new java.net.URL(endpoint));
  18.             call.setOperationName("getBooks");
  19.             String xml = (String) call.invoke(new Object[0]);
  20.             System.out.println(xml);
  21.         } catch (ServiceException e) {
  22.             // TODO Auto-generated catch block
  23.             e.printStackTrace();
  24.         } catch (MalformedURLException e) {
  25.             // TODO Auto-generated catch block
  26.             e.printStackTrace();
  27.         } catch (RemoteException e) {
  28.             // TODO Auto-generated catch block
  29.             e.printStackTrace();
  30.         }
  31.     }
  32. }

OK!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值