少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          CXFspring集成

          1 新建web project ,并加入apache-cxf-2.0.7/lib所有包,編寫要發(fā)布的web service 接口和實(shí)現(xiàn).這一步,與前面一樣。

          import javax.jws.WebService;

          @WebService 

          public interface HelloWorld {  

               public String sayHello(String text);  

          }

          import javax.jws.WebService;  

          @WebService(endpointInterface="test.HelloWorld")  

          public class HelloWorldImpl implements HelloWorld {  

                public String sayHello(String text) {  

                            return "Hello" + text ;  

              }  

            } 

          @WebService 注解表示是要發(fā)布的web 服務(wù)

          2. spring-cxf.xml配置發(fā)布的web service 

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

          <beans xmlns="http://www.springframework.org/schema/beans"

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

              xmlns:jaxws="http://cxf.apache.org/jaxws"

              xsi:schemaLocation="

          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

          http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

              <import resource="classpath:META-INF/cxf/cxf.xml" /> 

              <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 

              <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 

           

              <bean id="hello" class="test.HelloWorldImpl" /> 

              <jaxws:endpoint id="helloWorld" implementor="#hello" 

                  address="/HelloWorld" /> 

            </beans>

          注意:<jaxws:endpoint id="helloWorld" implementor="#hello" 

                  address="/HelloWorld" /> 

          id:指在spring配置的beanID.

          Implementor:指明具體的實(shí)現(xiàn)類.

          Address:指明這個(gè)web service的相對(duì)地址,

          3.  配置web.xml文件:

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

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

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

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

              http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

              <context-param> 

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

                  <param-value>classpath:spring-cxf.xml</param-value> 

              </context-param> 

           

              <listener> 

                  <listener-class> 

                   org.springframework.web.context.ContextLoaderListener 

                  </listener-class> 

              </listener> 

                 

              <servlet> 

                  <servlet-name>CXFServlet</servlet-name> 

                  <servlet-class> 

                      org.apache.cxf.transport.servlet.CXFServlet  

                  </servlet-class> 

                  <load-on-startup>1</load-on-startup> 

              </servlet> 

           

              <servlet-mapping> 

                  <servlet-name>CXFServlet</servlet-name> 

                  <url-pattern>/*</url-pattern> 

              </servlet-mapping> 

          </web-app> 

          4部署到tomcat服務(wù)器,輸入:http://localhost:8080/<web-app-name>/ HelloWorld?wsdl,將顯示這個(gè)web servicewsdl.

          注意:如果web.xml配置<servlet-name>CXFServlet</servlet-name> 

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

          則訪問地址為:http://localhost:8080/<web-app-name>/ws/ HelloWorld?wsdl

          5. 下面就開始創(chuàng)建一個(gè)客戶端程序,訪問這個(gè)web service, 同樣新建java project ,并加入apache-cxf-2.0.7/lib所有包. 創(chuàng)建與具體webservice技術(shù)無關(guān)的業(yè)務(wù)接口HelloWorld.java

          public interface HelloWorld {  

               public String sayHello(String text);  

          }

          6.配置spring-client.xml

          <beans xmlns="http://www.springframework.org/schema/beans"

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

              xmlns:jaxws="http://cxf.apache.org/jaxws"

              xsi:schemaLocation="

          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

          http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">

           

              <bean id="client" class="test.HelloWorld"

                factory-bean="clientFactory" factory-method="create"/>

             

              <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">

                <property name="serviceClass" value="test.HelloWorld"/>

                <property name="address" value="http://localhost:9000/helloWorld"/>

          <!-- 這個(gè)地方的地址一定要注意,正確的-->

              </bean>

               

          </beans>

          7.測(cè)試:

          import org.springframework.context.ApplicationContext;

          import org.springframework.context.support.ClassPathXmlApplicationContext;

           

          import test.HelloWorld;

           

          public class Test {  

               

              public static void main(String[] args) {  

           

                  ApplicationContext ctx = new ClassPathXmlApplicationContext(  

                          "spring-client.xml");  

                  HelloWorld client = (HelloWorld) ctx.getBean("client");  

                  String result = client.sayHello("你好!");  

                  System.out.println(result);  

              }  

          } 

          8.參考資料

          http://java.dzone.com/articles/web-services-with-mule-cxf-and

          http://www.ibm.com/developerworks/webservices/library/ws-pojo-springcxf/index.html?ca=drs-http://wheelersoftware.com/articles/spring-cxf-web-services-4.html

           



          http://blog.csdn.net/pengchua/article/details/2740572
          posted on 2012-08-21 14:20 abin 閱讀(1004) 評(píng)論(0)  編輯  收藏 所屬分類: cxf

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 弥渡县| 翁源县| 无为县| 荔浦县| 建湖县| 汉中市| 五大连池市| 荃湾区| 依安县| 吉安市| 兴安县| 方城县| 田阳县| 福鼎市| 兰西县| 泰宁县| 慈溪市| 定兴县| 曲麻莱县| 略阳县| 湖南省| 兴宁市| 枞阳县| 天镇县| 茂名市| 金湖县| 江华| 建阳市| 金塔县| 四平市| 宜良县| 临泉县| 拉萨市| 安新县| 清流县| 丹江口市| 神木县| 盐池县| 虎林市| 阜城县| 大冶市|