<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 閱讀(637) 評論(0)  編輯  收藏 所屬分類: java 開發
    <2007年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲人成网网址在线看| 免费v片在线观看无遮挡| 国产精品亚洲片在线观看不卡| 波多野结衣免费在线观看| 在线亚洲97se亚洲综合在线| 真人无码作爱免费视频| 国产精品四虎在线观看免费| 亚洲日日做天天做日日谢| 美女被免费喷白浆视频| 亚洲第一页在线观看| 真实国产乱子伦精品免费| 亚洲熟妇av一区| 100000免费啪啪18免进| 亚洲综合av一区二区三区 | 美女被免费网站91色| 亚洲国产一级在线观看| 一级特黄录像免费播放中文版| 亚洲一级片免费看| 中国在线观看免费的www| 亚洲不卡av不卡一区二区| 一级毛片aaaaaa免费看| 久久久亚洲欧洲日产国码是AV| 91久久成人免费| 国产v亚洲v天堂a无| 在线观看亚洲免费| a在线视频免费观看在线视频三区 a毛片成人免费全部播放 | 久久亚洲美女精品国产精品| 亚洲一区二区三区免费在线观看| 亚洲一级在线观看| 黄视频在线观看免费| 亚洲AV无码AV男人的天堂| 久久99九九国产免费看小说| 一级毛片免费观看不卡视频| 无码久久精品国产亚洲Av影片| 亚洲精品视频免费在线观看| 国产99在线|亚洲| 亚洲色婷婷综合开心网| 日韩av无码久久精品免费| 亚洲欧美日韩综合久久久| 久久久久亚洲精品男人的天堂| 日韩人妻无码精品久久免费一|