Java, Only Java!

          統計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          webservice-之使用xfire+spring開發(轉自勇哥的BLOG)

          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>

          posted on 2008-03-03 09:52 zYx.Tom 閱讀(1668) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 汉寿县| 万载县| 福海县| 灵宝市| 伊金霍洛旗| 连云港市| 磴口县| 南阳市| 织金县| 罗平县| 阜宁县| 海南省| 民乐县| 都安| 渑池县| 凤阳县| 军事| 临泽县| 阳西县| 阳江市| 庐江县| 白水县| 株洲县| 集贤县| 曲靖市| 永春县| 马关县| 洪洞县| 太康县| 贵定县| 江阴市| 望城县| 班戈县| 临城县| 凤冈县| 洛浦县| 定日县| 民乐县| 墨竹工卡县| 广州市| 嘉禾县|