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

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

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

    posts - 122,  comments - 25,  trackbacks - 0
    一、設置構建路徑(必要的jar包)

    commons-logging-1.1.jar
    geronimo-activation_1.1_spec-1.0-M1.jar (or Sun's Activation jar)
    geronimo-annotation_1.0_spec-1.1.jar (JSR 250)
    geronimo-javamail_1.4_spec-1.0-M1.jar (or Sun's JavaMail jar)
    geronimo-servlet_2.5_spec-1.1-M1.jar (or Sun's Servlet jar)
    geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181)
    jaxb-api-2.0.jar
    jaxb-impl-2.0.5.jar
    jaxws-api-2.0.jar
    neethi-2.0.jar
    saaj-api-1.3.jar
    saaj-impl-1.3.jar
    stax-api-1.0.1.jar
    wsdl4j-1.6.1.jar
    wstx-asl-3.2.1.jar
    XmlSchema-1.2.jar
    xml-resolver-1.2.jar

    aopalliance-1.0.jar
    spring-core-2.0.4.jar
    spring-beans-2.0.4.jar
    spring-context-2.0.4.jar
    spring-web-2.0.4.jar

    cxf-2.0-incubator.jar

    二、編寫服務類
    a). 接口類HelloService.java
    package demo.spring;

    import java.util.List;

    import javax.jws.WebParam;
    import javax.jws.WebService;

    import demo.spring.model.UserInfoBean;

    @WebService
    public interface HelloService {

        
    public String sayHello(@WebParam(name="name")String text);
        
        
    public UserInfoBean getUserInfo(@WebParam(name="username")String name);
        
        
    public List<UserInfoBean> getUsers();
    }

    b).實現類HelloServiceImpl.java
    package demo.spring;

    import java.util.ArrayList;
    import java.util.List;

    import javax.jws.WebService;

    import demo.cxf.server.HelloService;
    import demo.spring.model.UserInfoBean;

    @WebService(endpointInterface
    ="demo.spring.HelloService")
    public class HelloServiceImpl implements HelloService {

        
    public String sayHello(String text) {
            
    return "Hello,".concat(text);
        }


        
    public UserInfoBean getUserInfo(String username){
            UserInfoBean user 
    = new UserInfoBean();
            user.setRealname(
    "捷克");
            user.setUsername(username);
            user.setEmail(
    "jack@chaina.com");
            
    return user;
        }

        
        
    public List<UserInfoBean> getUsers(){
            List
    <UserInfoBean> users = new ArrayList<UserInfoBean>();
            users.add(getUserInfo(
    "john"));
            
    return users;
        }

    }

    三、聲明服務Bean
    在WEB-INF目錄下創建成一個beans.xml文件,以聲明endpoint bean:
    <?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" />
        
    <jaxws:endpoint id="helloService" implementor="demo.spring.HelloServiceImpl" address="/HelloService"/>
    </beans>

    若使用Spring定義的bean,也可這樣聲明:
    <bean id="helloService" class="demo.spring.HelloServiceImpl" />
    <jaxws:endpoint id="helloServiceImpl" implementor="#helloService" address="/HelloService" />

    四、定義Servlet
    修改WEB-INF/目錄下的web.xml文件,添加如下定義:
    <context-param>
            
    <param-name>contextConfigLocation</param-name>
            
    <param-value>WEB-INF/beans.xml</param-value>
        
    </context-param>

        
    <listener>
            
    <listener-class>
                org.springframework.web.context.ContextLoaderListener
            
    </listener-class>
        
    </listener>

        
    <servlet>
            
    <servlet-name>CXFServlet</servlet-name>
            
    <display-name>CXF Servlet</display-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>

    五、客戶端代碼
    client_beans.xml
    <?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-2.0.xsd
    http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd"
    >

        
    <bean id="client" class="demo.spring.HelloService" 
          factory-bean
    ="clientFactory" factory-method="create"/>
        
        
    <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
          
    <property name="serviceClass" value="demo.spring.HelloService"/>
          
    <property name="address" value="http://localhost:8080/cxf/HelloService"/>
        
    </bean>
          
    </beans>

    client.java
            ClassPathXmlApplicationContext context 
                
    = new ClassPathXmlApplicationContext(new String[] {"demo/spring/client/client_beans.xml"});
            HelloService client 
    = (HelloService)context.getBean("client");
            String response 
    = client.sayHello("Joe");
            System.out.println(
    "Response: " + response);
            
            UserInfoBean user 
    = client.getUserInfo("jack");
            System.out.println(user.getUsername());
            
            List
    <UserInfoBean> users = client.getUsers();
            
    for(UserInfoBean u : users){
                System.out.println(u.getUsername());
            }

            System.exit(
    0);
    posted on 2007-11-21 23:21 josson 閱讀(635) 評論(0)  編輯  收藏 所屬分類: java 開發
    <2007年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 在线永久免费的视频草莓| 五月天国产成人AV免费观看| 99视频在线免费| 亚洲欧洲国产精品你懂的| 大地资源中文在线观看免费版| 国产亚洲精品影视在线产品| av午夜福利一片免费看久久| 国产精品亚洲аv无码播放| 免费成人在线视频观看| 99人中文字幕亚洲区| 曰曰鲁夜夜免费播放视频 | 中文字幕免费在线观看| 亚洲人成电影在在线观看网色| 男人j进入女人j内部免费网站| 亚洲欧洲国产综合| 在线不卡免费视频| 搜日本一区二区三区免费高清视频 | 亚洲精品视频免费| 亚洲日本一区二区三区| 免费福利网站在线观看| 男性gay黄免费网站| 亚洲色婷婷六月亚洲婷婷6月| 久久国产精品一区免费下载| 97se亚洲国产综合自在线| 国产精品免费_区二区三区观看| 久香草视频在线观看免费| 亚洲va久久久噜噜噜久久男同| 国产精彩免费视频| 国产亚洲精品成人久久网站 | 666精品国产精品亚洲 | 一级毛片免费播放| 国产人成亚洲第一网站在线播放| 婷婷综合缴情亚洲狠狠尤物| 久久国产精品免费观看| 日韩国产欧美亚洲v片| 亚洲av午夜成人片精品网站| 麻豆国产精品入口免费观看| 免费一区二区三区| 亚洲а∨精品天堂在线| 亚洲VA中文字幕不卡无码| 成年人视频在线观看免费|