zoukankan      html  css  js  c++  java
  • xfire构建webservice项目步骤以及使用

    简单搭建xfire开源软件的webservice开发及其步骤: 

    1、创建好一个web工程,引入xfire下的jar包,注意lib下的和xfire-all.jar 
    2、定义接口; 
    Java代码  收藏代码
    1. package com.iteye.webservice;  
    2. public interface IHelloService {  
    3.     public String sayHelleWorld(String inputStr);     
    4. }  

    3、接口实现; 
    Java代码  收藏代码
    1. package com.iteye.webservice;  
    2. public class HelloImpl implements IHelloService {  
    3.     @Override  
    4.     public String sayHelleWorld(String name) {  
    5.          System.out.println("hello worl! this is first webservice!!!");  
    6.         return "Hello "+name;  
    7.     }  
    8. }  

    4、web.xml配置访问公开接口信息; 
      以下配置都是固定的配置信息: 
    Xml代码  收藏代码
    1. <servlet>  
    2.    <servlet-name>XFireServlet</servlet-name>  
    3.    <servlet-class>  
    4.            org.codehaus.xfire.transport.http.XFireConfigurableServlet  
    5.        </servlet-class>  
    6.  </servlet>  
    7.  <servlet-mapping>  
    8.    <servlet-name>XFireServlet</servlet-name>  
    9.    <url-pattern>/servlet/XFireServlet/*</url-pattern>  
    10.  </servlet-mapping>  
    11.  <servlet-mapping>  
    12.    <servlet-name>XFireServlet</servlet-name>  
    13.    <url-pattern>/services/*</url-pattern>  
    14.  </servlet-mapping>  

    5、新建META-INF,新建xfire,新建services.xml,并配置接口信息; 
      结构:/src/META-INF/xfire/services.xml 
      servics.xml内容: 
    Xml代码  收藏代码
    1. <?xml version="1.0" encoding="UTF-8" ?>  
    2. <beans xmlns="http://xfire.codehaus.org/config/1.0">  
    3.   <service>  
    4.       <name>HelloService</name>  
    5.       <namespace>http://com/iteye/webservice/HelloService</namespace>  
    6.       <serviceClass>com.iteye.webservice.IHelloService</serviceClass>  
    7.       <implementationClass>com.iteye.webservice.HelloImpl</implementationClass>  
    8.   </service>  
    9.     
    10. </beans>  

    6、部署访问,生成 ?wsdl文件。 
      加载到tomcat中,启动浏览器地址栏输入:   
         http://localhost:8080/webservicedemo/services 
      返回?wsdl文件。 
    7、模拟远程调用服务器端 
    创建一个客户端项目(Java工程或者web工程),引入jar包,创建客户端代码: 
    1、client客户端 
    Java代码  收藏代码
    1.  @Test  
    2.       public void testSayHelle() {  
    3. try {  
    4.     Client client = new Client(new URL(                          
    5.             "http://localhost:8090/webservicedemo/services/HelloService?wsdl"));  
    6.     Object[] objects = client.invoke("sayHelleWorld",  
    7.             new Object[] { "tom" });  
    8.     System.out.println(objects[0]);  
    9. catch (MalformedURLException e) {  
    10.     e.printStackTrace();  
    11. catch (Exception e) {  
    12.     e.printStackTrace();  
    13. }  

    2、xfire代理客户端 
    Java代码  收藏代码
    1.  @Test  
    2. public void testFactoryClient() throws MalformedURLException {  
    3. // 创建服务工厂  
    4. ObjectServiceFactory serviceFactory = new ObjectServiceFactory();  
    5. // 通过服务工厂创建服务  
    6. Service service = serviceFactory.create(IHelloService.class);  
    7. // 创建代理工厂  
    8. XFireProxyFactory fireProxyFactory = new XFireProxyFactory();  
    9. // 通过代理工厂创建代理对象  
    10. IHelloService hs = (IHelloService) ireProxyFactory.create(service,             
    11.                   "http://localhost:8080/webservicedemo/services/HelloService");  
    12. // 调用代理对象方法(即远程调用)  
    13. hs.sayHelleWorld("tom");  
  • 相关阅读:
    安装RF
    python-ssh
    视频下载
    【学时总结】◆学时·V◆ 逆元法
    【赛时总结】 ◇赛时·IV◇ CODE FESTIVAL 2017 Final
    【赛时总结】 ◇赛时·III◇ AtCoder ABC-099
    【软件笔记】 ◆笔记·I◆ 各类冷门函数细解
    【学时总结】 ◆学时·IV◆ 数位DP
    【赛时总结】 ◇赛时·I◇ AtCoder ARC-098
    【学时总结】 ◆学时·III◆ 二分图
  • 原文地址:https://www.cnblogs.com/tancp/p/3731735.html
Copyright © 2011-2022 走看看