<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 王永慶 閱讀(161) 評論(0)  編輯  收藏 所屬分類: EJB學習筆記
    <2009年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關注blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av手机在线观看| 久久久久久久91精品免费观看 | 中国人xxxxx69免费视频| 好看的电影网站亚洲一区| 国产精品极品美女自在线观看免费 | 无码中文字幕av免费放| 亚洲制服丝袜在线播放| 久久受www免费人成_看片中文| 亚洲欧洲国产经精品香蕉网| 亚洲免费中文字幕| 激情五月亚洲色图| 日本xxwwxxww在线视频免费| 美女扒开尿口给男人爽免费视频| 亚洲不卡AV影片在线播放| 男女作爱免费网站| 亚洲精品高清无码视频| 国产激情免费视频在线观看| 亚洲欧洲国产日韩精品| 又黄又爽又成人免费视频| 亚洲日本在线电影| 亚洲乱码中文字幕综合234| 99免费在线视频| 亚洲福利电影在线观看| 最近免费中文字幕大全视频 | 亚洲大尺度无码无码专线一区 | 久久亚洲国产精品五月天| 久久久精品2019免费观看| 亚洲成_人网站图片| 国产女高清在线看免费观看| 中国一级特黄高清免费的大片中国一级黄色片 | 美女视频黄视大全视频免费的| 伊人久久精品亚洲午夜| 91免费福利精品国产| 亚洲欧美日韩综合久久久| 亚洲日本va午夜中文字幕久久| 免费无码VA一区二区三区| 亚洲AV无码成人精品区日韩| 久久久久亚洲AV无码专区网站 | 免费国产高清毛不卡片基地 | 国产免费看JIZZ视频| 九九免费久久这里有精品23|