<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

    主站蜘蛛池模板: 精品亚洲一区二区三区在线观看| 毛片网站免费在线观看| 亚洲日韩VA无码中文字幕| 色婷婷亚洲一区二区三区| 国产精品无码一二区免费| 亚洲AV无码AV日韩AV网站| 国产三级免费观看| 亚洲AV成人精品日韩一区 | 在线亚洲高清揄拍自拍一品区| 最近中文字幕完整免费视频ww| 亚洲美女免费视频| 在线观看免费人成视频色9| 99999久久久久久亚洲| 免费无码成人AV片在线在线播放| 亚洲精品中文字幕| 亚洲午夜精品第一区二区8050| 国产在线观a免费观看| 亚洲美女精品视频| 精品国产精品久久一区免费式| 国产亚洲精品免费| 亚洲国产一二三精品无码| 91精品国产免费久久国语蜜臀 | 国产成A人亚洲精V品无码性色 | 暖暖免费在线中文日本| 亚洲色大成网站www永久| 搡女人免费视频大全| 免费看又黄又爽又猛的视频软件| 亚洲人成网77777亚洲色| 97在线视频免费| 亚洲国产精品无码第一区二区三区| 免费一级黄色毛片| 久久午夜夜伦鲁鲁片无码免费| 99久久婷婷国产综合亚洲| 亚洲视频在线免费| 1000部国产成人免费视频| 国产青草亚洲香蕉精品久久| 国产成人无码综合亚洲日韩| 女人被男人躁的女爽免费视频 | 国产A∨免费精品视频| 亚洲最大黄色网站| 免费在线观看视频a|