<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

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成AV人片在| 久久精品国产亚洲AV不卡| 亚洲AV无码专区亚洲AV伊甸园| 免费VA在线观看无码| 亚洲欧美日韩综合久久久久| 亚洲乱妇熟女爽到高潮的片| 青娱分类视频精品免费2| 日韩a级毛片免费观看| 亚洲av永久无码精品网站| 曰批免费视频播放在线看片二| 国产hs免费高清在线观看| 亚洲av综合日韩| 亚洲A丁香五香天堂网| 一进一出60分钟免费视频| 2015日韩永久免费视频播放| 亚洲视频.com| 一级做a毛片免费视频| 亚洲午夜精品第一区二区8050| 一区二区三区免费高清视频| 在线亚洲人成电影网站色www| 亚洲黄页网在线观看| 国产性生大片免费观看性| 夜夜春亚洲嫩草影院| 国产真人无码作爱免费视频| 久久久久亚洲av无码尤物| 2021在线观看视频精品免费| 亚洲美国产亚洲AV| 久久久青草青青国产亚洲免观 | 亚洲欧洲一区二区三区| 亚洲中文字幕AV每天更新| 日本在线看片免费人成视频1000| 97人伦色伦成人免费视频| 亚洲最大中文字幕无码网站| 国产成人在线观看免费网站 | 在线播放免费人成毛片乱码| 亚洲精品一区二区三区四区乱码| 97人伦色伦成人免费视频| 久久99精品免费一区二区| 亚洲精品视频免费看| 国产一级淫片a免费播放口之| 三级黄色免费观看|