上篇博文介绍了如何將axis2 webservice引擎安装到Web容器中,本节开始介绍如何基于apache axis2发布第一个简单的WebService。

一、WebService服务端发布步骤

1.打开Eclipse工程,新建一个Java Project,例如笔者工程名为axis2-recipe01。

2.编写Web服务接口及实现类

HelloWorld.java

  1. package com.csdn.ws.axis2.recipe01;
  2. public interface HelloWorld {
  3. String sayHello(String name);
  4. }

HelloWorldImpl.java

  1. package com.csdn.ws.axis2.recipe01;
  2. public class HelloWorldImpl implements HelloWorld {
  3. @Override
  4. public String sayHello(String name) {
  5. return "hello," + name;
  6. }
  7. }

大家可能已经注意到了,前面我们使用jax-ws发布webservice时,web服务接口和实现类需要使用注解@WebService和@WebMethod修饰,但是使用axis2引擎时并不需要。

2.在工程根路径下,新建一个META-INF目录,然后在该目录下新建一个services.xml文件,注意名称不能改变。

3.打开services.xml,添加webservice的描述信息,内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <service name="HelloWorld">
  3. <description>
  4. HelloWorld Service Example
  5. </description>
  6. <parameter name="ServiceClass">
  7. com.csdn.ws.axis2.recipe01.HelloWorldImpl
  8. </parameter>
  9. <parameter name="useOriginalwsdl">
  10. false
  11. </parameter>
  12. <operation name="sayHello">
  13. <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
  14. </operation>
  15. </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的更多相关文章

  1. WebService学习之旅(七)Axis2发布WebService的几种方式

    前面几篇文章中简单的介绍了如何使用Axis2发布WebService及如何使用Axis2实现Web服务的客户端调用,本节將详细介绍Axis2发布WebService的几种方式. 一.使用aar包方式发 ...

  2. WebService学习之旅(三)JAX-WS与Spring整合发布WebService

    Spring本身就提供了对JAX-WS的支持,有兴趣的读者可以研究下Spring的Spring-WS项目,项目地址: http://docs.spring.io/spring-ws/sites/1.5 ...

  3. WebService-01-使用jdk发布第一个WebService服务并调用

    Webservice是SOAP+XML,SOAP是基于Http的,Http底层是Socket,先回顾一下Socket: Server: public class Server { public sta ...

  4. WebService学习之旅(六)使用Apache Axis2实现WebService客户端调用

    上节介绍了如何使用Axis2 发布一个WebService,Axis2除了为我们编写WebService应用带来了便利,也同样简化的客户端调用的过程,本节在上节的基础上使用Axis2自带的工具生成客户 ...

  5. WebService学习之旅(四)Apache Axis2的安装

    一.Axis2简介 Axis2是目前使用较多的WebService引擎,它是Axis1.x的升级版本,不仅支持SOAP1.1和SOAP1.2,而且也提供了对REST风格WebService的支持. A ...

  6. Eclipse + Apache Axis2 发布RESTful WebService(一)基础知识

    1.什么是WebService 学习 WebService 第一步:体系结构.三元素SOAP/WSDL/UDDI 2.什么是Axis2 Axis2是Apache一套崭新的WebService引擎(框架 ...

  7. Eclipse + Apache Axis2 发布SOAP WebService(三)第一个程序Hello Axis2 SOAP!

    因为Axis2同时支持SOAP和RESTful的WebService开发. 我的目标主要是RESTful,这里简单记录一个SOAP的小例子: 原文地址:https://jingyan.baidu.co ...

  8. Eclipse + Apache Axis2 发布RESTful WebService(三)第一个程序Hello Axis2 !(未成功)

    此路不通 Axis2发布SOAP WebService非常简单,建一个Dynamic Web Project,然后为它建一个Axis的Web Service(Tomcat7+JDK),就会生成Clas ...

  9. WebService 学习之路(一):了解并使用webService

    webService主要用于向其他系统提供接口以便调用,系统间可能开发语言等完全不同,根据约定的接口规范,调用者传递相关参数进行接口调用,服务方根据传入的条件进行业务处理并进行结果返回. webSer ...

随机推荐

  1. atexit函数详解

    对C语言有所了解的人都知道main函数是整个程序的入口,但是其实不然,在内核中可以使用链接器来设置程序的开始地方.当内核使⽤⼀个exec函数执⾏C程序时,在调⽤main函数之前先调⽤⼀个特殊的启动例程 ...

  2. bzoj2959

    lct+并查集 联赛之后忘了很多东西 复习一下 这并不是一棵树,所以我们不能直接上lct 但是把双联通分量缩了以后就是一棵树了 怎么缩呢 就是把splay拆了合并到一个点上 连通性和双联通分量拿两个并 ...

  3. AngularJS系统学习之Directive(指令)

    本文转自https://www.w3ctech.com/topic/1612 原文作者: Nicolas Bevacqua 原文:AngularJS’ Internals In Depth, Part ...

  4. Linux中如何开启8080端口供外界访问 和开启允许对外访问的端口8000

    举例: 开放10000端口的解决步骤如下: 1.修改/etc/sysconfig/iptables文件,增加如下一行: -A INPUT -m state --state NEW -m tcp -p ...

  5. LeetCode: 258 Add Digits(easy)

    题目: Given a non-negative integer num, repeatedly add all its digits until the result has only one di ...

  6. Fitnesse的一个简单实例

    Fixture 代码 package eg; import org.joda.time.DateTime; public class JodaTime { int year; public Strin ...

  7. laravel SQL语句

    DB::table('表名')->get();   //查询表里的所有数据 DB::table('表名')->where()->find(需要查询的条数);    查询单或多条数据 ...

  8. 使用JRegex抽取网页信息

    当网络爬虫将网页下载到磁盘上以后,需要对这些网页中的内容进行抽取,为索引做准备.一个网页中的数据大部分是HTML标签,索引肯定不会去索引这些标签.也就是说,这种信息是没有用处的信息,需要在抽取过程中过 ...

  9. eclipse svn 相关

    eclipse本身带有cvs插件,我们也可以在eclipse里面加上svn插件,请参考eclipse安装svn插件,以及使用,但是在eclipse的左边栏,.svn,.cvs的文件会显示出来,目录拉的 ...

  10. [Noip2012普及组]摆花

    Description 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的 n 种花,从 1 到 n 标号.为了在门口展出更多种花,规定 ...