webservice---之使用xfire+spring开发

1 、想要发布成webservice的类,必须实现接口(Spring2.0,Xfile1.2)

2 、3个配置文件(后面详细说)

----------------------------------------------

HelloRemote.java package test;

public interface HelloRemote {

     public String hello();

     public String helloTo(String name); 

     public String getJsonData(String pageIndex,String pageSize);

}

----------------------------------------------

HelloBean.java package test;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession;

import org.codehaus.xfire.transport.http.XFireServletController;

public class HelloBean implements HelloRemote {

     public String hello()   

    {   

         return "hello";    

     }    

     public String helloTo(String name)    

    {    

          return " hello " + name + "!";   

    }

     private String example()  

    {        

        // 使用session   

        HttpServletRequest request = XFireServletController.getRequest(); 

        HttpSession session = request.getSession(); 

     return " 请求地址:"+request.getLocalAddr() +", 会话创建时间:"+session.getCreationTime();     }   

    public String getJsonData(String pageIndex, String pageSize) 

    {  

         String rtnValue = "";  

         rtnValue = example(); 

         return rtnValue; 

    }

 }

----------------------------------------------

web.xml

<?xml version="1.0" encoding="UTF-8"?>

 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     

     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     

     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

     <!-- 配置文件路径开始,指定加载的配置文件 --> 

     <context-param> 

         <param-name>contextConfigLocation</param-name>

         <param-value> 

                /WEB-INF/classes/applicationContext*.xml   

               classpath:org/codehaus/xfire/spring/xfire.xml 

         </param-value> 

     </context-param> 

     <!-- 启动时加载SpringContextServlet -->

     <listener> 

         <listener-class> 

            org.springframework.web.context.ContextLoaderListener

         </listener-class> 

     </listener>

     <listener>

         <listener-class>

             org.springframework.web.util.IntrospectorCleanupListener

         </listener-class>

     </listener>

     <!-- XFire 配置 -->

     <servlet>

         <servlet-name>xfire</servlet-name>

         <servlet-class> 

            org.springframework.web.servlet.DispatcherServlet

         </servlet-class> 

     </servlet>

     <servlet-mapping>

         <servlet-name>xfire</servlet-name>

         <url-pattern>*.ws</url-pattern>

      </servlet-mapping>

      <welcome-file-list>

           <welcome-file>index.jsp</welcome-file>

      </welcome-file-list>

 </web-app>

 这里注意:classpath:org/codehaus/xfire/spring/xfire.xml必须要写进去。

 ----------------------------------------------

xfire-servlet.xml 新建这个文件,并且和web.xml放在同一个文件夹。 注意: 名称和位置都不能变。

<?xml version="1.0" encoding="UTF-8"?>

 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

     "http://www.springframework.org/dtd/spring-beans.dtd">

 <beans>  

   <bean     

          class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  

         <property name="urlMap"> 

               <map>

                 <entry key="/myHelloService.ws"><!-- 暴露的服务名称 -->

                     <ref bean="myTest" /> 

                 </entry>

              </map>

         </property>

     </bean>

     <bean id="myTest" parent="webService"  

       class="org.codehaus.xfire.spring.remoting.XFireExporter">

         <!-- 定义实现类(指向applicationContext-webService.xml) -->  

       <property name="serviceBean"> 

            <ref bean="myHelloBean" />

         </property> 

        <!-- 定义接口类 -->

         <property name="serviceClass">

             <value>test.HelloRemote</value>

         </property> 

    </bean>  

  

     <!-- webService 基本配置 -->

     <bean id="webService" 

        class="org.codehaus.xfire.spring.remoting.XFireExporter"

         abstract="true"> 

        <property name="serviceFactory">

             <ref bean="xfire.serviceFactory" /> 

        </property> 

        <property name="xfire"> 

            <ref bean="xfire" />

         </property> 

    </bean>

</beans>

----------------------------------------------

spring 的配置文件 applicationContext-webService.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

      "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

       <bean id="myHelloBean" class="test.HelloBean"></bean>

</beans>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录....................................................................................................................................................2 说明....................................................................................................................................................3 一、使用到的开发工具:.........................................................................................................3 二、服务端开发步骤.................................................................................................................3 1、使用xfire 创建Web 服务。..............................................................................................3 2、创建服务接口和实现.........................................................................................................7 3、xfire 服务配置....................................................................................................................9 4、服务发布...........................................................................................................................10 5、为服务配置安全认证.......................................................................................................11 三、客户端开发.......................................................................................................................12 1、新建Web 工程................................................................................................................. 12 2、导入xfire 包.....................................................................................................................13 3、创建类定义.......................................................................................................................15 四、扩展1-使用xfire 插件创建客户端代码........................................................................ 18 1、插件安装.............................................................................................................................18 2、使用已安装的插件进行客户端代码生成........................................................................ 20 4、编写调用代码,调用服务.............................................................................................. 24 五、扩展2-使用axis(这时是1-4 版本)创建客户端代码.................................................... 28 1、使用WSDL2Java 工具根据WSDL 生成客户端代码.................................................. 28 2、新建工程项目...................................................................................................................30 3、编写调用代码...................................................................................................................31

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值