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请参考前面的文章)
6.重启tomcat服务器,打开浏览器访问http://localhost:8080/axis2/axis2-web/index.jsp
然后点击Services链接,看到如下界面说明我们的WebService发布成功。
点击HelloWorld链接,可以查看该WebService的wsdl文档。
本节内容就到此为止吧,基于axis2的客户端调用放在下节介绍。
WebService学习之旅(五)基于Apache Axis2发布第一个WebService的更多相关文章
- WebService学习之旅(七)Axis2发布WebService的几种方式
前面几篇文章中简单的介绍了如何使用Axis2发布WebService及如何使用Axis2实现Web服务的客户端调用,本节將详细介绍Axis2发布WebService的几种方式. 一.使用aar包方式发 ...
- WebService学习之旅(三)JAX-WS与Spring整合发布WebService
Spring本身就提供了对JAX-WS的支持,有兴趣的读者可以研究下Spring的Spring-WS项目,项目地址: http://docs.spring.io/spring-ws/sites/1.5 ...
- WebService-01-使用jdk发布第一个WebService服务并调用
Webservice是SOAP+XML,SOAP是基于Http的,Http底层是Socket,先回顾一下Socket: Server: public class Server { public sta ...
- WebService学习之旅(六)使用Apache Axis2实现WebService客户端调用
上节介绍了如何使用Axis2 发布一个WebService,Axis2除了为我们编写WebService应用带来了便利,也同样简化的客户端调用的过程,本节在上节的基础上使用Axis2自带的工具生成客户 ...
- WebService学习之旅(四)Apache Axis2的安装
一.Axis2简介 Axis2是目前使用较多的WebService引擎,它是Axis1.x的升级版本,不仅支持SOAP1.1和SOAP1.2,而且也提供了对REST风格WebService的支持. A ...
- Eclipse + Apache Axis2 发布RESTful WebService(一)基础知识
1.什么是WebService 学习 WebService 第一步:体系结构.三元素SOAP/WSDL/UDDI 2.什么是Axis2 Axis2是Apache一套崭新的WebService引擎(框架 ...
- Eclipse + Apache Axis2 发布SOAP WebService(三)第一个程序Hello Axis2 SOAP!
因为Axis2同时支持SOAP和RESTful的WebService开发. 我的目标主要是RESTful,这里简单记录一个SOAP的小例子: 原文地址:https://jingyan.baidu.co ...
- Eclipse + Apache Axis2 发布RESTful WebService(三)第一个程序Hello Axis2 !(未成功)
此路不通 Axis2发布SOAP WebService非常简单,建一个Dynamic Web Project,然后为它建一个Axis的Web Service(Tomcat7+JDK),就会生成Clas ...
- WebService 学习之路(一):了解并使用webService
webService主要用于向其他系统提供接口以便调用,系统间可能开发语言等完全不同,根据约定的接口规范,调用者传递相关参数进行接口调用,服务方根据传入的条件进行业务处理并进行结果返回. webSer ...
随机推荐
- Winform安装包出现无法访问网络位置
1.原因:安装包的安装路径出现了问题 2.如下图:错误路径 3.如下图:正确路径
- 八、子查询、limit及limit的分页
1.子查询 定义:select语句中嵌套select语句被称为子查询 select子句可能出现在select.from.where关键字后面,如下: A.将一个表的查询结果当做是过滤条件 B.将一个表 ...
- 如何正确遍历删除List中的元素,你会吗?
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题.下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合 ...
- Linux下共享库嵌套依赖问题 (转载)
转自:http://my.oschina.net/moooofly/blog/506466 问题场景: 动态库 librabbitmq_r.so 内部依赖动态库 libevent_core.so 和 ...
- CvvImage在高级别的Opencv2.4.11下的配置以及错误解决办法。
由于高版本的OpenCV2.4.11里取消了CImage(CvvImage),在此我们可以用老的版本替代. 在需要的地方引入 #include "CvvImage.h" 就可以用了 ...
- 51nod1483(打表)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1483 题意:中文题诶- 思路: 在输入时预处理每个数据能达到的 ...
- Ruby编程实践
命令 常量大写 类名和模块名首字母大写,驼峰法,MyClass,Person 方法名小写,ruby中末尾添加符号特殊含义:destroyMethod!表示这个方法具有破坏性:isPrime?表示返回b ...
- 端口渗透·网站渗透过程 --21 ,22,873,3306,6379,8080(8080端口是针对CMS的渗透)
声明:文章渗透网站为模拟环境,文章只为利用过程 文章为信息收集和端口渗透两部分,21端口为ftp版本漏洞 8080端口为CMS的渗透 信息收集: ·使用扫描工具nmap ,PortScan 对整个网段 ...
- AndroidTV开发
AndroidTV的开发其实和Android的开发是一样的,现在的电视机可以安装AnroidApp
- 分布式通信-tcp/ip 广播
服务端 /** * 广播 */ public class MulticastServer { public static void main(String[] args) { try { //地址是2 ...