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

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

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

    泰仔在線

    java學(xué)習(xí),心情日記,繽紛時(shí)刻
    posts - 100, comments - 34, trackbacks - 0, articles - 0

    使用Axis,要發(fā)布一個(gè)Web服務(wù)非常簡(jiǎn)單,簡(jiǎn)直不能再簡(jiǎn)單了,盡管看起來過程和相關(guān)代碼有些長(zhǎng)。我這個(gè)帖子里用到了這些軟件:Axis 1.1、Eclipse 2.1和Eclipse的Tomcat插件2.2(Sysdeo Tomcat plugin)。發(fā)布的方法如下:

    我要發(fā)布的服務(wù)是一個(gè)圖書商店,公布的方法有添加圖書addBook、列表圖書listBooks、刪除圖書deleteBook等等,為簡(jiǎn)單起見這里就只發(fā)布一個(gè)添加圖書方法,因?yàn)槠渌椒ǖ陌l(fā)布是類似的。

    1、首先在Eclipse里新建一個(gè)名為bookstore的Tomcat工程,注意要安裝了前面說的Tomcat插件才有這個(gè)選項(xiàng)的。如果沒有安裝可以建立一個(gè)java工程,然后手動(dòng)建立必要的目錄結(jié)構(gòu)(WEB-INF等),并在Tomcat的server.xml里手動(dòng)增加與項(xiàng)目對(duì)應(yīng)的<context>項(xiàng)。

    2、接下來建立圖書類(com.bookstore.model.Book),圖書有名稱、ISDN號(hào)和頁數(shù)三個(gè)屬性,這是一個(gè)Bean類,代碼如下:

    package  com.bookstore.model;

    public   class  Book  {
        
    private  String name;
        
    private  String ISDN;
        
    private   int  page;

        
    public  String getISDN()  {
            
    return  ISDN;
        }


        
    public  String getName()  {
            
    return  name;
        }


        
    public   int  getPage()  {
            
    return  page;
        }


        
    public   void  setISDN(String string)  {
            ISDN 
    =  string;
        }


        
    public   void  setName(String string)  {
            name 
    =  string;
        }


        
    public   void  setPage( int  i)  {
            page 
    =  i;
        }


    }

    3、接下來建立用來提供服務(wù)的類(com.bookstore.BookSvc),這個(gè)類就是實(shí)際的功能類了,它里面只有一個(gè)public的addBook()方法,而它的參數(shù)只有一個(gè)就是要添加的圖書。代碼如下:
    package com.bookstore;

    import com.bookstore.model.Book;

    public class BookSvc {
        
        
    public void addBook(Book book){
            
    //here you save a book into database
            System.out.println("Book has been added.");
        }

    }

    4、現(xiàn)在,把下載來的Axis解壓縮到一個(gè)文件夾,這里假設(shè)你解到C:\axis-1_1。把C:\axis-1_1\webapps\axis\WEB-INF\lib目錄下的所有.jar文件復(fù)制到你的這個(gè)web應(yīng)用程序的WEB-INF\lib下,再把C:\axis-1_1\webapps\axis\WEB-INF目錄下的web.xml復(fù)制到你的web應(yīng)用程序的WEB-INF下。這個(gè)步驟相當(dāng)于在你的web應(yīng)用程序中配置了Axis。

    5、為了讓Axis知道你要發(fā)布哪些服務(wù),你得在WEB-INF下建立一個(gè)名為server-config.wsdd的文件,內(nèi)容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     
    <globalConfiguration>
      
    <parameter name="adminPassword" value="admin"/>
      
    <parameter name="attachments.Directory" value="C:\eclipse\workspace\bookstore\WEB-INF\attachments"/>
      
    <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
      
    <parameter name="sendXsiTypes" value="true"/>
      
    <parameter name="sendMultiRefs" value="true"/>
      
    <parameter name="sendXMLDeclaration" value="true"/>
      
    <parameter name="axis.sendMinimizedElements" value="true"/>
      
    <requestFlow>
       
    <handler type="java:org.apache.axis.handlers.JWSHandler">
        
    <parameter name="scope" value="session"/>
       
    </handler>
       
    <handler type="java:org.apache.axis.handlers.JWSHandler">
        
    <parameter name="scope" value="request"/>
        
    <parameter name="extension" value=".jwr"/>
       
    </handler>
      
    </requestFlow>
     
    </globalConfiguration>
     
    <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
     
    <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
     
    <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
     
    <service name="Version" provider="java:RPC">
      
    <parameter name="allowedMethods" value="getVersion"/>
      
    <parameter name="className" value="org.apache.axis.Version"/>
     
    </service>
     
    <service name="BookSvc" provider="java:RPC">
      
    <parameter name="allowedMethods" value="*"/>
      
    <parameter name="className" value="com.bookstore.BookSvc"/>
     
    </service>
     
    <service name="AdminService" provider="java:MSG">
      
    <parameter name="allowedMethods" value="AdminService"/>
      
    <parameter name="enableRemoteAdmin" value="false"/>
      
    <parameter name="className" value="org.apache.axis.utils.Admin"/>
      
    <namespace>http://xml.apache.org/axis/wsdd/</namespace>
     </service>
     
    <transport name="local">
      
    <responseFlow>
       
    <handler type="LocalResponder"/>
      
    </responseFlow>
     
    </transport>
     
    <transport name="http">
      
    <requestFlow>
       
    <handler type="URLMapper"/>
       
    <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
      
    </requestFlow>
     
    </transport>
    </deployment>
    這個(gè)文件里發(fā)布了三個(gè)服務(wù):Version、AdminService和我們的BookSvc。還有一個(gè)方法可以生成這個(gè)文件,好象Axis推薦使用這種生成的方法,就是在同樣目錄下寫一個(gè)deploy.wsdd文件(如果不想看可以直接跳到下一步),內(nèi)容如下:
    <deployment xmlns="http://xml.apache.org/axis/wsdd/"
                xmlns:java
    ="http://xml.apache.org/axis/wsdd/providers/java">
     
    <service name="BookSvc" provider="java:RPC">
      
    <parameter name="className" value="com.bookstore.BookSvc"/>
      
    <parameter name="allowedMethods" value="*"/>
     
    </service>
    </deployment>
    也就是說deploy.wsdd里只包含關(guān)于我們的服務(wù)的描述,確認(rèn)Tomcat已經(jīng)啟動(dòng),然后在同一目錄下用下面這個(gè)命令生成server-config.wsdd文件:
    java org.apache.axis.client.AdminClient -lhttp://localhost:8080/bookstore/services/AdminService deploy.wsdd

    其中bookstore是我這個(gè)web應(yīng)用程序的虛擬路徑。

    6、重新啟動(dòng)Tomcat,訪問路徑http://localhost:8080/bookstore/services,就可以看到現(xiàn)在發(fā)布了三個(gè)Web服務(wù)。點(diǎn)擊每個(gè)服務(wù)后的wsdl鏈接可以看到對(duì)應(yīng)的WSDL描述。

    主站蜘蛛池模板: 亚洲日韩国产欧美一区二区三区| 麻豆视频免费观看| 久久精品国产亚洲AV电影网| 伊人久久综在合线亚洲2019| 亚洲国产天堂久久综合| 麻豆成人精品国产免费| 在线视频免费观看高清| 91精品免费观看| 美女在线视频观看影院免费天天看 | 亚洲综合精品香蕉久久网97| 久久久久国产成人精品亚洲午夜| 国产色爽免费视频| 影音先锋在线免费观看| 欧美a级在线现免费观看| 成人免费视频69| 69av免费视频| 美女内射毛片在线看免费人动物 | 精品久久久久久亚洲| 亚洲国产精品成人久久蜜臀 | 亚洲伊人久久大香线焦| 亚洲伊人久久大香线蕉苏妲己| 国产成人精品日本亚洲| 国产亚洲精aa成人网站| 久久综合亚洲色HEZYO国产| 亚洲高清无码在线观看| 亚洲国产精品综合久久一线 | aaa毛片视频免费观看| 丰满少妇作爱视频免费观看| 免费国产草莓视频在线观看黄| 国产亚洲人成在线播放| 国产精品国产亚洲区艳妇糸列短篇| 亚洲精品无码av中文字幕| 亚洲欧美日韩综合久久久| 亚洲国产精品ⅴa在线观看| 亚洲成AV人片在WWW| 免费视频精品一区二区| 一级毛片免费在线播放| 三级黄色免费观看| 日韩人妻一区二区三区免费| 日本最新免费网站| 四虎影院免费在线播放|