axis2集成到自己的项目中demo

axis2集成到自己的项目中demo   

2009-06-10 11:50:33 |  分类: java | 字号   订阅

axis2之前只用过jws方式的即时部 署,最近一个项目要搞web service,一搜搜出一堆,发现自己已经太落后了,axis2怎么怎么好,XFire怎么性能高,绑定的方式有adb,xmlbeans,jibx等 等好几种,简直眼花缭乱,废话少说了,折腾了一个星期,总结了一点小经验,给大家少走弯路。一般网上的教程都是下载axis2的war包放到 webapps下,很少有说把axis2集成到自己的web项目中的。经过测试,按以下几步即可:

第一步:下载axis2的war, 放到tomcat下的webapps目录下,启动tomcat,自动解包出 axis2目录。

第 二步:将axis2目录下的关键文件和目录拷贝到自己的项目中。拷贝axis2/web-inf下的所有目录到你自己的web目录的web-inf下面, 除了modules目录(这个没用)。lib下的jar包还是单独拷吧,别覆盖了你的jar包。另外关键的是要修改conf目录下的axis2.xml, 注释掉关于module方面的代码就是addressing的那一行一定要注释掉。

第三步:修改你的web.xml,增加axis2的servelet

<servlet> 
      <display-name>Apache-Axis Servlet</display-name> 
      <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>

第四步:写服务端代码并编译:

package axis2test;

public class AddService {
    public int add(int a,int b)
    {
        return a+b;
    }
}

第 五步:进入web-inf/services目录下,可以看见原来axis2自带的一个version.*.aar, aar其实就是一个jar,改名了而已,用winrar打开他,清空里面的东西,然后把你的class带着目录拷贝进来,再建立一个META-INF目 录,里面放一个services.xml, 这样tomcat启动时候就可以自动部署它了。下面看看services.xml怎么写:

<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
 <service name="NBIService">
  <description>This is the service for revoking certificate.</description>
  <parameter name="ServiceClass" locked="false">oma.nbi.NBIServer</parameter>
  <operation name="sayHello">
   <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
   <actionMapping>urn:sayHelloRequest</actionMapping>
  </operation>
 </service>
</serviceGroup>

这是一种RawXMLINOutMessageReceiver模式的,适用于axiom绑定的架构,我们不用它,用RPC方式:

<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
 <service name="AddService">
  <description>This is the service for revoking certificate.</description>
  <parameter name="ServiceClass" locked="false">axis2test.AddService</parameter>
  <operation name="add">
   <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
  </operation>
 </service>
</serviceGroup>

好了,server端就部署好了,现在启动tomcat,用ie查看wsdl,顺利的话,应该可以看到

http://localhost:8080/你web项目的名字/services/AddService?wsdl 来查看

第六步:

下面写客户端代码:

import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;


public class TestClient {

    public static void main(String[] args) throws AxisFault {
        EndpointReference targetEPR = new EndpointReference(
                "http://localhost/ext2/services/AddService.AddServiceHttpSoap11Endpoint/ ");
        RPCServiceClient serviceClient = new RPCServiceClient();
        Options options = serviceClient.getOptions();
        options.setTo(targetEPR);
        String ns = "http://axis2test";// 这里axis2test应该是你的package路径,否则会报错找不到
        QName opAdd = new QName(ns, "add");
        Class[] returnTypes = new Class[]{Integer.class};
        Object[] opAddArgs = new Object[]{"199", "6"};
        Object[] response = serviceClient.invokeBlocking(opAdd,opAddArgs, returnTypes);
        Integer result = (Integer) response[0];
        if (result == null) {
            System.out.println("hello didn't initialize!");
            return;
        }
        System.out.println(result);
       
    }
}

http://localhost:8080/你web项目名字/services/AddService/add?a=5&b=17

,结果得到 :

<ns:return>22</ns:return>

Axis2框架下的WebService请求实现指南 Apache Axis2 是一个用于构建和部署Web服务的高性能、灵活的服务器和客户端引擎。它作为Apache软件基金会下的顶级项目之一,旨在提供更高效的Web服务通信。与早期版本Axis相比,Axis2提供了模块化架构、灵活的消息处理机制和高度可配置的服务部署环境。 阅读详情

相关推荐

java axis2框架搭建和demo

java axis2框架搭建和demo,可以直接运行

Axis2 WebService服务端客户端Demo搭建

服务端 新建web项目WebServiceProject 1、axis2官网下载如下文件 下边两个是eclipse的服务发布插件,解压之后复制到eclipse安装目录plugins文件夹 将war包放在tomcat中解压运行,下标的四个文件夹复制到WebServiceProject项目的WEB-INF目录下 2、配置WebServiceProject项目web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-a.

xyjy11的博客 354

AXIS2作为客户端调用webService的demo

用AXIS2作为客户端调用webService的demo:本人亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。

axis2 java demo_axis2实现webservice服务

标签:axis2实现webservice服务采用java1.8, axis2为1.7.8服务端实现服务端采用先实现java代码,然后使用工具java2wsdl产生wsdl文件,之后再通过wsdl2java产生服务端代码。public class MyServerImpl implements MyServer {@Overridepublic String sayHi(String name) {...

weixin_31001069的博客 334

Axis2Demo,最简单的Axis2的体现,客户端口

服务端打包成aar和客户端的前期代码都是用axis2插件生成的

Axis2完美例子Demo

包含 Axis2的myeclipse的插件,工程例子,文档说明。 经典实例,工程导入就能用。

axis2 java demo_使用 Axis2 搭建一个Webservice 服务(提供demo下载)

WebService 概述Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Servic...

weixin_30722591的博客 290

axis2的一个demo

NULL 博文链接:https://zhouyongtongxue.iteye.com/blog/811720

[webservice] 基于Axis2的WebService开发及Demo下载(包含jar包)

首先需要下载axis2的相关jar包,到axis的官方网站即可获得开发的依赖包。 下载地址:http://axis.apache.org/axis2/java/core/download.cgi

qust_2011的专栏 1万+

LSF调度实战:如何用bsub命令实现多队列资源抢占与公平调度

本文深入探讨了LSF作业调度系统的高级实战技巧,重点解析如何通过配置`lsb.queues`文件与灵活运用`bsub -R`命令,构建一套兼顾效率与公平的多队列资源抢占与调度体系。文章详细介绍了队列优先级设计、公平共享机制、资源感知调度以及抢占策略的实施,帮助集群管理员解决高优先级任务等待、资源分配不均等常见问题,实现计算资源的精细化管理和高效利用。

vvv99的博客 218

海思MIPI屏调试实战:从参数计算到点亮屏幕的完整指南

本文提供了一份海思平台MIPI屏幕调试的完整实战指南。文章以Hi3516DV300调试800x1280分辨率屏幕为例,详细讲解了从参数计算、配置文件修改到最终点亮屏幕的全流程,并分享了常见问题排查与进阶优化技巧,旨在帮助嵌入式开发者高效解决MIPI屏调试难题。

weixin_29190573的博客 740

axis2实现webservice服务

axis2实现webservice服务 axis2实现webservice服务 服务端实现 java2wsdl产生wsdl文件 wsdl2java产生服务端代码 实现webservice代码逻辑 客户端实现 采用java1.8, axis2为1.7.8 服务端实现 服务端采用先实现java代码,然后使用工具java2wsdl产生wsdl文件,之后 再通过wsdl2ja...

robin912的专栏 878

大数据Alluxio面试题及参考答案

Alluxio 在大数据生态里的定位是作为数据编排层,能在不同计算框架和存储系统之间起到桥梁的作用。它的核心功能在于加速数据访问,让大数据应用能够更高效地使用数据。Alluxio 把数据存储和数据处理分离开来,使计算框架可以在不考虑底层存储细节的情况下访问数据,这样就提高了系统的灵活性和可扩展性。Alluxio 和 HDFS 既存在关联又有区别。从关联方面来看,HDFS 是一种广泛使用的分布式文件系统,很多大数据应用都将其作为主要的数据存储系统。Alluxio 可以和 HDFS 集成,把 HDFS 当作底层

大模型大数据攻城狮的专栏 864

Spring boot集成axis2开发webservice 服务

Spring boot集成axis2开发webservice 服务 1、新建Spring boot 项目 此处省略。。。 项目结构如下: 2、添加Axis2依赖 <!--axis2版本信息--> <properties> <axis2.version>1.7.8</axis2.version> </properties> <!--=============================--> <!--axis2 b

qq_33933408的博客 6470

高通平台 Android T 蓝牙技术全解析:A2DP 与 AVRCP 核心代码路径与交互流程

A2DP 接收端 - 连接流程(AVDTP 打开)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 290

人工智能_大模型095_Web版003_deepseek R1本地安装_私有化部署_支持RAG_调用HTTPAPI做自己的AI应用_安装RagFlow以及使用_---人工智能工作笔记0240

这里的一定要注意,是资源不够用了,可以点击ragflow-server左边的小绿点,查看 结果。注意去把内存改成10G把至少,我这里改成了10G,因为电脑一共就16G,再试试吧.可以看日志,就显示的是没有连接上mysql,结果我一看,mysql,根本没启动.然后下面选择general就可以了,然后点击确定,然后再去点击。手动去启动,然后再去试试,注意,内存这里给8G太小了还是.调成8G了,然后硬盘大了大了一些换成50G了,然后。点击系统模型设置可以看到,选择聊天模型就可以了,

添柴程序猿的专栏 449

Springboot 整合axis2 集成Webservice

因客户需使用Springboot 集成Webservice,本文参考了两位大佬的文章: https://blog.csdn.net/dong945221578/article/details/71429735https://www.cnblogs.com/JohnDawson/p/11151806.html 未经许可,不准转载 一、引入依赖 <dependency> <groupId>org.apache.axis2</groupId>

qq_41126995的博客 3806

yolov8x-p2 实现 tensorrt 推理

yolov8x-p2, tensorrt 实现.

J。 2274

axis2和已有web项目集成

有一个最简单的方法就是把axis2.war中的内容作为Web Project的基础, 来进行开发. 不过为了更清楚的了解如何在一个已有的Web Project中嵌入axis2, 那就手动来配置。大致分如下几个步骤: 一、新建Web Project,名为“WebServiceDemo” 二、下载axis2-1.5-war.zip包,解压缩 将axis2/WEB-INF/lib 里的ja

pangjianjava的专栏 803

9.27华为OD机试真题 新系统 - 均衡调度 (Java/Py/C/C++/Js/Go)

9.26华为OD机试真题 新系统 - 均衡调度 (Java/Py/C/C++/Js/Go)

算法大师! 521

Xilinx差分原语-IBUFGDS与OBUFGDS FPGA

它将差分信号转换为单端信号,并将其输入到FPGA的逻辑片上。它将单端信号转换为差分信号,并将其输出到FPGA的引脚。在FPGA设计中,差分信号是一种常见的信号传输方式,用于提高抗噪性和抑制共模噪声。Xilinx是一家知名的FPGA供应商,提供了许多差分原语,其中包括IBUFGDS和OBUFGDS。通过使用Xilinx的差分原语,如IBUFGDS和OBUFGDS,可以实现差分信号的输入和输出。这些差分原语提供了方便且可靠的接口,使得在FPGA设计中处理差分信号变得更加简单和高效。是差分输入信号的端口,

git_database727的博客 2096

用Axis2c 实现一个Web service 的小demo程序过程详解

 1.     编译服务端代码:(windows平台)    代码hello_svc.c:/* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you ma

liangquan的专栏 3768

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

idea中springboot整合Axis2框架一

idea中springboot整合Axis2框架一1、Axis2框架所需要的maven坐标:2、编写webservice服务类3、在WEB-INF/services/webService/META-INF/下路径创建services.xml文件4、axis2配置类5、启动项目在浏览器访问wsdl文档树:6、在soapui测试接口 由于工作中不幸遇到axis2这个古董级框架,本人又是第一次接触,难免有点生疏,网上的资料少之又少,所以自己记录一下,以免下次再遇到又是一头雾水。 1、Axis2框架所需要的mave

weixin_45579264的博客 2442

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

webService(axis2)报错解决

今天在用axis2 集成spring的例子时遇到一个问题,贴出报错: 十月 18, 2017 9:57:30 下午 org.apache.axis2.engine.AxisEngine receive 严重: The service cannot be found for the endpoint reference (EPR) http://127.0.0.1:8008/axis2Demo/

tao_xm的博客 7650

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

axis1 和 axis2 的简单使用

晚上顺便学习了下axis1 和 axis2,发现两者的API相差很大,不知道现在更流行的是哪个,就晚上简单的入门后觉得,axis2还是比axis1开发起来容易上手的多,axis1就单单对服务器发布.wsdd文件就相当麻烦。下面分别就axis1和axis2说下如何集成到自己的项目里: 一、集成axis1 1、从官网下载项目[url]http://ws.apache.org/...

iteye_16133的博客 1305

axis2实现Web Service

项目中使用的是webservice,以前没有深入研究过,最近空余时间了解了一下使用axis2来实现Web Service。 先简单说一下Web Service Web Service:   Web Service 主要是用来不同系统之间的交互,实际上是一种RPC技术,是一种跨编程语言和跨操作系统平台的远程调用技术。比如说微信支付宝等这种可以绑定银行卡的APP,他们本身并没有银行卡中...

diid00711的博客 349
上一篇: ORACLE日期时间函数大全
下一篇: WSDL2Java Reference
O2AtomLife
博客等级 码龄19年 2粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值