Axis2 webservice学习总结

article/2025/9/14 2:34:08

一、学习课件目录:

Axis2(WebService)培训资料1 - 百度文库 (baidu.com)

WebService大讲堂之Axis2 - 百度文库 (baidu.com)

二、学习总结:

Web Service是构建互联网分布式系统的基本部件,它是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,别人能够用编程的方法通过Web来调用这个应用程序。

它通过标准通信协议,在互联网上以服务的方式发布有用的程序模块,目前大部分是用SOAP作为通信协议。

 它提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫WSDL(Web服务描述语言,Web Service Description Language)。

请求报文和返回报文都是XML格式的,XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized MarkupLanguage,标准通用标记语言)。

Axis2 webservice是一个Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和发布WebService,而且可以生成Java和其他语言版WebService客户端和服务端代码,功能强大。

本次包含了在IDEA和Eclipse环境下对客户端和服务端的创建及客户端对服务端的代码调用。

在IDEA下面,仅需要构建新项目,选择AXIS2,即可自动关联依赖,生成对应的服务端

 

也可以通过WSDL文件反向生成服务端。

 服务端生成的wsdl网页:

 另存为之后,即为对应的WSDL文件,Eclipse和IDEA均提供了自动生成客户端的相关方式。

 可以通过自动生成的方法调用对应的服务,也可以自己写相应的调用,方式如下:

public static void main(String[] args) {try {//字符集String encodingStyle = "utf-8";//WSDL的地址String endpoint = "http://www.webxml.com.cn/WebServices/RandomFontsWebService.asmx?wsdl";//命名空间,在WSDL中对应的标签是:参见说明第3条String targetNamespace = "http://WebXml.com.cn/";//具体方法的调用URI,在WSDL中对应的标签是:参见说明第4条String soapActionURI = "http://WebXml.com.cn/getCharFonts";//具体调用的方法名,在WSDL中对应的标签是:参见说明第5条String method = "getCharFonts";//调用接口的参数的名字String[] paramNames = {"byFontsLength"};//调用接口的参数的值Integer[] paramValues = {1};Service service = new Service();Call call = (Call) service.createCall();
//            call.setTimeout(new Integer(20000));  //设置超时时间call.setSOAPActionURI(soapActionURI);call.setTargetEndpointAddress(new java.net.URL(endpoint));  //设置目标接口的地址call.setEncodingStyle(encodingStyle);//设置传入服务端的字符集格式如utf-8等call.setOperationName(new QName(targetNamespace,method));// 具体调用的方法名,可以由接口提供方告诉你,也可以自己从WSDL中找call.setUseSOAPAction(true);call.addParameter(new QName(targetNamespace,paramNames[0]),org.apache.axis.encoding.XMLType.XSD_INTEGER,javax.xml.rpc.ParameterMode.IN);// 接口的参数
//            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型  ,如Stringcall.setReturnClass(java.lang.String[].class); //返回字符串数组类型// 给方法传递参数,并且调用方法 ,如果无参,则new ObeString[] result = (String[]) call.invoke(new Object[] {paramValues[0]});// 打印返回值System.out.println("result is " + Arrays.toString(result));if (result != null && result.length > 0) {for (int i = 0; i < result.length; i++) {System.out.println(result[i]);}}} catch (Exception e) {System.err.println(e.toString());}}


http://chatgpt.dhexx.cn/article/cgwsuSvU.shtml

相关文章

小白轻松使用axis2构建webservice

引言&#xff1a; 使用axis2是来实现webservice接口是比较常见的&#xff0c;就我来说&#xff0c;如果要学一个首次接触东西&#xff0c;简单了解相关基础概念后&#xff0c;就希望自己能够简单快速的实现一个例子&#xff0c;在学习一门开发语言的时候&#xff0c;一个hello…

模板引擎 Velocity语法

Velocity是一个基于java的模板引擎&#xff08;template engine&#xff09;&#xff0c;它允许任何人仅仅简单的使用模板语言&#xff08;template language&#xff09;来引用 由java代码定义的对象。作为一个比较完善的模板引擎&#xff0c;Velocity的功能是比较强大的&…

velocity 模板语法

velocity 模板语法 前言1. 访问1.1 变量1.2 属性1.3 方法 2. 指令2.1 #set 创建变量2.2 #if/#elseif/#else 分支控制2.3 #foreach 循环控制2.4 #include - 引入本地文件&#xff0c;文本展示2.5 #parse - 引入本地文件&#xff0c;velocity 解析后展示2.6 #stop - 停止模板解析…

finalize() 原理

finalize 方法的作用是&#xff1a; 如果对象在进行可达性分析后发现没有与 GC Roots 相连接的引用链&#xff0c;那他将会被第一次标记并且进行一次筛选&#xff0c;筛选的条件是此对象是否有必要执行 finalize 方法。 注意&#xff1a;当对象没有覆盖 finalize 方法&#xf…

finalize()

注&#xff1a;本文的目的并不是鼓励使用finalize方法&#xff0c;而是大致理清其作用、问题以及GC执行finalize的过程。 1. finalize的作用 finalize()是Object的protected方法&#xff0c;子类可以覆盖该方法以实现资源清理工作&#xff0c;GC在回收对象之前调用该方法。fina…

java finalize方法详解

1. finalize的作用 finalize()是Object的protected方法&#xff0c;子类可以覆盖该方法以实现资源清理工作&#xff0c;GC在回收对象之前调用该方法。finalize()与C中的析构函数不是对应的。C中的析构函数调用的时机是确定的&#xff08;对象离开作用域或delete掉&#xff09;&…

java中finalize()方法

finalize 垃圾回收机器&#xff08;Garbage Collection&#xff09;,也叫GC&#xff0c;垃圾回收器主要有一下特点&#xff1a; 当对象不再被程序所使用的时候&#xff0c;垃圾回收器将会将其回收垃圾回收是在后台运行的&#xff0c;我们无法命令垃圾回收器马上回收资源&…

Finalize详解

finalize()方法详解&#xff0c;前言&#xff0c;finalize()是Object的protected方法&#xff0c;子类可以覆盖该方法以实现资源清理工作&#xff0c;GC在回收对象之前调用该方法。 finalize的作用: (1)finalize()与C中的析构函数不是对应的。C中的析构函数调用的时机是确定的…

finalize的理解

finalize的理解 一般的回答&#xff1a;它是Object中的一个方法&#xff0c;子类重写它&#xff0c;垃圾回收时候方法会被调用&#xff0c;可以再其中进行一些资源的解释和清理工作。 优秀的回答&#xff1a;将资源的释放和清理放在finalize方法中是非常不好的&#xff0c;影…

Java FX swt_DOC-13-08 JavaFX与SWT的协作性

DOC-13-08 JavaFX与SWT的协作性 本章展示了如何在SWT应用程序中加入一个JavaFX场景图&#xff0c;以及如何使SWT和JavaFX控件协作。 介绍 如果你开发SWT应用程序&#xff0c;你知道SWT使用本地操作系统的控件&#xff0c;而且并不能简单的配置来使用高级GUI特性&#xff0c;比如…

Java SWT 表格Table如何动态显示信息

让Table显示信息用到的是TableItem类。创建一个TableItem类对象&#xff0c;通过调用该对象的setText( new String[ ] )方法可以显示一行数据&#xff0c;循环调用则可以显示多条不同的数据。 一、步骤: 1. 创建Table类 。最好将Table类设置为全局变量。并且设置该表格有多少列…

Java ——SWT利用DateTime获取日历控件

1、话不多说&#xff0c;先看效果图&#xff1a; 19是我选择的日期&#xff0c;其他功能就不一一介绍了&#xff0c;这个看你们自己。 2、Test01界面&#xff1a; Test01代码如下&#xff1a; package test; import org.eclipse.swt.widgets.Display; import org.eclipse.swt…

shell swt 样式_SWT之路:SWT图像显示

简明现代魔法 -> Java编程语言 -> SWT之路&#xff1a;SWT图像显示 SWT之路&#xff1a;SWT图像显示 2009-10-03 程序演示 还是先用SWT Desiner创建界面程序。然后创建一个Display对象和Image对象&#xff0c;和一个GC对象。类org.eclipse.swt.graphics.GC是一个封装了所…

eclipse java swt_Eclipse下搭建SWT开发环境

0.序言 还是老风格&#xff0c;从头写些基本的东西&#xff0c;帮助自己&#xff0c;也帮助正处于困惑中的别人。今天介绍的是Eclipse下的SWT的配置过程。自己前两天要做个项目&#xff0c;配置了半天都不正确&#xff0c;后来慢慢总结了一下&#xff0c;不同环境配置的方法可能…

java swt button_JAVA.SWT/JFace: SWT基本组件之按钮(Button)

《Eclipse SWT/JFACE 核心应用》 清华大学出版社 5.2 按钮(Button) 按钮有普通按钮(SWT.PUSH)、单选按钮(SWT.RADIO)、多选按钮(SWT.CHECK)、箭头按钮(SWT.ARROW)和切换按钮(SWT.TOGGLE)几种类型。 同时&#xff0c;也可以设置按钮的样式。设置按钮文字对齐的样式有SWT.LEFT、S…

Java SWT 表格Table实时刷新数据

一、动态展示数据 当对表格展示的数据进行删除和增加的时候&#xff0c;想实时进行表格数据更新显示。用到的方法是&#xff0c;首先将表格数据全部删掉&#xff0c;然后在读取数据库最新的数据显示到表格中。  可以将显示表格信息的代码封装成一个方法&#xff0c;当对当前表…

Java SWT封装Table显示数据

一个表格就类似于一张二维表。第一行为关系模型&#xff0c;就是每一列的列名。从第二行开始就是表的数据&#xff0c;简称元组。下面实现对其Table的封装。 首先显示一个窗口。创建一个Table。将在showTableInfos()方法对Table表格进行封装。 import org.eclipse.swt.widgets.…

SWT控件总结

控件palette 1.System Choose component 选择组件&#xff1a;允许选择组件类型并将其拖放到设计画布上 Tab Order标签的顺序&#xff1a;设置所选选项卡顺序 2.Composites Composite 复合&#xff1a;能够包含其他控件的控件 Group 集团&#xff1a;提供带有可选标题的蚀…

SWT和JFace应用笔记

SWT和JFace应用笔记 链接&#xff1a;https://pan.baidu.com/s/1To4Lhgan4xEr1iaFA0Rerg 提取码&#xff1a;63qm 1.SWT笔记 一.创建一个SWT程序有3个部分 1.初始化窗口:首先创建Dispaly对象和Shell对象。Display&#xff1a;对象封装了调用操作系统的有关方法Shell&#xf…

matlab swt函数,matlab swt 函数出错

matlab swt 函数出错 我在用matlab swt 函数分解信号时总是出现以下错误&#xff0c;麻烦各位高手告知该怎么修改&#xff0c;swt函数如何ERROR ... ---------------------------------------------------------------------------------------------------------------------…