小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

使用Axis發(fā)布簡(jiǎn)單的Web服務(wù)

 Joshua 2006-02-20

使用Axis,要發(fā)布一個(gè)Web服務(wù)非常簡(jiǎn)單,簡(jiǎn)直不能再簡(jiǎn)單了,盡管看起來(lái)過(guò)程和相關(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工程,注意要安裝了前面說(shuō)的Tomcat插件才有這個(gè)選項(xiàng)的。如果沒(méi)有安裝可以建立一個(gè)java工程,然后手動(dòng)建立必要的目錄結(jié)構(gòu)(WEB-INF等),并在Tomcat的server.xml里手動(dòng)增加與項(xiàng)目對(duì)應(yīng)的<context>項(xiàng)。

2、接下來(lái)建立圖書類(com.bookstore.model.Book),圖書有名稱、ISDN號(hào)和頁(yè)數(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、接下來(lái)建立用來(lái)提供服務(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)在,把下載來(lái)的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./axis/wsdd/" xmlns:java="http://xml./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./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./axis/wsdd/"
            xmlns:java
="http://xml./axis/wsdd/providers/java">
 
<service name="BookSvc" provider="java:RPC">
  
<parameter name="className" value="com.bookstore.BookSvc"/>
  
<parameter name="allowedMethods" value="*"/>
 
</service>
</deployment>

也就是說(shuō)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,訪問(wèn)路徑http://localhost:8080/bookstore/services,就可以看到現(xiàn)在發(fā)布了三個(gè)Web服務(wù),如下圖。點(diǎn)擊每個(gè)服務(wù)后的wsdl鏈接可以看到對(duì)應(yīng)的WSDL描述。

相關(guān)鏈接:

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多