<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    風人園

    弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
    數據加載中……

    spring 中集成 xfire(ZT)

    XFire可以很好的集成到Spring中,Spring的代碼已經做了這方面的集成。
    首先,我們先創建我們的Web服務,采用接口和實現類的方式:

    接口MathService.java:
    1. package?com.kuaff.xfire.samples;
    2. public?interface?MathService
    3. {
    4. ????public?long?add(int?p1,?int?p2);
    5. }


    實現類:
    1. package?com.kuaff.xfire.samples;
    2. public?class?MathServiceImpl?implements?MathService
    3. {
    4. ????public?long?add(int?p1,?int?p2)
    5. ????{
    6. ????????return?p1?+?p2;
    7. ????}
    8. }


    META-INF/xfire/service.xml文件可以省略了,因為web服務的定義在xfire-servlet.xml中可以找到。
    下面要做的工具就是配置了。
    在WEB-INF文件夾下創建applicationContext.xml文件,這是Spring的配置文件,如果你使用其他的Spring配置文件,可以將下面的bean添加到那個配置文件中:


    1. <?xml?version="1.0"?encoding="UTF-8"?>
    2. <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
    3. <beans>
    4. ????<bean?id="mathBean"?class="com.kuaff.xfire.samples.MathServiceImpl"/>
    5. </beans>


    定義了mathBean,這個Bean就是我們的實現類,當然你也可以在這個文件中定義其他的需要Spring管理的bean。

    在WEB-INF文件夾下創建xfire-servlet.xml文件,根據Spring規范,這個文件名起做xfire-servlet.xml,其中xfire是web.xml配置的DispatcherServlet的名稱:

    1. <?xml?version="1.0"?encoding="UTF-8"?>
    2. <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
    3. <beans>
    4. ????<bean?class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    5. ????????<property?name="urlMap">
    6. ????????????<map>
    7. ????????????????<entry?key="/MathService">
    8. ????????????????????<ref?bean="math"/>
    9. ????????????????</entry>
    10. ????????????</map>
    11. ????????</property>
    12. ????</bean>
    13. ???
    14. ????<bean?id="math"?class="org.codehaus.xfire.spring.remoting.XFireExporter">
    15. ????????<property?name="serviceFactory">
    16. ????????????<ref?bean="xfire.serviceFactory"/>
    17. ????????</property>
    18. ????????<property?name="xfire">
    19. ????????????<ref?bean="xfire"/>
    20. ????????</property>
    21. ????????<property?name="serviceBean">
    22. ????????????<ref?bean="mathBean"/>
    23. ????????</property>
    24. ????????<property?name="serviceClass">
    25. ????????????<value>com.kuaff.xfire.samples.MathService</value>
    26. ????????</property>
    27. ????</bean>
    28. </beans>


    這個文件的上半部分將MathService這個URL和math這個bean聯系在一起。下半部分定義了Web服務的bean和服務接口。其中mathBean是我們在applicationContext.xml中配置的那個Bean。

    最后一步就是修改web.xml文件:
    1. <?xml?version="1.0"?encoding="ISO-8859-1"?>
    2. <!DOCTYPE?web-app
    3. ????PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"
    4. ????"http://java.sun.com/dtd/web-app_2_3.dtd">
    5. <web-app>
    6. ????<context-param>
    7. ????????<param-name>contextConfigLocation</param-name>
    8. ????????<param-value>/WEB-INF/applicationContext.xml
    9. ????????classpath:org/codehaus/xfire/spring/xfire.xml</param-value>
    10. ????</context-param>
    11. ????<context-param>
    12. ????????<param-name>log4jConfigLocation</param-name>
    13. ????????<param-value>/WEB-INF/log4j.properties</param-value>
    14. ????</context-param>
    15. ????<listener>
    16. ????????<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    17. ????</listener>
    18. ????<listener>
    19. ????????<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    20. ????</listener>
    21. ????<servlet>
    22. ????????<servlet-name>xfire</servlet-name>
    23. ????????<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    24. ????</servlet>
    25. ????<servlet-mapping>
    26. ????????<servlet-name>xfire</servlet-name>
    27. ????????<url-pattern>/*</url-pattern>
    28. ????</servlet-mapping>
    29. </web-app>


    需要注意這個文件的三個部分:

    ?

    1.??????在定義contextConfigLocation參數時一定要加上classpath:org/codehaus/xfire/spring/xfire.xml。

    2.??????定義listener:?org.springframework.web.context.ContextLoaderListener

    3.??????定義DispatcherServlet:?xfire

    這樣,你就可以訪問http://localhost:8080/xfire/MathService來調用這個Web服務,也可以通過網址http://localhost:8080/xfire/MathService?wsdl來查看wsdl文檔。

    posted on 2006-07-28 11:28 風人園 閱讀(220) 評論(0)  編輯  收藏 所屬分類: Spring

    主站蜘蛛池模板: 亚洲国产精品人人做人人爱| 国产高清免费视频| 亚洲高清国产拍精品青青草原 | 亚洲视频在线免费播放| 久久国产免费一区| 久久久久亚洲AV成人无码 | 亚洲视频网站在线观看| 99精品一区二区免费视频| 亚洲一区二区中文| 99在线热视频只有精品免费| 久久综合亚洲鲁鲁五月天| 8x成人永久免费视频| 亚洲成人福利在线| 性xxxx视频播放免费| WWW国产亚洲精品久久麻豆| 日韩精品电影一区亚洲| 国产精品99爱免费视频| 亚洲电影免费在线观看| 国产精品成人免费福利| 亚洲人成网站在线在线观看| 国产精品深夜福利免费观看| kk4kk免费视频毛片| 亚洲av无码精品网站| 四虎1515hh永久久免费| 在线观看亚洲专区| 精品久久久久久亚洲| 精品无码免费专区毛片| 亚洲AV永久无码精品网站在线观看| 四虎永久在线免费观看| 怡红院免费的全部视频| 亚洲人成在线播放| 免费少妇a级毛片人成网| a级日本高清免费看| 亚洲一区免费在线观看| 免费成人黄色大片| 久久午夜夜伦鲁鲁片免费无码| 精品国产成人亚洲午夜福利| 亚洲熟妇丰满多毛XXXX| 国语成本人片免费av无码| 有色视频在线观看免费高清在线直播| 亚洲欧洲在线观看|