Axis2搭建WebService服务
使用Axis2搭建WebService服务
文章目录
- 一、服务端部署
- 1.1 在web.xml配置文件中添加映射路径:
- 2. 创建目录及文件
- 3. 新建服务接口
- 4. 新建接口实现类
- 5. 发布服务
- 6. 浏览器测试
- 二、客户端部署
- 2.1 Axis2客户端通用工具类封装(企业版本)
- 2.2 单元测试(命名空间默认):
- 2.3 单元测试:命名空间根据需求,名称为gblfy
- 三、jar包依赖获取
- 3.1 登录axis2官网下载即可
- 3.2 war包部署tomcat
- 本文源码下载:
一、服务端部署
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. 创建目录及文件
- 在WEB-INF下面新建services文件夹,在services文件夹下面新建conf文件夹,在conf文件夹下面新建META-INF文件夹,在META-INF文件夹下面新建services.xml文件:
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 1. name : 指定接口服务名,随便定义 2. targetNamespace::命名空间 自定义(默认包路径反着)3. description :服务的作用说明,可写可不写 -->
<service name="ExposureServiceName" targetNamespace="gblfy"><description>测试spring-axis2</description><!-- 1. 自定义 name 2. 指定要发布的类路径 --><parameter name="ServiceClass">com.gblfy.axis2.service.impl.WebServiceImpl</parameter><!-- 1. name : 类里面的方法名 2. 指定要发布的类路径 3. 有其他方法就在写个operation标签--><operation name="forward"><messageReceiverclass="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /></operation><operation name="hello"><messageReceiverclass="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /></operation><schema schemaNamespace="gblfy"/>
</service>
3. 新建服务接口
4. 新建接口实现类
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. 发布服务
6. 浏览器测试
http://localhost:8081/spring-axis2/services/ExposureServiceName?wsdl
效果图:
手动设置命名空间截图(没有需求,保持默认即可,如果有这样的需求,按照我照样是设置即可):
注:为了满足需求,命名空间,我手动设置过
二、客户端部署
2.1 Axis2客户端通用工具类封装(企业版本)
/*** * @param url 服务调用地址* @param nameSpace 命名空间* @param method 方法名* @param tReqXml 请求报文* @return response 响应报文*/public String webserviceAxis2Client(String url, String nameSpace, String method, String tReqXml) {Object[] response = null;try {// 本机tomcat端口默认为8081,参数是wsdl网址的一部分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 单元测试:命名空间根据需求,名称为gblfy
第一种:
public static void main(String[] args) {String url = "http://localhost:8081/spring-axis2/services/ExposureServiceName?wsdl";String nameSpace = "http://impl.service.axis2.gblfy.com";
// String method = "forward";String method = "hello";String tReqXml = "Axis2客户端调用成功";WebserviceClientUtils a = new WebserviceClientUtils();a.webserviceAxis2Client(url, nameSpace, method, tReqXml);}
第二种:
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客户端调用成功";WebserviceClientUtils a = new WebserviceClientUtils();a.webserviceAxis2Client(url, nameSpace, method, tReqXml);}
任选其一即可
控制台输出:
三、jar包依赖获取
3.1 登录axis2官网下载即可
http://axis.apache.org/axis2/java/core/download.cgi
3.2 war包部署tomcat
- 将war包放到tomcat的webapp目录下面,启动tomcat就可以看到Axis2的首页。
项目所用到的jar从第1个压缩包中取,简单直接从lib文件夹里面的jar全部复制到项目中即可
本文源码下载:
链接 | https://pan.baidu.com/s/1Ww6qrAopbIiQReIeojd4tg |
---|---|
提取码 | hjlx |
Axis2搭建WebService服务相关推荐
- SpringBoot+Axis2搭建WebService服务端
SpringBoot+Axis2搭建WebService服务端 之前用过Spring + Axis2搭建过WebService项目,网上也有很多资料教程,最近需要在一个SpringBoot项目中添加A ...
- Spring boot集成axis2开发webservice 服务
Spring boot集成axis2开发webservice 服务 1.新建Spring boot 项目 此处省略... 项目结构如下: 2.添加Axis2依赖 <!--axis2版本信息--& ...
- Axis2调用WebService服务的3种方式(rpc调用不好用)
第一,RPC方式,不生成客户端代码,引入相应的axis2的jar包(不好用) 注意:暂时没有成功调用,没有参数传递时远程调用成功,当有参数传递时远程调用失败: package com.ming.axi ...
- gsoap搭建WebService服务
WebService.soap.gsoap基本概念 WebService服务基本概念:就是一个应用程序,它向外界暴露出一个可以通过web进行调用的API,是分布式的服务组件.本质上就是要以标准的形式实 ...
- java的cxf的maven_Maven+Spirng+Mybatis+CXF搭建WebService服务
修改pom.xml配置文件 增加以下配置 3.1.1 org.apache.cxf cxf-rt-frontend-jaxws ${cxf.version} org.apache.cxf cxf-rt ...
- 使用Axis2创建一个简单的WebService服务
使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...
- 在Eclipse中通过axis2调用网络免费webService服务
上上一篇blog讲到了如何用axis2建立webService(sayHello),然后调用的方法. http://www.cnblogs.com/Jason_Chan/archive/2013/04 ...
- 使用axis2进行WebService的开发
使用axis2进行WebService的开发 Apache Axis2 是 Apache Axis SOAP 项目的后继项目.此项目是 Web 服务核心引擎的重要改进,目标是成为 Web 服务和面向服 ...
- php webservice 上传,PHP实现WebService服务
第一步,安装PHP扩展SOAP并开启扩展,是否开启成功以phpinfo为准. 第二步,创建服务端文件server.php {public functionhello(){return "He ...
最新文章
- c# webBrowser打开pdf问题
- 关于ANDRID sdk安装过慢问题
- C++ Primer 5th笔记(2)chapter 2变量和基本类型:引用、const
- 《数智碳中和》白皮书发布以数智技术助力关键相关方实现碳达峰碳中和
- prometheus监控耗时MySQL_Grafana+Prometheus监控mysql性能
- 《炉石传说》的退环境机制失败在哪
- oracle 账户 锁定 密码忘记了,Oracle System密码忘记 密码修改、删除账号锁定lock
- 算法只能应用于计算机吗,把你的原则转换成算法,让计算机和你一起决策
- 156.PHP多进程
- 自定义View - 仿即刻轮播
- db4o_8.0对象数据库官方文档翻译_学习笔记一
- 【Java】 牛客网华为机试108题汇总
- ubuntu12.04双屏拼接
- 10^5以下素数筛法——素数表法
- word ftl操作
- 李宏毅机器学习01机器学习介绍
- BP神经网络——基于近红外光谱的汽油辛烷值预测
- 计算机usb无法识别网络连接,usb无法识别是什么原因 usb无法识别解决方法【详解】...
- 智能机器人与智能系统(大连理工大学庄严教授)——3.工业机器人
- MySQL必知必会二十三:使用存储过程