<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在线播放日韩亚洲欧| 1000部啪啪毛片免费看| 亚洲AV无码成人精品区狼人影院| 亚洲色成人WWW永久网站| 69成人免费视频| 国产日韩精品无码区免费专区国产| 亚洲欧洲日产国码久在线观看| 永久中文字幕免费视频网站| 中文字幕无码毛片免费看| 亚洲久悠悠色悠在线播放| 亚洲综合图色40p| 国内自产少妇自拍区免费| av永久免费网站在线观看 | 亚洲欧洲AV无码专区| 亚洲色婷婷综合久久| 日韩精品视频免费观看| 免费人成毛片动漫在线播放| 亚洲av无码专区在线观看亚| 亚洲福利视频导航| 亚洲国产精品成人久久蜜臀| 国产高清免费视频| 国内精品一级毛片免费看| 狼人大香伊蕉国产WWW亚洲| 亚洲无砖砖区免费| 国产亚洲色视频在线| 国产男女性潮高清免费网站| 亚洲综合免费视频| 久久精品免费观看| 久青草国产免费观看| 亚洲日产乱码一二三区别| 亚洲综合网美国十次| 精品久久香蕉国产线看观看亚洲| 日韩免费一级毛片| 女人18毛片a级毛片免费视频| 59pao成国产成视频永久免费| 美女视频黄a视频全免费网站色窝| 最好2018中文免费视频| 亚洲av无码专区在线观看亚|