【第二种方法】Stubs方式
1. Web Service服务端
编写JAVA类Hello.java,内容如下:
public class Hello
{
public String hello(String name)
{
if(name==null)
name = "";
return "你好"+name+",欢迎来到Web服务的世界!";
}
}
无需编译,将该文件改名为Hello.jws并拷贝到AXIS安装下。
下面我们就可以测试该Web服务了,打开浏览器并输入刚刚创建的文件名对应的URL地址
[url]http://localhost:8080/axis/Hello.jws [/url]浏览器显示如下结果:
There is a Web Service here
Click to see the WSDL
点击页面上的链接查看该Web服务对应的WSDL信息
到此我们已经完成了hello的Web服务了,那我们怎么告诉用户如何来使用该服务呢?我们只需要告诉用户我们的Web服务的URL地址: http://localhost:8080/axis/Hello.jws?wsdl 就可以了!
2. Web Service客户端开发
我们将使用java来访问刚刚创建的Web服务,使用AXIS的工具将使Web服务的访问和我们之前介绍的创建一个Web服务一样的简单。安装AXIS以后,环境中已经包含着这样的工具,它是一个JAVA类,类名为:org.apache.axis.wsdl.WSDL2Java。打开命令行窗口,转到AXIS目录下的WEB-INF子目录。确保Tomcat服务已经处于启动状态,键入命令 :
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
该命令执行的结果是在当前所在目录下产生一个子目录 localhost/axis/Hello_jws,该目录下有四个JAVA源文件,它们分别是:
Hello.java 定义了Web服务接口,此例中只有一个hello方法。
HelloService.java 定义了用于获取Web服务接口的方法。
HelloServiceLocator.java 接口HelloService的具体实现。
HelloSoapBindingStub.java Web服务客户端桩,通过该类与服务器交互。
这四个JAVA类帮我们处理了大部分的逻辑,我们需要的仅仅是把这些类加到我们的项目然后创建一个我们自己的类来调用它们即可。为此我们新加一个类Main.java,为了方便,让这个类与刚产生的四个类都在同一个包下。内容如下:
package localhost.axis.Hello_jws;
public class Main
{
public static void main(String[] args) throws Exception
{
HelloService service = new HelloServiceLocator();
Hello hello = service.getHello();
System.out.println("Response:"+hello.hello("BeatBLOG"));
}
}
使用以下命令进行编译:
javac -classpath lib\axis.jar;lib\jaxrpc.jar localhost\axis\Hello_jws\*.java
如果编译没有问题的话执行该测试程序:
java -Djava.ext.dirs=lib -cp . localhost.axis.Hello_jws.Main//运行结果:Response:你好BeatBLOG,欢迎来到Web服务的世界!
在WSDL2Java工具自动产生的几个类中,类HelloServiceLocator中保存这一些跟服务器相关的信息,例如URL地址等,当服务器的地址更改后但是服务并没有改动的时候直接修改该文件中的字符串定义,而无需重新生成这几个类。具体需要修改的内容,打开该文件便可一目了然。
分享到:
相关推荐
标题 "axis 开发webservice经典入门例子" 指向的是使用Apache Axis工具来创建和使用Web服务的基本教程。Apache Axis是开源的Java框架,它允许开发者轻松地在Java应用程序中构建和部署Web服务。本教程可能是为了帮助...
在IT行业中,开发Web服务是实现不同系统间数据交换和通信的重要方式,而Apache Axis是一个广泛使用的开源工具,专门用于创建和部署Web服务。本文将深入探讨如何利用Axis开发WebService,以及相关的技术要点。 首先...
Web Service是一种常见的通信方式,而Axis2是Apache组织提供的一款强大的Web Service框架,它支持SOAP和RESTful服务。本文将详细介绍如何在Android应用中利用Axis2来调用Web Service。 **一、Android与Web Service...
标题中的“Axis和WebService配置使用之Hello”表明我们将探讨如何在Java环境中使用Axis库来创建和使用Web服务,实现一个简单的“Hello World”示例。 Axis是一个开源的Java SOAP(简单对象访问协议)工具包,它允许...
总结,使用Axis开发Web服务是一种高效且灵活的方式,它使得开发者能够快速地创建和使用Web服务,促进了跨平台的系统集成。通过理解Axis的工作原理和实践操作,可以更好地应对现代IT环境中的挑战。
使用Axis开发WebService有两种主要方式:DII(Dynamic Invocation Interface)和Stubs。其中,DII方式更为灵活,适用于动态生成WebService接口的情况。 1. **编写Java类**:创建一个简单的Java类,例如`HelloWorld`...
【WebService Axis 搭建开发】是关于使用Apache Axis库创建和部署Web服务的教程。Apache Axis是一个开源项目,主要用于简化Java应用程序与Web服务之间的交互。在这个过程中,我们将重点介绍如何利用Axis进行快速开发...
### 利用Axis构建Webservice的关键知识点 ...这种方式不仅简化了Webservice的开发流程,还提高了开发效率。对于初学者来说,这是一个非常好的实践案例,可以帮助理解和掌握Webservice的基本概念和技术细节。
标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...
在本篇中,我们将深入探讨Axis在Webservice开发中的重要性、使用方法以及如何将提供的"axis开发包"整合到你的项目中。 1. **什么是Web服务?** Web服务是一种通过互联网交换业务逻辑和数据的方法。它们基于开放...
使用Axis的`wsdl2java`工具,根据WSDL生成客户端所需的Java stubs和Skeleton。这些生成的类封装了与Web服务交互的细节,使得客户端代码更简洁。 9. **详细截图** 文档中可能包含了每一步操作的截图,帮助读者更好...
Axis支持三种方式开发Web服务: 1. **DII(Dynamic Invocation Interface)**:动态调用接口,通过Java类直接暴露为Web服务。 2. **Stubs方式**:通过生成的服务存根(Stub)来实现。 3. **Dynamic Proxy方式**:...
Apache Axis提供了一套工具和服务,简化了Web服务开发过程,包括编译WSDL(Web服务描述语言)文件为Java代码、生成客户端 stubs 和服务器端 skeletons,以及处理SOAP消息。 描述中提到的“一个简单的webservice ...
1. **环境准备**:确保你已经安装了Java开发环境(JDK)和Apache Axis工具。可以从Apache官方网站下载最新版本的Axis并解压到合适的位置。 2. **创建Java类**:编写一个简单的Java类,这个类将暴露为WebService。...
标题 "Axis 自动生成WebService" 涉及到的是在IT行业中创建和使用Web服务的一个关键工具——Axis。Web服务是一种基于互联网的软件应用,允许不同系统之间的数据交换,通常使用XML作为数据格式,SOAP协议进行通信。...
- 使用Axis2工具生成服务骨架:基于WSDL自动生成服务接口和客户端 stubs。 - 配置服务:将服务类和WSDL文件放入Axis2的部署目录。 - 运行服务:启动Axis2服务器,服务即可对外提供。 5. **jar包的作用** 在提供...
【Axis2 WebService 开发指南】是关于使用Apache Axis2框架创建和操作Web服务的教程。Axis2是Axis1的升级版,提供了更多的功能和改进的性能。在开始之前,你需要下载并安装必要的开发工具,包括Axis2的jar包和...
它提供了一种与SOAP交互的简单方式,使得开发Web服务客户端和服务端更加方便。 5. **saaj-api.jar**: SOAP with Attachments API for Java (SAAJ) 是处理SOAP消息中附件的标准API。它允许在SOAP消息中附加非文本...
3. **生成服务接口和Stub**:使用Axis的`wsdl2java`命令,根据你的服务类生成对应的WSDL文件以及客户端和服务端的Stubs。这将创建一个描述服务接口的WSDL文件,以及供客户端调用的Java代码。 4. **部署服务**:将...