axis1.x框架开发web service

SpringBoot2.x系列教程之Web Service详细讲解(56) 前言 我们在开发项目的时候,有时候会遇到这样的问题。比如我们要写一个电商项目,其核心业务肯定是与电商相关的。但在这个电商项目的页面上,我们为了提高用户粘性,给用户更好的使用体验,可能会想着在页面上展现一下当地的天气信息、航班信息等内容,以此显得我们对用户很体贴。但我们的主要任务是做电商啊,总不能为了这几个小功能再去搞一个天气研发团队,这成本也太大了吧。别担心这个问题,其实有很多的第三方开放平台,可以允许我们去调用他们的开放接口。我们只需要遵循他们的开发协议,就能够轻松调用别人项目里的接口功能了。那具体怎么 阅读详情

本章主要通过实例阐述整个webservice项目的开发过程。

登录网站:

http://www.apache.org/dyn/closer.cgi/axis/axis/java/1.4/,下载axis1.4版,目录结构如下图所示。


docs是框架说明文档(包括API)、lib是框架所依赖的jar包、sample是示例、xmls是当前工程所需的xml、webapps是当前工程的webroot目录。

1.1.2服务器

本小节说明如何在eclipse或者myeclipse中,创建第一个webservice工程。所有示例始于helloworld。下面将详细说明服务器端发布webservice项目、客户端调用的过程。

1)  打开myeclipse,创建web工程,名称为“axiswebservice”,并将2.1.1小节下载的lib文件夹下的jar包添加至工程中。最终效果如下图所示。

2)  创建服务器代码HelloWorld.java,具体内容和普通的java类编写无任何差别。具体代码如下。

package com.ll.server;
 
public class HelloWorld {
    public String sayHello(Stringusername)
       return "hello, " + username;
    }
}


3)  在WEB-INF目录下创建一个名为“deploy.wsdd”,这是一个webservice部署描述文件(web service deploymentdescriptor),后续将使用此文件来发布webservice。具体内容如下。

<?xml version="1.0"encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <!-- service标签代表一个WebService服务 -->
    <service name="HelloWorld"provider="java:RPC">
    <!-- 命名空间,使用wsdl2java生成客户端代码时,包路径为:com.ll.server -->
    <!-- 假如发布服务地址为:http://localhost:8887/axiswebservice/services/HelloWorld-->
    <!-- 如果属性wsdlTargetNamespace不设置的话,生成客户端代码的默认包路径为:localhost.axiswebservice.services -->
    <parameter name="wsdlTargetNamespace" value="http://server.ll.com"/>
    <parameter name="wsdlServicePort" value="HelloWorld"/>
    <!-- 服务类路径 -->
        <parameter name="className"value="com.ll.server.HelloWorld" />
        <!-- * 代表所有的方法都暴露 -->
        <parameter name="allowedMethods"value="*" />
        <!-- 当前WebService的作用域,它有3个值,分别是:request每个请求、session每个用户、application所有请求 -->
        <parameter name="scope"value="request" />
    </service>
</deployment>

4)  修改web.xml,加入axisServlet的支持,具体代码如下。

<!-- 加入AxisServlet的支持 -->
<servlet>
  <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
</servlet-mapping>


5)  将此web工程部署至tomcat(本文使用tomcat5.5)中,如下图所示。

6)  配置tomcat端口,启动tomcat服务器;利用AdminClient客户端管理工具发布webservice项目。具体命令如下。执行以下命令之后,WEB-INF下会生成一个server-config.wsdd文件,此文件为webservice服务生成wsdl文件的依据,工程启动即加载此文件,记录了axis已发布的Web服务的描述信息。

D:\apache-tomcat-5.5.25\webapps\axiswebservice\WEB-INF>

java -Djava.ext.dirs=liborg.apache.axis.client.AdminClient-lhttp://localhost:8887/axiswebservice/services/AdminService deploy.wsdd

命令说明:

Ø  D:\apache-tomcat-5.5.25\webapps\axiswebservice\WEB-INF表示webservice工程部署目录

Ø  -Djava.ext.dirs=lib表示使用工程lib下的jar包

Ø  org.apache.axis.client.AdminClient表示axis工具类,用来发布webservice服务

Ø  -lhttp://localhost:8887/axiswebservice/services/AdminService,“-l”表示参数,后跟具体的tomcat部署的工程访问路径;“axiswebservice”表示工程名;“services/AdminService”为固定写法。

Ø  deploy.wsdd表示第3)步创建的发布描述文件

7)  打开浏览器,输入:http://localhost:8887/axiswebservice/services,红色区域是我们刚才发布的webservice方法,点击“wsdl”超链接,生成服务对应的wsdl(WSDL是WebService的描述语言,是一种接口定义语言,用于描述Web Service的接口信息等)描述文件。此文件详细描述了服务器端的方法、参数、返回值等。后续将使用此文件通过axis提供的WSDL2JAVA工具自动生成客户端调用代码。这里只关注一个属性

<wsdlsoap:address location="http://localhost:8887/axiswebservice/services/HelloWorld" />

此属性表示客户端访问服务器的具体地址,即客户端通过此地址来访问服务体提供的服务方法sayHello。


本小节说明如何调用已发布的webservice服务,这里调用方式有两种,一种是直接手写整个调用服务器端方法;第二种是使用服务器端生成的wsdl文件,通过axis提供的WSDL2JAVA工具自动生成客户端调用代码,从而较少手工代码的编写。一般情况下建议使用第二种方法,因为第二种方法其实是第一种方法的一个封装,可大大减少代码出错率。下面就这两种方法做一简单介绍。

1)  打开myeclipse,创建web工程,名称为“axisclient”。

Ø  并将2.1.1小节下载的lib文件夹下的jar包添加至工程中。

Ø  访问服务器发布地址:

http://localhost:8887/axiswebservice/services/HelloWorld,将网页文件保存为HelloWorld.wsdl,并将此文件拷贝至axisclient工程下的WEB-INF目录下。

 

Ø  创建客户端测试类:com.ll.client.HelloWorldClient.java

最终效果如下图所示。

 

2)  编写客户端测试代码类:com.ll.client.HelloWorldClient.java,实现手工调用服务器,运行即可。具体代码如下。

 

下面介绍第二种方法,即通过WSDL2JAVA工具自动生成客户端调用代码。

1)  进入客户端工程所在WEB-INF目录,此目录下应该包括lib文件夹,axis所需jar包;HelloWorld.wsdl文件,生成客户端代码的描述。Dos命令窗口输入:

java-Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java -o clientsrc Session -S trueHelloWorld.wsdl。命令输入完毕时候,无任何错误提示,表示生成成功,如下图所示。

2)  将上一步生成的clientsrc目录的代码拷贝至客户端工程中,如下图所示。


3)  编写客户端测试代码类:com.ll.client.HelloWorldClient.java,使用自动生成的客户端代码调用服务器方法。具体代码如下。

/**
     * 使用通过wsdl文件生成的客户端代码,调用服务器方法
     * 此方法是将直接通过服务器发布地址调用的相关方法,通过wsdl2java工具进行了封装,使得每次调用步骤精简
     * */
    public static void useClinetCode() {
       try {
           //获取服务
           HelloWorldService client =new HelloWorldServiceLocator();
           //获取服务类
           HelloWorld hello =client.getHelloWorld();
           //调用服务方法,输出返回结果
           String result =hello.sayHello("beyond");
           System.out.println("clientCall,result = " + result);
       } catch (Exception e) {
           e.printStackTrace();
       }
    }

.2  使用eclipse插件开发

使用eclipse webservice插件自动生成webservice服务器和客户端代码简单方便。下面介绍具体操作步骤。

1.2.1服务器

1)  创建web工程,名称为axiswebservice。

Ø  新建一个com.ll.server.HelloWorld.java,具体代码见2.1.2部分。

Ø  点击HelloWorld.java文件,然后右键,选择“newàotheràwebservice”,如下图所示。

 

Ø  点击“next”,如下图选择“publish the web service”选项。


 

Ø  点击“next”,选择要发布的方法,点击“finish”完毕或者点击“next”启动服务器。如下图所示。


 

2)  生成完毕之后,具体工程目录结构如下图所示。至此,服务器代码发布结束。


 

1.2.2客户端

使用服务器生成的HelloWorld.wsdl文件,生成客户端代码。具体操作如下。

1)  首选新建一个web工程,名为axisclient。

Ø  创建包com.ll.client

Ø  将服务器生成的HelloWorld.wsdl文件,拷贝至WEB-INF目录下

Ø  选择“HelloWorld.wsdl”,点击右键,选择“newàotheràweb service client”。如下图所示。


 

2)  点击“next”,如下图所示。


 

3)  点击“next”,选择生成客户端代码的位置,点击“finish”完成。最终的目录结构如下图所示。

4)  下面编写测试类,com.ll.client.HelloWorldClient.java。具体代码如下。

package com.ll.client;
 
import java.rmi.RemoteException;
 
import com.ll.server.HelloWorld;
 
public class HelloWorldClient {
 
    public static void main(String[] args) {
 
       HelloWorld hello = newcom.ll.server.HelloWorldProxy();
       try {
           String res =hello.sayHello("beyond");
           System.out.println("res = " + res);
       } catch (RemoteException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
    }
}



Axis和CXF的比较 在SOA领域,我们认为Web Service是SOA体系的构建单元(building block)。对于服务开发人员来说,AXIS和CXF一定都不会陌生。这两个产品都是Apache孵化器下面的Web Service开源开发工具。 Axis2的最新版本是1.3.CXF现在已经到了2.0版本。 这两个框架 都是从已有的开源项目发展起来的。Axis2是从Axis1.x系列发展而来。CXF则是XFire 阅读详情

相关推荐

axis 1.x与axis2.x开发

axis 1.x与axis2.x开发 以及jar

使用axis调用WebService,Java WebService调用工具类

Java 调用WebService工具类。导入即使用。

微枫Micromaple的博客 1万+

AttifyOS 3.0实战:从固件提取到物联网设备安全评估全流程解析

本文详细解析了使用AttifyOS 3.0进行物联网设备安全评估的全流程。从获取D-Link路由器固件开始,到利用其预置的Binwalk等工具完成固件提取、解包Squashfs文件系统,并深入分析Web源码进行初步安全审计。这套集成系统极大简化了环境配置,让研究人员能专注于漏洞挖掘本身,是物联网安全评估的高效工具箱。

ice55的博客 214

使用axis轻松调用Webservice

使用axis1.4调用webservice有两种简单的方式: 1、直接使用axis提供的API调用,适用于webservice接口的参数和返回值都是String的情况。 try { Call call = (Call)new Service().createCall(); call.setTargetEndpointAddress("http://192.168.1.234:8080/...

xueliang59211的专栏 809

保姆级教程:用LoRA微调Chinese-Mistral-7B模型,并一键部署到Ollama(附完整代码)

本文提供了一份详细的LoRA微调Chinese-Mistral-7B模型的保姆级教程,涵盖环境配置、数据预处理、微调实战、模型量化及Ollama部署全流程。通过实战案例和完整代码,帮助开发者快速构建专属中文大模型,适用于医疗、法律等垂直领域。

weixin_30369041的博客 249

C#报表,使用微软rdlc模板,生成Excel, PDF, Word, Image文件,使用自定义对象做数据集不连接数据库

我项目是用vs2017 建的,.NET farmwork 4.7.2 这种报表可以用于任何模式的应用,web,桌面,因为这只是生成一个文件或者文件流 步骤比较详细啰嗦,其中有讲到rdlc怎么新建设计,如果已经会设计rdlc了的可以直接跳到底部看代码的执行结果, 底部还有源码下载链接,百度盘 首先控制台安装报表包 新建rdlc 报表 建立rdlc里要用的数据模型 模型建完,或者修改都要重新...

qq_35955916的博客 5202

利用axis调用webservice接口

利用axis调用webservice接口

2万+

激光测距仪DIY指南:从元器件选型到精度优化(附避坑清单)

本文提供了一份详尽的激光测距仪DIY实战指南,涵盖从核心元器件选型到系统集成的全过程。重点解析了相位法测距原理,并分享了激光发射器与APD探测器选型、信号链路设计、低成本改造方案以及精度校准等关键环节的避坑经验,帮助电子爱好者与开发者深入理解并成功搭建高精度测距系统。

h6i7j8的博客 943

使用axis调用WebService

公司项目有一个给用户发送短信的需求,需要调用一个.NET写的WebService。在写客户端过程中,遇到了不少的问题,在这里整理下,也希望和我遇到同样问题的小伙伴些少走点弯路。   直接上代码:   public static boolean send(String MsgContent, String DestNumber){ boolean res = false...

gqsunrise 355

【数据分析八步法】将模糊需求转化为可验证的分析问题

国内访问Huggingface官方源常遇网络问题,可通过切换国内镜像提升下载速度。三种配置方式:1)设置HF_ENDPOINT环境变量;2)在from_pretrained中直接指定镜像参数;3)修改本地Huggingface配置文件。常用镜像包括hf-mirror.com、阿里云ModelScope和清华镜像源。注意镜像同步延迟、私有模型限制,建议配合huggingface-cli工具使用,必要时取消代理设置。合理配置镜像源可显著改善Huggingface生态使用体验。

Mr数据杨 857

SAP 实施:Waterfall vs. Agile —— 一场“结构性矛盾“的深刻比较先说结论:在 SAP 世界里,这从来不是“谁更好“的宗教问题,而是“你的项目 DNA 是什么“的战略选择。​

SAP 实施:Waterfall vs. Agile —— 一场"结构性矛盾"的深刻比较 先说结论:在 SAP 世界里,这从来不是"谁更好"的宗教问题,而是"你的项目 DNA 是什么"的战略选择。​ SAP 早已用 SAP Activate​ 给出了官方态度——它不是纯 Agile,也不是回头去搞旧 Waterfall,而是一个带质量门的混合架构。 1. 先回到本质:两者解决的是不同维度的风险 维度 Waterfall(传统 ASAP 路线)​ Agile(SCRUM/Kanban 式迭代)​

金牌架构师 336

利用axis调用webservice

比如我们需要调用第三方webservice接口,如这个地址:获得随机数字或字母http://www.webxml.com.cn/WebServices/RandomFontsWebService.asmx?wsdl一、准备需要的jar包    在maven项目中,pom的依赖如下&lt;!-- axis --&gt; &lt;dependency&gt; &lt;groupId&gt;o...

张小烦的博客 1万+

用业务语义织就企业数据之网:SAP Datasphere 的定位、架构与落地场景全解析

SAP Datasphere作为SAP业务数据云的核心组件,通过语义层整合企业内外部数据,支持实时分析与AI应用。其核心功能包括数据集成、语义建模、虚拟化与仓库能力,通过Spaces实现资源隔离,Data Builder和Business Builder分别面向技术和业务建模。该平台与SAP HANA Cloud、SAC等深度集成,支持财务统一分析、供应链可视化等典型场景,并可通过BW bridge实现传统BW资产云化迁移。Datasphere强调开放互联,能与Databricks等生态伙伴协同,为企业提供

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1360

在项目中集成Axis 1.x来开发Web Service

关键字: axis, web service   本文以Axis 1.1版本为例,详细介绍如何在项目中集成Axis来开发Web Service。Axis 1.1只能在以下环境中运行:          Tomcat 5.0.x及之前的版本          JKD 1.4.x及之前的版本     一、环境的搭建        1、安装axis-1_1:拷贝axis-1_

jhrokin的专栏 700

【华为OD机试真题】390、AI面板识别 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。   由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),   请输出先行后列排序的指示灯的编号,排序规则:   1、每次在尚未排序的灯中挑选最高的灯作为的基准灯   2、找出和基准灯属于同一行所有的灯进行排序。两个灯高低偏差不超过灯半径算同一行(即两个灯坐标的差 ≤ 灯高度的一半)

KJ.JK 1802

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Axis 1.X 入门实例

 AXIS是开源的WS运行引擎,是SOAP协议的一个实现。来源于Apache的一个开源项目Apache SOAP.分为1.X 和2.X.两个的体系结构和使用上有较大的区别。 1。X更加稳定一些。它提供了两种发布方式: 即时发布 与 定制发布.(1)下载与安装  下载地址:http://www.apache.org/dyn/closer.cgi/ws/axis/1_4.  如下载axis-bin-1_4.rar  Axis安装要求必须先安装web服务器. 此处采用apache-tomcat-6.0.29. 将

sunhxp的专栏 2512

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Axis1.x的简单入门实例

原文:http://www.cnblogs.com/hoojo/archive/2010/12/20/1911357.html 1、在官方网站下载axis的工程(这个等下就有用的)和源码、jar包等,下载地址是: http://labs.renren.com/apache-mirror//ws/axis/1_4/ 2、解压下载的工程或源码(两个中任意一个都可以),解压axis-bin-1

EmmaGood的专栏 1081

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Axis2.x WebService开发

Axis的简单准备 Axis的入门实例 Axis复杂对象类型的WebService Axis的辅助工具发布、调用WebService Axis WebService会话Session的管理 Axis用控制台Dos命令发布WebService Axis跨多个WebService管理Session Axis用Spring的JavaBean发布WebService Axis异步调用Web

安迪的专栏 4987

基于Axis1.4开发Web Service程序

随着 Web Services 以及 SOA 的不断发展,越来越多的人投入到了相关技术的实现、开发和标准的制定的工作中。而实现Web Services的主要途径由Axis1.x,Axis2.x以及XFire等技术。 这里提及Axis1.x是由于存在大量的旧项目中所用到的技术;Axis2是Apache Axis SOAP 项目的后继项目。此项目是 Web Services 核心引擎的重...

iteye_18735的博客 212

Java使用Axis2调用【.net】Web Service服务(快速上手、精简)

系统 .net开发而不是用Java写的WebService接口 虽说都一样,但还是有坑的,与往常的域名端口号相比,发布一般都是用WSDL文件样式发布,在文件里包含这个WebService对外暴露可使用的接口信息,使用.asmx站点路径和namespace访问。

关注我~分享更多技术干货 3006

JAVA开发Web Service几种框架介绍

郑重声明:此文为转载来的,出处已不知了,侵告删。    在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所提供的对 Web Service服务的一种实现。)前面几项都为开源项目,而其中又以axis2与cxf所最为常用,Axis与XFir...

bangpao4432的博客 119

Java主流Web Service框架介绍:CXF和Axis2

CXF和Axis2是目前java平台上最主流的两个框架,虽然两个项目都隶属ASF,但却是基于不同思想和风格实现的,因此也各有所长。   CXF:http://cxf.apache.org/ 是由过去的Celtix和XFire两个框架合并而来,CXF在java社区有广泛的接受度是得益于它能很好的集成Spring。我认为CXF最突出的两个优势是: 1.对...

252
上一篇: javamail详解
下一篇: axis命令解释 转自路人甲百度空间 http://hi.baidu.com/xcl119xcl/blog/item/026d1933a9104247ac4b5f30.html
java_freshman01
博客等级 码龄17年 22粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值