拷贝自博客园--
通过上篇文章,已经可以通过axis1.4发布服务以及调用服务了,不过上篇文章发布服务使用的方法不够灵活,这里介绍一种灵活的方式
一、以Stubs的方式发布服务
1.以这种方式发布还需要两个J2EE包
2.修改web.xml,我使用了struts2,和axis的配置会有冲突,为了避免冲突,对struts2的相关配置也做了对应修改,这里贴出完整web.xml文件内容:
<?xml version= "1.0" encoding= "UTF-8" ?>
<web-app id= "WebApp_ID" version= "2.4"
<display-name> static </display-name>
<filter>
<filter-name>struts2</filter-name>
<filter- class >org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter- class >
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/dojo/*</url-pattern>
</filter-mapping>
<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>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
</web-app>
|
3.编写服务类 com.site.webservice.MyService.java
package com.site.webservice;
public class MyService{
public String getName(String name)
{
return "hi," + name;
}
}
|
4.在项目WEB-INF目录下创建deploy.wsdd文件,内容为:
<service name= "MyService" provider= "java:RPC" >
<parameter name= "className" value= "com.site.webservice.MyService" />
<parameter name= "allowedMethods" value= "*" />
</service>
</deployment>
|
5.在项目WEB-INF目录下创建deploy.bat文件,内容为:
set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http:
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
|
dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行deploy.bat,执行成功后会提示:
Processing file deploy.wsdd
<Admin>Done processing</Admin>
|
通过http://localhost:8080/proj1/services可以检查服务是否发布成功
6.编写客户端代码调用我们创建的服务:
Service service = new Service();
Call call = (Call)service.createCall();
call.setOperationName( new QName(endPoint, "getName" ));
call.setTargetEndpointAddress( new URL(endPoint));
String result = (String)call.invoke( new Object[]{ "abcd" });
System.out.println(result);
|
执行该代码打印内容为:hi,abcd
7.如果需要卸载MyService服务,在WEB-INF目录下创建undeploy.wsdd文件:
<service name= "MyService" />
</undeployment>
|
在WEB-INF目录下创建undeploy.bat文件:
set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http:
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% undeploy.wsdd
|
dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行undeploy.bat,MyService服务就被卸载了
二、以Stubs的方式调用服务
1、在WEB-INF目录下创建client.bat文件:
set Axis_Lib=D:\workspace\proj1\WebContent\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\proj1\src
set Package=com.site.client
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http:
|
dos下进入D:\workspace\proj1\WebContent\WEB-INF目录,执行client.bat,会在com.site.client下自动生成如下文件类:
MyServiceSoapBindingStub.java
SayHello.java
SayHelloService.java
SayHelloServiceLocator.java
2、客户端调用
SayHelloService service = new SayHelloServiceLocator();
SayHello client = service.getMyService() ;
String result = client.getName( "abcdefg" );
System.out.println(result);
|
分享到:
相关推荐
Axis1.4是Apache软件基金会提供的一个开源工具,专门用于开发和部署Web服务。本教程将详细讲解如何使用Axis1.4进行Web服务的开发,包括创建服务端和客户端。 首先,我们需要了解Web服务的基本概念。Web服务是通过...
在本文中,我们将深入探讨如何使用Axis1.4版本来开发Web服务,这是一个基于Java的开源工具,专门用于创建和部署Web服务。我们将通过一个详细实例来阐述整个过程,包括Web服务的发布和客户端调用。 一、 Axis1.4简介...
3. **创建WebService**:在Spring Boot应用中,你可以通过Axis1.4创建一个WebService。首先,定义一个Java类,包含你想要公开的方法。然后,使用Axis的工具生成服务端点接口和服务类。 4. **配置Spring Boot**:...
在描述中提到的“近期使用到webservice做了一个axis1.4的例子,以备以后再用”,表明这个例子是一个实践项目,用于展示如何使用Axis1.4来开发Web服务,并且这个例子已经被保存下来,以便未来参考。这通常包括创建...
通过学习和实践相关的开发指南,掌握使用jar包,创建、发布和调用Web服务,以及理解其工作原理,可以有效地利用Axis1.4进行Web服务开发。然而,随着技术的演进,开发者也应关注更新的框架,以便利用更先进的功能和更...
### 使用Axis 1.4开发WebService:关键技术与实践 #### 一、Axis 1.4 简介 Axis是一个开放源代码的Web服务引擎,它由Apache软件基金会开发和维护,支持SOAP协议,用于创建和部署Web服务。Axis 1.4版本是其稳定且...
标题中的“手把手教你用axis1.4搭建webservice”是指一篇教程,旨在指导读者如何使用Axis1.4这个开源工具来创建和部署Web服务。Axis是Apache软件基金会的一个项目,它提供了一种简单的方式来实现Java到SOAP(Simple ...
Axis1.4是Apache软件基金会开发的一个开源Java框架,用于创建和部署Web服务。这个框架在Web服务领域中扮演着重要角色,特别是在早期的Web服务实现中。标题和描述提到的知识点主要集中在如何使用Axis1.4来部署Web服务...
Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP Web服务。当我们需要在Spring Boot应用程序中集成Web服务时,Axis1.4提供了一个强大的...
AXIS1.4是Apache软件基金会开发的一个开源Java库,用于构建和使用Web服务。它提供了在Java平台上创建Web服务的工具和API,使得开发者能够快速实现SOAP(Simple Object Access Protocol)通信。在这个"AXIS1.4 ...
标题中的“手写Axis1.4发布WebService以及客户端调用”指的是使用Apache Axis1.4框架来创建和消费Web服务的过程。Apache Axis是用于构建Web服务的一个开源工具,它允许开发者将Java类转换为Web服务,并且提供客户端...
### Axis 1.4 发布WebService接口步骤详解 ...通过以上步骤,你已经成功地使用Axis 1.4框架发布了一个简单的WebService接口。这些步骤不仅可以帮助你理解发布WebService的基本流程,还可以作为后续更复杂应用的基础。
标题“axis1.4完整包下载”表明我们关注的是Apache Axis的1.4版本,这是一个较早但仍然在某些环境中使用的版本。 在描述中提到,“包含Axis1.4的所有完整包”,这意味着下载包中包含了运行和开发SOAP Web服务所需的...
标题 "axis1.4带lib包java开发webservice客户端和服务端" 涉及到的是一个基于Java的Web服务开发工具包,Axis1.4,它包含必要的库文件(lib)来支持创建和消费Web服务。这个压缩包是为MyEclipse集成开发环境设计的,...
Web服务(Web Service)是一种基于网络的、分布式的模块化组件,它提供了标准的方法...通过学习和掌握Axis1.4,你可以更好地理解和利用Web服务这一现代软件架构中的关键组成部分,实现不同系统间的互操作性和数据交换。
本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。
Axis1.4是Apache软件基金会开发的一个开源SOAP(简单对象访问协议)库,主要用于构建和部署Web服务。这个版本的Axis是基于Java平台的,它为开发者提供了强大的工具集,以便于实现符合WS-I(Web Services ...
在Java开发中,Axis1.4是一个常用的开源工具,用于构建和部署Web服务。本实例主要探讨如何将Axis1.4与Java项目整合,搭建Web服务的服务端。下面我们将详细阐述Axis1.4、Web服务以及如何在服务端进行设置。 一、 ...
Axis1.4是Apache软件基金会提供的一个开源工具,专门用于处理Web服务,特别是基于SOAP(Simple Object Access Protocol)的Web服务。本文将深入探讨如何使用Axis1.4生成客户端,以及与之相关的知识点。 1. **Web...
首先,了解 Axis1.4:Axis 是一个开源的Java Web服务框架,它允许开发者快速地创建和部署Web服务。Axis1.4是该框架的一个较老版本,尽管它可能不如最新版本的功能强大,但在某些场景下,如支持老版本的Web服务规范或...