1. 程式人生 > >WebService學習之旅(五)基於Apache Axis2釋出第一個WebService

WebService學習之旅(五)基於Apache Axis2釋出第一個WebService

上篇博文介紹瞭如何將axis2 webservice引擎安裝到Web容器中,本節開始介紹如何基於apache axis2釋出第一個簡單的WebService。

一、WebService服務端釋出步驟
1.開啟Eclipse工程,新建一個Java Project,例如筆者工程名為axis2-recipe01。

2.編寫Web服務介面及實現類
HelloWorld.java

package com.csdn.ws.axis2.recipe01;

public interface HelloWorld {
    String sayHello(String name);
}

HelloWorldImpl.java

package com.csdn.ws.axis2.recipe01;

public class HelloWorldImpl implements HelloWorld {

    @Override
    public String sayHello(String name) {
        return "hello," + name;
    }

}

大家可能已經注意到了,前面我們使用jax-ws釋出webservice時,web服務介面和實現類需要使用註解@WebService和@WebMethod修飾,但是使用axis2引擎時並不需要。

2.在工程根路徑下,新建一個META-INF目錄,然後在該目錄下新建一個services.xml檔案,注意名稱不能改變。

3.開啟services.xml,新增webservice的描述資訊,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<service name="HelloWorld">
    <description>
        HelloWorld Service Example
    </description>
    <parameter name="ServiceClass">
        com.csdn.ws.axis2.recipe01.HelloWorldImpl
    </parameter
>
<parameter name="useOriginalwsdl"> false </parameter> <operation name="sayHello"> <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> </service>

根節點為service,它的name屬性指定webservice名稱,parameter標籤用於指定一些配置引數,上面的ServiceClass引數指定webservice介面,useOriginalwsdl引數指定是否使用axis2自動生成wsdl,該引數通常為false,表示由axis2自動生成wsdl。operation標籤指定對外發布的方法名。

4.在工程上點選右鍵=>export=>Jar File,點選Next按鈕,去掉.classpath和.project檔案選擇。

5.儲存檔名為axis2-recipe01.aar,將此檔案複製到%TOMCAT_HOME%/webapps/axis2/WEB-INF/services目錄下。
(注:axis2安裝到tomcat請參考前面的文章)

點選HelloWorld連結,可以檢視該WebService的wsdl文件。
這裡寫圖片描述

本節內容就到此為止吧,基於axis2的客戶端呼叫放在下節介紹。