Axis2搭建WebService服务
生活随笔
收集整理的這篇文章主要介紹了
Axis2搭建WebService服务
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用Axis2搭建WebService服務(wù)
文章目錄
- 一、服務(wù)端部署
- 1.1 在web.xml配置文件中添加映射路徑:
- 2. 創(chuàng)建目錄及文件
- 3. 新建服務(wù)接口
- 4. 新建接口實現(xiàn)類
- 5. 發(fā)布服務(wù)
- 6. 瀏覽器測試
- 二、客戶端部署
- 2.1 Axis2客戶端通用工具類封裝(企業(yè)版本)
- 2.2 單元測試(命名空間默認):
- 2.3 單元測試:命名空間根據(jù)需求,名稱為gblfy
- 三、jar包依賴獲取
- 3.1 登錄axis2官網(wǎng)下載即可
- 3.2 war包部署tomcat
- 本文源碼下載:
一、服務(wù)端部署
1.1 在web.xml配置文件中添加映射路徑:
<servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>2. 創(chuàng)建目錄及文件
- 在WEB-INF下面新建services文件夾,在services文件夾下面新建conf文件夾,在conf文件夾下面新建META-INF文件夾,在META-INF文件夾下面新建services.xml文件:
文件內(nèi)容如下:
3. 新建服務(wù)接口
4. 新建接口實現(xiàn)類
package com.gblfy.axis2.service.impl;import com.gblfy.axis2.service.IWebService;public class WebServiceImpl implements IWebService{public String hello(String name) {return "你好:" + name;}@Overridepublic String forward(String strXml) {return "測試TestService:" + strXml;} }5. 發(fā)布服務(wù)
6. 瀏覽器測試
http://localhost:8081/spring-axis2/services/ExposureServiceName?wsdl
效果圖:
手動設(shè)置命名空間截圖(沒有需求,保持默認即可,如果有這樣的需求,按照我照樣是設(shè)置即可):
注:為了滿足需求,命名空間,我手動設(shè)置過
二、客戶端部署
2.1 Axis2客戶端通用工具類封裝(企業(yè)版本)
/*** * @param url 服務(wù)調(diào)用地址* @param nameSpace 命名空間* @param method 方法名* @param tReqXml 請求報文* @return response 響應(yīng)報文*/public String webserviceAxis2Client(String url, String nameSpace, String method, String tReqXml) {Object[] response = null;try {// 本機tomcat端口默認為8081,參數(shù)是wsdl網(wǎng)址的一部分EndpointReference targetEPR = new EndpointReference(url);RPCServiceClient sender = new RPCServiceClient();Options options = sender.getOptions();options.setTimeOutInMilliSeconds(2 * 20000L);// 超時時間20soptions.setTo(targetEPR);QName qname = new QName(nameSpace, method);Object[] param = new Object[] { tReqXml };Class<?>[] types = new Class[] { String.class }; // 這是針對返值類型的response = sender.invokeBlocking(qname, param, types);System.out.println(response[0]);} catch (AxisFault e) {e.printStackTrace();}return (String) response[0];}2.2 單元測試(命名空間默認):
命名空間默認:
2.3 單元測試:命名空間根據(jù)需求,名稱為gblfy
第一種:
第二種:
public static void main(String[] args) {String url = "http://localhost:8081/spring-axis2/services/ExposureServiceName?wsdl";String nameSpace = "gblfy"; // String method = "forward";String method = "hello";String tReqXml = "Axis2客戶端調(diào)用成功";WebserviceClientUtils a = new WebserviceClientUtils();a.webserviceAxis2Client(url, nameSpace, method, tReqXml);}任選其一即可
控制臺輸出:
三、jar包依賴獲取
3.1 登錄axis2官網(wǎng)下載即可
http://axis.apache.org/axis2/java/core/download.cgi
3.2 war包部署tomcat
- 將war包放到tomcat的webapp目錄下面,啟動tomcat就可以看到Axis2的首頁。
項目所用到的jar從第1個壓縮包中取,簡單直接從lib文件夾里面的jar全部復(fù)制到項目中即可
本文源碼下載:
| 提取碼 | hjlx |
總結(jié)
以上是生活随笔為你收集整理的Axis2搭建WebService服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件设计师 - UML图
- 下一篇: 03_SpringCloud整合Ribb