前戏:
其实有很多方式可以发布Webservice,我试验成功的有xfire和Axis,本来对xfire情有独钟的,无奈xfire的jar包太多,随便数了下有40多个,与我原项目中的多数jar包相冲突,并且有的版本和名称都不一样,手动挑选可能会发生些不可预计的错误,于是我转用Axis.
无论用哪种方式开发,或者开发什么,首先你都得到其官网下载它的包.我下的是最新的axis-bin-1_4.tar.gz,找到它里面的lib文件夹,它包括这几个jar包.
这里面共有8个jar包,往往log4j-1.2.8.jar和commons-logging-1.0.4.jar与原工程中的包会产生冲突,所以我们可只导入其余6个jar包.
接下来我们在我们项目中书写将要被调用的类.
这个类的意图是为了将来客户端访问的时候,在客户端传入一个字符串参数,在服务端响应后返回一串字符串.
这个类书写完成后,将其改名为Hello.jws,将你的项目发布后,假设你的Hello.jws不在任何包中,浏览器的地址栏输入: http://172.20.108.211:8080/axis/Hello.jws?wsdl 即可看到你想要发布服务的wsdl文件.
然后为了客户端能够方便调用,还需要写两个文件
在WEB-INF目录下创建deploy.wsdd,内容如下
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="Hello" provider="java:RPC">
<parameter name="className" value="Hello"/>
<param eter name="allowedMethods" value="showKeyword"/>
</service>
</deployment>
相信大家应该看得很明白了,<parameter name="className" value="Hello"/>代表我要发布的服务的类名是什么,第二句showKeyword代码客户端可以调用我哪个方法.
这个文件完了还要书写一个server-config.wsdd文件,这文件可以手写生成,也可以让系统自动生成
当项目发布后,打开DOS窗口,进入到deploy.wsdd文件所在目录,假如你的应用服务器是Tomcat,打入如下语句
D:\jakarta-tomcat-5.0.28\webapps\axis\WEB-INF>java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
系统会自动生成server-config.wsdd文件,内容就不贴了,太长了.
这里有个细节要注意的,-Djava.ext.dirs=lib 这句的意思是所有jar文件要从你项目中寻找,这里我们还需要导入两个jar文件activation.jar和mail.jar.这两个文件在我们下载的官方包中是没有的,好像1.4版本前的包有这两个jar文件,导入到你程序中就可以了.
至此服务端的开发基本完成,接下来就是客户端了
客户端也导入之前所说的一些包,其实服务端很简单,可以写个类来调用刚才服务端发布的服务
例如你可以写
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class HelloClient
{
public static void main(String [] args) throws Exception {
String endpoint = "http://172.20.108.211:8080/axis/Hello?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName("showHi") ;
String res = (String) call.invoke( new Object[] {"mymymy"} );
System.out.println( res );
}
}
这个类最重要的就是那串URL地址,我们可以通过这个URL地址来调用不同服务端发布的服务.
其实由此已经可见一斑了,客户端往往调用的都是比我们这个例子复杂得多的逻辑,我们可以将这些逻辑在服务端写好,return出客户端所需要的就可以了.
分享到:
相关推荐
【标题】"Axis发布Web服务教程源代码"指的是使用Apache Axis框架来创建并发布Web服务的教学资源,其中可能包含了详细的步骤、示例代码以及相关的配置文件。Apache Axis是开源的Java库,它允许开发者在Java平台上快速...
使用AXIS,开发者可以通过以下步骤发布一个Web服务: - 首先,你需要一个Java类,该类包含了要公开为Web服务的方法。 - 然后,使用AXIS的wsdl2java工具,你可以从Java类生成WSDL文件,这个文件定义了服务的接口和...
标题中的“axis发布webservice的步骤”涉及到的是在Java环境中使用Apache Axis库创建并部署Web服务的过程。Apache Axis是开源的Web服务工具包,它允许开发者通过简单的API将Java类暴露为Web服务,或者调用远程Web...
本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...
本文将深入探讨如何使用Axis2发布一个简单的Web服务,并提供相关知识点。 1. **Web服务基础**: Web服务基于开放标准,如SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language),...
在本文中,我们将深入探讨如何使用SpringBoot框架开发基于Axis的Web服务。SpringBoot以其便捷的启动和配置方式,已经成为Java开发中的首选框架之一。而 Axis 是一个流行的Apache项目,用于创建和部署Web服务,它提供...
Axis2 提供了多种方式来编写和发布 WebService,下面介绍使用 POJO 形式发布 WebService。 使用 POJO 形式发布 WebService 在 Axis2 中,不需要进行任何的配置,就可以直接将一个简单的 POJO 发布成 WebService。...
发布Web服务时,将生成的aar文件复制到Tomcat的axis2项目的服务目录中,重启Tomcat,然后在Axis2的管理界面中,你应该能看到服务已经成功部署。 此外, Axis2还支持通过WSDL生成Java客户端代码(stub)。如果你有一...
本项目是一个关于如何使用Axis1发布Web服务的示例,包含了必要的jar包和其他文件,可以直接运行。 首先,我们需要了解Web服务的基本概念。Web服务是一种基于互联网协议的软件,能够通过XML(eXtensible Markup ...
本文将详细介绍Axis与Axis2在使用WSDL2Java工具进行服务发布的差异性。这两种工具都是Apache项目的一部分,它们为开发者提供了强大的Web服务支持。其中,Axis1(以下简称Axis)是早期版本,而Axis2则是对Axis进行了...
在本主题中,我们将深入探讨如何使用Axis2框架以及它所涉及的关键插件。 1. **Axis2框架**:Axis2是构建和部署Web服务的核心框架,它支持SOAP 1.1、SOAP 1.2、RESTful服务,并且可以处理MTOM(Message Transmission...
在本文中,我们将深入探讨如何在Spring Boot项目中集成并使用Axis1.4来发布Web服务。Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP ...
【使用myEclipse,tomcat 和Axis发布webService】教程 在IT行业中,Web服务是一种标准的通信方式,使得不同的应用程序之间能够交换数据。本文将详细介绍如何使用myEclipse集成开发环境,Apache Tomcat服务器以及...
在本文中,我们将深入探讨如何使用Axis框架发布Web服务,以实例的方式逐步解析整个过程。首先,我们需要了解Axis,它是一个开源的Java Web服务开发工具,由Apache软件基金会开发,用于简化SOAP(简单对象访问协议)...
标题“Axis发布Web服务”指的是使用Apache Axis框架创建并部署Web服务的过程。Apache Axis是Java平台上的一款开源工具,专门用于构建和部署Web服务。它基于SOAP(Simple Object Access Protocol),使得不同应用程序...
spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码 spring集成axis发布webservice源码
本文将深入探讨如何使用Axis2发布Web服务,并通过一个名为"MyWebservice"的示例进行详细讲解。 首先,让我们了解Web服务的基本概念。Web服务是一种通过互联网交换结构化信息的应用程序接口(API)。它使用标准的XML...
4. **部署和发布服务**:如果我们要在Spring中发布一个Web服务,可以使用Axis2的`SpringServiceDeployer`。这需要将服务类和相关的配置文件打包成一个Axis2模块(.aar文件),然后部署到Axis2服务器上。 5. **测试...
当我们谈论“eclipse使用axis1.4发布联通vac的webservice服务代码”时,这里涉及到几个关键概念和技术,让我们一一深入探讨。 1. **Eclipse**:Eclipse是一个开源的集成开发环境(IDE),支持多种编程语言,包括...
本教程将详细介绍如何使用Axis手动创建并调用Web服务。 首先,我们需要了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信,使得应用程序可以在网络上共享功能。...