在 Axis安装中,我们安装了Axis,现在我们开始Axis开发 。
Axis支持三种web service的部署和开发,分别为:
1.Dynamic Invocation Interface ( DII)
2.Stubs方式
3.Dynamic Proxy方式
【第一种方法】 Dynamic Invocation Interface(DII)方式
第一步:编写服务器端程序FruitQuoteService.java
import java.lang.*;
public class FruitQuoteService
{
public int getQuote(String category)
{
int quote = 0;
String apple = "apple";
String orange = "orange";
if(category.equals(apple))
{
quote = 110;
}
else if(category.equals(orange))
{
quote = 155;
}
return quote;
}
}
第二步:将源码拷贝到AXIS_HOME下面并重命名为FruitQuoteService.jws
第三步:访问http://localhost:8080/axis/FruitQuoteService.jws?wsdl,页面显示自动生成的WSDL
接下来编写客户端代码测试
import org.apache.axis.client.*;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
public class client
{
public static void main(String[] args)
{
if(args.length <= 0)
{
System.out.println("miss fruit name!");
}
else
{
try
{
String endpoint
= "http://localhost:8080/axis/FruitQuoteService.jws";
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setOperationName(new QName(endpoint, "getQuote"));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
int ret =Integer.parseInt(("" + call.invoke( new Object[]
{args[0]} )));
System.out.println("return quote is : " + ret);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
}
编译:javac client.java
运行:java client orange
输出:return quote is :155
OK,搞定!
分享到:
相关推荐
#### 二、使用DII(Dynamic Invocation Interface)方式开发Web服务 - **概念介绍**:DII是一种调用远程Web服务的方法,允许动态生成调用代码。这种方式不需要预先知道Web服务的具体实现细节,只需知道服务的操作名...
【WebService Axis 搭建开发】是关于使用Apache Axis库创建和部署Web服务的教程。Apache Axis是一个开源项目,主要用于简化Java应用程序与Web服务之间的交互。在这个过程中,我们将重点介绍如何利用Axis进行快速开发...
使用Axis开发WebService有两种主要方式:DII(Dynamic Invocation Interface)和Stubs。其中,DII方式更为灵活,适用于动态生成WebService接口的情况。 1. **编写Java类**:创建一个简单的Java类,例如`HelloWorld`...
### 利用Axis构建Webservice的关键知识点 ...这种方式不仅简化了Webservice的开发流程,还提高了开发效率。对于初学者来说,这是一个非常好的实践案例,可以帮助理解和掌握Webservice的基本概念和技术细节。
Axis支持三种方式开发Web服务: 1. **DII(Dynamic Invocation Interface)**:动态调用接口,通过Java类直接暴露为Web服务。 2. **Stubs方式**:通过生成的服务存根(Stub)来实现。 3. **Dynamic Proxy方式**:...
**2.1 DynamicInvocationInterface (DII) 开发方式** DII是一种动态调用接口,允许客户端动态调用服务器端的服务方法。 **步骤1:编写服务端代码** ```java public class SayHello { public String say(String ...
Apache Axis支持多种WebService部署和开发方式,包括: 1. **Dynamic Invocation Interface (DII)**:动态调用接口。 2. **Dynamic Proxy 方式**:动态代理方式。 3. **Stubs 方式**:该方式最常用,也是本文重点...
接下来,我们将分别演示DII和Dynamic Proxy两种方式创建Web服务的例子: **DII例子**: 1. 创建一个名为`HelloClient`的服务端类,包含一个方法`getName`。 2. 将`HelloClient`的源码复制到Axis的工作目录下,并...
Stubs方式是最传统的Web服务客户端开发方式,它会自动生成客户端代码(Stub)和服务器端代码(Skeleton)。这种方式通常适用于需要类型安全性和编译时检查的情况,但在本示例中并未涉及。 总结起来,开发Web服务的...
Apache Axis2 是一款流行的 WebService 开发平台,它提供了一种高效且易于使用的框架来构建 WebService。Axis2 的核心是一个 SOAP 处理器,可以用于开发客户端和服务端应用程序。 - **特点:** - 内存占用小:相比...
在Java领域,虽然有多种框架可用于开发WebService,如AXIS、XFire等,但本篇重点讨论的是CXF框架。 #### Apache CXF框架起源与发展 Apache CXF项目源自ObjectWeb Celtix与CodeHaus XFire两大开源项目的合并。...
通常情况下,DII方式适用于不经常变化的服务,而Stubs方式则适用于需要频繁更新的服务。 #### 四、总结 通过本文的介绍,我们不仅了解了如何在Eclipse环境下配置和部署Axis环境,还学习了如何创建和调用一个简单的...
**示例1:DII方式的WebService** 1. **创建服务类**:编写一个简单的服务类`HelloWorld.java`,提供一个名为`getName`的方法,该方法接收一个字符串参数`name`并返回包含问候语的字符串。 ```java public class ...
首先介绍了安装配置Axis的基本步骤,接着重点讲解了使用 **DII** 方式发布WebService的具体流程。通过以上步骤,你可以轻松地在自己的系统中集成WebService功能,实现与外部系统的数据交换和服务交互。 通过本文档...
在本文中,我们将重点讨论Web Service的重要概念,特别是与 Axis 框架相关的开发方法,包括Dynamic Invocation Interface (DII) 和 Dynamic Proxy 方式。 ### 1. Web Service基本概念 Web Service通过使用XML(可...