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

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

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

    posts - 66,  comments - 11,  trackbacks - 0
    EJB2.1和web服務
    1、下載安裝服務器后,需要設置環境變量。
    Set J2EE_HOME=J2EE安裝目錄
    Set CLASSPATH 
    =%CLASSPATH%;%J2EE_HOME%\\lib\\j2ee.jar;.
    Set Path =%Path%;%J2EE_HOME%\\bin;.

    2、創建初始目錄
    +HelloBeanService
        +META-INF(application.xml;sun-j2ee-ri.xml )
        +ejb
           +META-INF(ejb-jar.xml; webservices.xml;mapping.xml)
           -*.java文件(EJB相關的類)
           -config.xml
    3、定義web服務接口
    package com.testproject.ejb.web;

    /*
     * Hello服務Endpoint接口
     * 需要注意的是,這里使用的是EJB2.1無狀態會話Bean,它作為WEB服務端點時可以不提供Home接口和Remote
     * Locale接口,它提供的是web服務端點接口,這個接口擴展了Remote接口。
     
    */

    public interface HelloInterface extends java.rmi.Remote {
        
    public String hello()throws java.rmi.RemoteException;
    }


    4、實現服務端點接口
    package com.testproject.ejb.web;

    import java.rmi.RemoteException;

    import javax.ejb.EJBException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;

    /*
     * 定義了服務端點接口,接下來的任務就是開發無狀態會話Bean。無狀態會話Bean同樣需要實現SessionBean接口,
     * 服務端點接口定義的方法在會話Bean中實現。
     
    */

    public class HelloBean implements SessionBean {
        
        
    public void ejbCreate(){
            
    /*
             * 這里不能接收任何參數
             
    */

        }


        
    public void ejbActivate() throws EJBException, RemoteException {
        }


        
    public void ejbPassivate() throws EJBException, RemoteException {
        }


        
    public void ejbRemove() throws EJBException, RemoteException {
        }


        
    public void setSessionContext(SessionContext arg0) throws EJBException,
                RemoteException 
    {
        }

        
    /*
         * 業務方法:輸出hello
         
    */

        
    public String hello(){
            
    return "Hello wyq";
        }


    }


    5、創建EJB描述
    用于部署成Web服務的無狀態會話Bean的描述符和普通的無狀態會話Bean不同ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar version="2.1"
    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/ejb-jar_2_1.xsd">
        
    <display-name>HelloBean</display-name>
        
    <enterprise-beans>
            
    <session>
                
    <display-name>HelloBean</display-name>
                
    <ejb-name>HelloBean</ejb-name>
                
    <service-endpoint>com.testproject.ejb.web.HelloInterface</service-endpoint>
                
    <ejb-class>com.testproject.ejb.web.HelloBean</ejb-class>
                
    <session-type>Stateless</session-type>
                
    <transaction-type>Container</transaction-type>
            
    </session>
        
    </enterprise-beans>
    </ejb-jar>

    在這個新的部署描述符中,使用<service-endpoint>指定了服務端點,同時,必須指定EJB為無狀態會話Bean
    6、生成WEB服務描述

    下面的任務就是生成一個Web服務描述,我們通常使用工具來生成這個描述符。在這里使用J2EE提供的wscompile工具來生成。在使用wscompile工具生成web服務描述前,首先手工編寫一個簡單的XML描述config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
        
    <service 
            
    name="MyHelloBeanService" 
            targetNamespace
    ="urn:HelloBean" 
            typeNamespace
    ="urn:HelloBean"
            packageName
    ="helloBeanService">
            
    <interface name="com.testproject.ejb.web.HelloInterface"/>
        
    </service>
    </configuration>

    在這個描述中,指定了目標的名稱空間、包的名字和Web服務端點接口:HelloInterface。如下命令就可以生成一個web服務描述

    c:\\ HelloBeanService\\ejb \\>wscompile -define -d . -nd . -classpath . config.xml
    自動生成MyHelloBeanService.wsdl文件。
    7、編寫一個web服務映射文件:
    在ejb\\META-INF目錄下新建一個mapping.xml文件,然后編輯這個描述符
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE java-wsdl-mapping PUBLIC
        "-//IBM Corporation,Inc.//DTD J2EE JAX-RPC mapping 1.0//EN"
        "http://www.ibm.com/standards/xml/webservices/j2ee/j2ee_jaxrpc_mapping_1_0.dtd"
    >
    <java-wsdl-mapping>
        
    <package-mapping>
            
    <package-type>HelloBeanService</package-type>
            
    <namespaceURI>urn:HelloBean</namespaceURI>
        
    </package-mapping>
    </java-wsdl-mapping>
    8、編寫webservices.xml文件
    另外,還需要提供webservices.xml文件,并存放到Ejb-jar存檔的META-INF目錄中。各個J2EE產品可能提供相應的部署工具來創建這個文件。
    9、EJB打包
    另外,web服務部署描述符在EJB-JAR文件中的位置是META-INF/webservices.xml.把生成的HelloBeanService.wsdl拷貝到ejb\\META-INF目錄下
    c:\\HelloBeanService\\ejb\\jar cvf ejb.jar com META-INF
    10、Application打包
    HelloBeanService\\MEAT-INF目錄下創建2個文件:application.xml和sun-j2ee-ri.xml
    application.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application PUBLIC '-//Sun Microsystems,
        Inc.//DTD J2EE Application 1.3//EN'
        'http://java.sun.com/dtd/application_1_3.dtd'
    >
    <application>
        
    <description>Application description</description>
        
    <display-name>HelloBeanServiceApp</display-name>
        
    <module>
            
    <ejb>ejb.jar</ejb>
        
    </module>
    </application>

    最后歸檔
    c:\\ HelloBeanService\\ejb\\>copy ejb.jar ../
    c:\\ HelloBeanService\\ejb\\>cd..
    c:\\ HelloBeanService\\\\>jar cvf encryptservice.ear ejb.jar META-INF

     


     

    posted on 2009-11-13 16:13 王永慶 閱讀(159) 評論(0)  編輯  收藏 所屬分類: EJB學習筆記
    <2009年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關注blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产91免费视频| 中国在线观看免费的www| 91免费播放人人爽人人快乐| 久久久久亚洲AV成人无码网站| 国产午夜精品免费一区二区三区| 国产成人亚洲精品91专区手机 | 亚洲免费福利在线视频| 永久免费AV无码国产网站| 亚洲人成电影在线观看青青| 国国内清清草原免费视频99| 亚洲第一区二区快射影院| 女人与禽交视频免费看| 国产精品日本亚洲777| 免费一级毛片不卡不收费| 一级a性色生活片久久无少妇一级婬片免费放 | 亚洲中文字幕在线无码一区二区 | 看成年女人免费午夜视频| 免费v片视频在线观看视频| 五级黄18以上免费看| 亚洲av无码一区二区三区网站| 69pao强力打造免费高清| 亚洲色无码专区一区| 国产一级做a爱免费视频| www.xxxx.com日本免费| 久久国产精品亚洲综合 | www.亚洲精品.com| 成全视频在线观看免费| 亚洲免费二区三区| 日本免费一区尤物| WWW免费视频在线观看播放| 亚洲免费在线视频播放| 亚洲国产成人久久精品99| 无码A级毛片免费视频内谢| 亚洲永久网址在线观看| 一本色道久久综合亚洲精品高清| 日本黄色动图免费在线观看| 亚洲乱码一二三四区国产| 四虎永久免费观看| 日韩免费无码视频一区二区三区 | 在线观看日本亚洲一区| 亚洲精品国产自在久久|