webservices系列(五)——javaweb整合Axis2及多service配置
1.新建一个项目动态web项目webservice_test3。
2.打开<Tomcat安装目录>webapps/axis2/WEB-INF。将lib、conf、modules三个目录复制,并粘贴到webservice_test3项目下的WEB-INF目录下。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVvNDEwNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="227" height="168" alt="">
3.新建service配置文件,在webservice_test3项目下的WEB-INF目录创建services目录,在其下新建myservice目录(名字可任意)。再myservice目录下新建META-INF目录,再在新建的META-INF目录下创建services.xml。
4.写service方法。在src下新建com.lc.service包。并在其下新建NumService.java类。
代码例如以下:
/**
* @author luocheng
* 測试webservice实现类
*/
public class NumService {
public Integer getSum(Integer num1, Integer num2) {
return num1 + num2;
}
}
5.配置service,打开第3步新建的services.xml文件,代码例如以下:
<!-- name是url将訪问的地址 -->
<service name="AxisService">
<description>AxisService</description>
<parameter name="ServiceClass">
com.lc.service.NumService
</parameter>
<operation name="sum">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
在web.xml配置文件下增加例如以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://Java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<servlet>
<servlet-name>AxisService2</servlet-name>
<servlet-class>
org.apache.axis2.transport.http.AxisServlet
</servlet-class>
<!-- 载入顺序。1代表tomcat最先载入该servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- servlet-mapping配置的是servlet的訪问路径
servlet-name:要和上面的servle-name同样
url-pattern:是URL訪问该servlet时的路径前缀
-->
<servlet-mapping>
<servlet-name>AxisService2</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
</web-app>
6.公布项目,訪问http://localhost:8080/webservice_test3/service/AxisService?wsdl
多个service类的配置方法
在services.xml中<service>外套上<serviceGroup></serviceGroup>,就能够写多个service了。
<serviceGroup>
<!--service1配置-->
<service>...</service>
<!--service2配置-->
<service>...</service>
</serviceGroup>
实例配置例如以下
<!-- 配置service路径 -->
<serviceGroup>
<!-- name是url将訪问的地址 -->
<service name="AxisService">
<description>AxisService</description>
<parameter name="ServiceClass">
com.lc.service.NumService
</parameter>
<operation name="sum">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<operation name="dVal">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
<service name="TestService2">
<description>TestService2</description>
<parameter name="ServiceClass">
com.lc.service2.TestService2
</parameter>
<operation name="append">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
</serviceGroup>
webservices系列(五)——javaweb整合Axis2及多service配置的更多相关文章
- Java WebService 教程系列之 Spring 整合 CXF
Java WebService 教程系列之 Spring 整合 CXF 一.引入 jar 包 <dependency> <groupId>org.apache.cxf</ ...
- CSS 魔法系列:纯 CSS 绘制各种图形《系列五》
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
- Netty4.x中文教程系列(五)编解码器Codec
Netty4.x中文教程系列(五)编解码器Codec 上一篇文章详细解释了ChannelHandler的相关构架设计,版本和设计逻辑变更等等. 这篇文章主要在于讲述Handler里面的Codec,也就 ...
- WCF编程系列(五)元数据
WCF编程系列(五)元数据 示例一中我们使用了scvutil命令自动生成了服务的客户端代理类: svcutil http://localhost:8000/?wsdl /o:FirstServic ...
- JVM系列五:JVM监测&工具
JVM系列五:JVM监测&工具[整理中] http://www.cnblogs.com/redcreen/archive/2011/05/09/2040977.html 前几篇篇文章介绍了介 ...
- SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...
- VSTO之旅系列(五):创建Outlook解决方案
原文:VSTO之旅系列(五):创建Outlook解决方案 本专题概要 引言 Outlook对象模型 自定义Outlook窗体 小结 一.引言 在上一个专题中,为大家简单介绍了下如何创建Word解决方案 ...
- 系列五AnkhSvn
原文:系列五AnkhSvn AnkhSvn介绍 AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交.更新.添加文件,而不用在命令行或资源管理器中提交.而且该插件属于开 ...
- java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析
java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析 前言:如有不正确的地方,还望指正. 目录 认识cpu.核心与线程 java ...
随机推荐
- Java Itext 生成PDF文件
利用Java Itext生成PDF文件并导出,实现效果如下: PDFUtil.java package com.jeeplus.modules.order.util; import java.io.O ...
- 最大正方形 同luogu1387
这道题下面这么写就够了(n<=100)暴力,枚举 #include<bits/stdc++.h> #define ULL unsigned long long #define MAX ...
- Map,Filter 和 Reduce
Map会将一个函数映射到一个输入列表的所有元素上 map(function_to_apply, list_of_inputs) items = [1, 2, 3, 4, 5] squared = li ...
- ACM_lowbit
lowbit Time Limit: 2000/1000ms (Java/Others) Problem Description: long long ans = 0; for(int i = 1; ...
- 2017-5新版ionic3.1 新命令及一些常用命令
ionic3.1的新命令: # ionic cordova --help //== 查看命令 # ionic cordova resources // 其中 icon.png (1024*1024) ...
- Android Studio查看CPU使用率。
进入AS自带的CMD,依次输入: (1)进入Android Atudio安卓的目录: 1.H: 2.cd AndroidStudio\sdk\platform-tools (2)adb shell ( ...
- JS——高级各行换色
1.获取tbody下的子元素 2.注册鼠标覆盖事件时存储当时的背景颜色,注册鼠标离开事件时把存储的颜色赋值注册事件对象 <!DOCTYPE html> <html> <h ...
- php用户注册常用检测、写入
// 判断数据库是否已经存在 $check_sql = "select * from user where idNumber='$idNumber'"; $check_query ...
- Nginx 监控
编译安装加上http_stub_status_module 模块 location /status { stub_status on; # access_log /usr/local/nginx/lo ...
- PyCharm社区版+Django搭建web开发环境
PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo ...