zoukankan      html  css  js  c++  java
  • XFire构建服务端Service的两种方式(转)

    XFire构建服务端service的两种方式,一是用xfire构建,二是和spring集成构建。 

    一,xifre构建,确保把xfire的jar包导入到工程中或classpath。 

    1,service的接口类 

    1. package cn.cjw.services.exchange;  
    2.    
    3. public interface ExchangeService {  
    4.     public double RMB2Dollar(double RMB);  
    5. }  

    2,service的实现类 

    1. package cn.cjw.services.exchange.impl;  
    2.    
    3. import cn.cjw.services.exchange.ExchangeService;  
    4.    
    5. public class ExchangeServiceImpl implements ExchangeService {  
    6.       
    7.     private double EXCHANGERATE = 6.9;  
    8.    
    9.     /** 
    10.      * @return the eXCHANGERATE 
    11.      */  
    12.     public double getEXCHANGERATE() {  
    13.         return EXCHANGERATE;  
    14.     }  
    15.    
    16.     /** 
    17.      * @param exchangerate the eXCHANGERATE to set 
    18.      */  
    19.     public void setEXCHANGERATE(double exchangerate) {  
    20.         EXCHANGERATE = exchangerate;  
    21.     }  
    22.    
    23.     public double RMB2Dollar(double RMB) {  
    24.         // TODO Auto-generated method stub  
    25.         return RMB*(1/EXCHANGERATE);  
    26.     }  
    27.    
    28. }  

    3,在你的src文件夹下新建一个META-INF/xfire文件夹,同时新建一个services.xml文件。  services.xml

    [xhtml] view plaincopy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <beans xmlns="http://xfire.codehaus.org/config/1.0">  
    3.     <service>  
    4.         <name>ExchangeService</name>  
    5.         <namespace>http://www.chinajavaworld.com/ExchangeService</namespace>  
    6.         <serviceClass>cn.cjw.services.exchange.ExchangeService</serviceClass>  
    7.         <implementationClass>cn.cjw.services.exchange.impl.ExchangeServiceImpl</implementationClass>  
    8.     </service>  
    9. </beans>  

    4,配置你的项目中的web.xml。

    [xhtml] view plaincopy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app version="2.4"   
    3.     xmlns="http://java.sun.com/xml/ns/j2ee"   
    4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
    6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
    7.   <servlet>  
    8.     <servlet-name>XFireServlet</servlet-name>     
    9.     <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>  
    10.   </servlet>  
    11.     
    12.   <servlet-mapping>  
    13.     <servlet-name>XFireServlet</servlet-name>  
    14.     <url-pattern>/servlet/XFireServlet/*</url-pattern>  
    15.   </servlet-mapping>  
    16.     
    17.   <servlet-mapping>  
    18.     <servlet-name>XFireServlet</servlet-name>  
    19.     <url-pattern>/services/*</url-pattern>  
    20.   </servlet-mapping>  
    21. </web-app>  

    到这里,把以上的工程导入到tomcat的webapps下就可以使用了。这和axis比起来,省略了打包的过程。部署到tomcat后启动,在浏览器输入http://localhost:port/[yourProjectName]/services/ExchangeService?wsdl,注意:这里的yourProjectName就是你建立的工程名字。如果ok,那么说明你的service已经可以部署ok了。 
    二,集成spring的部署,spring和xfire的jar包需要导入到工程中。  1,建立service的接口类和实现类,代码和以上相同。  2,spring的applicationContext.xml文件 

    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <beans  
    3.     xmlns="http://www.springframework.org/schema/beans"  
    4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
    6.    
    7.     <import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>  
    8.       
    9.     <bean id="ExchangeService" class="org.codehaus.xfire.spring.remoting.XFireExporter">  
    10.         <property name="serviceFactory" ref="xfire.serviceFactory"></property>  
    11.         <property name="xfire" ref="xfire"></property>  
    12.           
    13.         <property name="serviceBean" ref="ExchangeServiceImpl"></property>  
    14.         <property name="serviceClass" value="cn.cjw.services.exchange.ExchangeService"></property>  
    15.         <property name="name" value="ExchangeService"></property>  
    16.     </bean>  
    17.       
    18.     <bean id="ExchangeServiceImpl" class="cn.cjw.services.exchange.impl.ExchangeServiceImpl"></bean>  
    19. </beans>  

    3,工程中的web.xml文件

    [xhtml] view plaincopy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app version="2.4"   
    3.     xmlns="http://java.sun.com/xml/ns/j2ee"   
    4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
    6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
    7.     
    8.   <context-param>  
    9.         <param-name>contextConfigLocation</param-name>  
    10.         <param-value>/WEB-INF/applicationContext.xml</param-value>  
    11.     </context-param>  
    12.     <listener>  
    13.         <listener-class>  
    14.             org.springframework.web.context.ContextLoaderListener  
    15.         </listener-class>  
    16.     </listener>  
    17.       
    18.     <servlet>  
    19.         <servlet-name>xfireSpringServlet</servlet-name>  
    20.         <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>  
    21.     </servlet>  
    22.     <servlet-mapping>  
    23.         <servlet-name>xfireSpringServlet</servlet-name>  
    24.         <url-pattern>/services/*</url-pattern>  
    25.     </servlet-mapping>  
    26.     
    27. </web-app>  

    把该工程部署到tomcat下,启动tomcat,在浏览器中输入:http://localhost:port/[yourProjectName]/services/ExchangeService?wsdl,如果ok,说明这个service已经部署ok了。相比前一个,这第二种方式可以说简便,而且能够使用spring的所有特性,如IOC和AOP。

  • 相关阅读:
    那些离不开的 Chrome 扩展插件
    Spring Boot 实战 —— 入门
    Maven 学习笔记
    Linux lvm 分区知识笔记
    Linux 双向 SSH 免密登录
    CentOS Yum 源搭建
    Ubuntu 系统学习
    iOS 测试三方 KIF 的那些事
    Swift 网络请求数据与解析
    iOS Plist 文件的 增 删 改
  • 原文地址:https://www.cnblogs.com/beijingstruggle/p/5035155.html
Copyright © 2011-2022 走看看