如何在工程中使用axis2部署webservice

有一个最简单的方法就是把axis2.war中的内容作为Web Project的基础, 来进行开发.

不过为了更清楚的了解如何在一个已有的Web Project中嵌入axis2, 那就手动来配置。大致分如下几个步骤:

一、新建Web Project,名为“WebServiceDemo”

二、下载axis2-1.5-war.zip包,解压缩

将axis2/WEB-INF/lib 里的jar包拷贝到 WebServiceDemo/WebRoot/WEB-INF/lib/

将axis2.war/axis2-web拷贝至WebServiceDemo/ WebRoot/axis2-web/

axis2需要的JAR包:

三、配置axis2 servlet

打开WebServiceDemo/WebRoot/WEB-INF/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>

四、写一个简单的web服务类

package service;         
public class MyService {      
              public String sayHello(String name) {  
                     return name + "says /"Hello!/"";  
              }         
}  

五、配置Web Service.

由于axis2已嵌入到WebServiceDemo项目中,所以web service就不用打包成aar,而是直接在/WEB-INF目录下创建相应的文件夹和services.xml,目录结构如下图:

六、services.xml

<?xml version="1.0" encoding="UTF-8"?>  
<service name="fmService" targetNamespace="http://webservice.sinohuarui.com">
	<schema schemaNamespace="http://webservice.sinohuarui.com/xsd/" />
	<description>
		my web service
	</description>
	<parameter name="ServiceClass">service.MyService</parameter>  
	<operation name="sayHello">           
		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />      
	</operation>
</service>

如果一个类具有多个webservice方法的时候,使用serviceGroup进行配置:

<?xml version="1.0" encoding="UTF-8"?>  
<serviceGroup>  
       <service name="myService">  
              <description>Web Service例子</description>  
              <parameter name="ServiceClass">service.MyService</parameter>  
              <messageReceivers>  
                     <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
                     <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
              </messageReceivers>  
       </service>  
</serviceGroup> 

七、在浏览器中访问http://localhost:8080/WebServiceDemo/services/listServices

可以看到myService服务,说明服务已部署成功

       输入http://localhost:8080/WebServiceDemo/services/myService?wsdl

       可以查看到该Web服务的描述文件

其实,axis2-web下面的东西可以不要那么多,我就只保留了index.jsp,httpbase.jsp和listServices.jsp这三个文件,这样集成后的工程就瘦身了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴伟祥

IDEA 主题样式 原

0.Settings-->Appearrance&Behavior  --> theme: Windows

775
来自专栏有困难要上,没有困难创造困难也要上!

Caffe Python开发环境设置

36613
来自专栏电光石火

Sublime Text 快速格式化

HTML/CSS/JS 格式化插件:HTML/CSS/JS Prettify 安装过程: 在Sublime Text中,按下Ctrl+Shift+...

1846
来自专栏小俊博客

Windows10中的键盘快捷方式

Windows 徽标键 + Shift + C打开超级按钮菜单Windows 徽标键 + D显示和隐藏桌面Windows 徽标键 + Alt + D显示和隐藏桌...

922
来自专栏子勰随笔

iMac(OS X)不可或缺的套件管理器 —— Homebrew

1525
来自专栏别先生

Give root password for maintenance(or type control -D to continue)

2017-09-30 18:12:08 1:错误如图,本来开机准备用一下虚拟机,就出现一个这,为啥记录一下呢,因为网上好多不是很靠谱。 原因可能是之前关闭虚拟...

2558
来自专栏岑志军的专栏

设置iTerm2为默认终端

1597
来自专栏张戈的专栏

Linux系统 df 命令显示异常、分区丢失问题解决

本文记录 2 种因 /etc/mtab 文件异常导致 df 命令显示异常、分区丢失问题的解决过程,以备后用。 ? 一、根目录丢失 前些日子,同事在 RTX 群里...

52910
来自专栏哎_小羊

SonarQube 的安装、配置及 Maven 项目的使用

目录 SonarQube 介绍 环境、软件准备 SonarQube 安装 Plugins 插件安装 使用 SonarQube 分析 Maven 项目 1、Son...

3968
来自专栏乐享123

How to Penetrate GFW With ShadowSocks Docker Container on Centos7

1564

扫码关注云+社区