日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

axis2開發(fā)webservice入門到精通

 liang1234_ 2019-05-16

1,準(zhǔn)備工作:

首先我們要下載:axis2-1.4.1-war(發(fā)布webservice),axis2-1.4.1-bin.zip(webservice調(diào)用使用的各種包)。


下載好了,把a(bǔ)xis2-1.4.1-war目錄下面的axis2.war發(fā)布到tomcat中。發(fā)布好,訪問:http://localhost:8080/axis2/  界面如下:

axis2開發(fā)webservice入門到精通
然后編寫我們的java類,注意java類不要包,如下面:


axis2開發(fā)webservice入門到精通

axis2開發(fā)webservice入門到精通

然后把這個類的class文件拷貝D:\apache-tomcat-6.0.36\webapps\axis2\WEB-INF\pojo  如果WEB-INF這個目錄下面沒有pojo這個目錄,那你得必須建立一個,因?yàn)樵赼xis2的配置文件中配置的(文件路徑是:conf/axis2.xml)


axis2開發(fā)webservice入門到精通

 


拷貝后,啟動你的tomcat,訪問http://localhost:8080/axis2/services/listServices  看是否發(fā)布成功,成功界面如下面:


axis2開發(fā)webservice入門到精通

 

這樣 你就可以訪問這兩個方法了,

http://localhost:8080/axis2/services/SimpleService/getGreeting?name=bill 

http://localhost:8080/axis2/services/SimpleService/getPrice


成功界面如下:

axis2開發(fā)webservice入門到精通

axis2開發(fā)webservice入門到精通


 

好,你的webservie就已經(jīng)發(fā)布好,接下來 我們就來調(diào)用發(fā)布的webservice,兩種方法:

第一種:代碼式



 

package com.tl.test;


import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.rpc.client.RPCServiceClient;

import javax.xml.namespace.QName;

public class RPCClient {

 

public static void main(String[] args) throws Exception {

//  使用RPC方式調(diào)用WebService 

RPCServiceClient serviceClient = new RPCServiceClient();

Options options = serviceClient.getOptions();

//  指定調(diào)用WebService的URL

EndpointReference er = new EndpointReference("http://localhost:8080/axis2/services/SimpleService");

options.setTo(er);

 

//  指定getGreeting方法的參數(shù)值

Object[] opAddArgs = new Object[]{"張三"};

 

//指定getGreeting方法返回值的數(shù)據(jù)類型的class對象

Class[] classs = new Class[]{String.class};

 

//指定要調(diào)用的getGreeting方法及wsdl文件的命名空間,第一個參數(shù)表示W(wǎng)SDL文件的命名空間

//通過訪問http://localhost:8080/axis2/services/SimpleService?wsdl 就可以看見 元素的targetNamespace屬性值


界面如下:

axis2開發(fā)webservice入門到精通


QName qname = new QName("http://ws./axis2","getGreeting");

 

//調(diào)用getGreeting方法并輸出該方法的返回值

//這里有三個參數(shù)的意思:1,是QName對象,表示要調(diào)用的方法名;2,webservice的參數(shù)值,參數(shù)類型是Object[];3,返回值class對象,參數(shù)類型是Class[],

System.out.println(serviceClient.invokeBlocking(qname, opAddArgs,classs)[0]);

 

//下面是調(diào)用getPrice方法的代碼,這些代碼與調(diào)用getGreeting方法的代碼類似

 

classs = new Class[]{int.class};

qname = new QName("http://ws./axis2","getPrice");

//如果沒有參數(shù),參數(shù)不能為null,應(yīng)該為new Object[]{},沒有返回值,就應(yīng)該調(diào)用invokeRobust

System.out.println(serviceClient.invokeBlocking(qname, new Object[]{},classs)[0]);

 

}

}


我們運(yùn)行的結(jié)果如下:
axis2開發(fā)webservice入門到精通


第二種:wsdl2java

要配置環(huán)境變量:AXIS2_HOME

這個時候 我們下axis2-1.4.1-bin.zip 這個文件就派上用途了,打開該文件中bin里面就可以找到wsdl2java.bat 


然后我們通過命令行工具 來實(shí)現(xiàn)這個 首先我們到該文件下面的bin目錄,如:

axis2開發(fā)webservice入門到精通

 

然后開始工作:運(yùn)行該命令:wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p com.tl.test -s -o stub


解釋:-uri 后面運(yùn)行的是 你的wsdl, -p 是文件生成的包名 -o stub生成的文件目錄,是bin目錄下面的


運(yùn)行結(jié)果如下:

axis2開發(fā)webservice入門到精通

 

這樣 你就可以在你的bin里面下面找到你要的文件了

如下面:

axis2開發(fā)webservice入門到精通

然后 你就可以把這個類 拷貝到你的工程下面使用了,主要包名,我這里是com.tl.test,所以你相應(yīng)的在你的工程下面建一個com.tl.test,


如下面:

axis2開發(fā)webservice入門到精通


最后,我們就可以建立一個類來測試,代碼如下面:


 

package com.tl.test;



//這樣的方法大大的減少了調(diào)用webservice的步驟,并且代碼更加簡介。但要注意的是,wsdl2java.bat命令生成stub類將

//webservice方法的參數(shù)都封裝在相應(yīng)的類中。

public class StubClient {

 

public static void main(String[] args) throws Exception {

SimpleServiceStub sss = new SimpleServiceStub();

//封裝getGreeting方法的參數(shù)

SimpleServiceStub.GetGreeting gg = new SimpleServiceStub.GetGreeting();

gg.setName("王武");

System.out.println(sss.getGreeting(gg).get_return());

System.out.println(sss.getPrice().get_return());

 

}


}



運(yùn)行效果如下:

axis2開發(fā)webservice入門到精通
到此,我們就結(jié)束,祝你測試通過。


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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多