首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring跟XFIRE结合

2012-11-09 
Spring和XFIRE结合上一周搞了三天Spring和XRIRE结合,也没弄出个眉目,后来有别的工作就搁下了。昨天看那个同

Spring和XFIRE结合
    上一周搞了三天Spring和XRIRE结合,也没弄出个眉目,后来有别的工作就搁下了。昨天看那个同事也在搞,所以继续研究,终于搞出来了。
     步骤一:建立一个普通的web项目,然后导入spring和xfire所需要的jar包;
     步骤二:在web.xml中配置如下:
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>

    </context-param>

    <listener>

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>
    <servlet>  
        <servlet-name>XFireServlet</servlet-name>  
        <servlet-class>  
            org.codehaus.xfire.spring.XFireSpringServlet  
        </servlet-class>  
    </servlet>  
      
    <servlet-mapping>  
        <servlet-name>XFireServlet</servlet-name>  
        <url-pattern>/servlet/XFireServlet/*</url-pattern>  
    </servlet-mapping>  
      
    <servlet-mapping>  
        <servlet-name>XFireServlet</servlet-name>  
        <url-pattern>/services/*</url-pattern>  
    </servlet-mapping>
    步骤三:建立接口MathService和类MathServiceImpl;
    步骤四:在applicationContext.xml中配置如下:

       <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />  
 
 
<!-- xFire -->
    <bean id="mathBean" autowire="byName"/>

<bean id="mathWebService" ref="xfire" />  
        <property name="serviceBean" ref="mathBean" /> <!-- WebService的实现类bean -->  
        <property name="serviceClass" value="com.tangtang.test.MathService" />  
       <!--  <property name="inHandlers" ref="authenticationHandler"/> 普通的用户名密码的方式进行WebService的验证-->  
    </bean>

    步骤五:部署,启动tomcat即可发布:
url:http://localhost:8080/0721WebServiceTest/services/MathService?wsdl即可访问。

说明:0721WebServiceTest为工程名   MathService为部署的服务名

    建立客户端即可远程访问:
    首先在本工程中建立:
    Service s=new ObjectServiceFactory().create(MathService.class);
XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String url="http://localhost:8080/0721WebServiceTest/services/MathService";
try
        {           
          
          MathService hs=(MathService) xf.create(s,url);
           String st=hs.add(10, 20);
           System.out.print(st);
       }
       catch(Exception e)
        {
           e.printStackTrace();
        }
  


    在其他工程中如下建立客户端:
    
   //ip:172.20.57.101
String url="http://172.20.57.101:8080/0721WebServiceTest/services/MathService?wsdl";
try {
Client c = new Client(new URL(url));
Object[]  obj = c.invoke("add", new Integer[]{20,30});
for(int i = 0; i < obj.length;i++) {
System.out.println(obj[i]);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

    


本来想把所有的

热点排行