`

AXIS客户端解释

阅读更多
方式1:DII(Dynamic Invocation Interface)方式,这个方式企业一般不用,但是这是axis提供的方式

先去解压开的axis目录下去找axis-1_4\samples\userguide\example1里面有个客户端的例子:

其中:
 String endpoint = 
     "http://nagoya.apache.org:5049/axis/services/echo";
说的是这个服务的地址,终端也就是服务端的地址。。。注意区别于 "http://nagoya.apache.org:5049/axis/services/echo?wsdl";这个是服务端描述文件的地址。。。


还有在这个例子中被注释的部分是可以不写的。。。。写了只是让读者看的明白点,不写也可以。。。


方式2:动态代理(Dynamic Proxy)


动态代理需要一个本地的接口作为代理
public interface ITestDynameicProxy extends Remote {
public String getMessage() throws RemoteException;
}//这就是一个代理哦,他只有这个类的架构,没有类的实现,正好与多态技术结合起来,这里这个接口实现了远程接口,也就是告诉虚拟机我是来实现远程对象的哦

public static void main(String[] args) throws Exception {
String wsdlUrl = "http://localhost:8080/axis/test/Test.jws?wsdl";
String nameSpaceUri = "http://soapinterop.org/";
String serviceName = "Test1Service";
String portName = "Test1";
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService(
new URL(wsdlUrl), new QName(nameSpaceUri,serviceName));


//下面是这个代理的使用
ITestDynameicProxy proxy = (ITestDynameicProxy)service.getPort(
new QName(nameSpaceUri,portName),ITestDynameicProxy.class);
System.out.println(proxy.getMessage());
}
通过输入wsdl地址,命名空间地址和服务名,用服务工厂创建出一个服务实例,再通过设置端口名得到一个服务类型的服务代理对象,通过该代理,就可以直接访问web服务了。


方式3:静态方式(Stubs)

按常规方式发布一个web service
得到wsdl文件
通过web页面直接另存为
通过Java2WSDL工具类生成
(java org.apache.axis.wsdl.Java2WSDL -o demo1.wsdl -l http://localhost:8080/axis/services/demo -n http://www.itcast.cn/   test.Demo)



//下面是重点,我们得到一个wsdl,那么怎么来使用它
利用WSDL2Java工具类生成客户端调用代码
(java org.apache.axis.wsdl.WSDL2Java demo.wsdl -p client)
用cmd进入axis所在的classes目录下,把demo.wsdl粘贴到那里,然后执行这个命令WSDL就会To Java了。。。-p client的意思是  生成之后存放到classes中的client下 -p即path

在生成的代码基础上,进行客户端的调用	
    	public static void main(String[] args) throws ServiceException, RemoteException {
	DemoServiceLocator demoService = new DemoServiceLocator();
	Demo demo = demoService.getdemo();
	System.out.println(demo.getMessage());
	}
//其中DemoServiceLocator 是远程服务的本地类,他把该设置的参数都设置进去了,demoService.getdemo();直接得到了远程服务的接口代理。。。。这个思想和动态代理是一样的,然后就可以像操作本地的类一样操作它了哈


远程调用中的Stub是客户端的存根,他也相当于一个代理,他做些序列化和反序列化的工作,和一些接口(这里是代理的体现,因为是接口所以不干真正意义的事情)。。。。Steleton是服务器端的代理。。。他是骨架


分享到:
评论

相关推荐

    axis 客户端

    axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端axis 客户端

    Axis客户端调用代码

    本文将深入探讨如何使用Axis客户端进行调用,以及如何利用WSDL2JAVA工具生成客户端代码。 标题中的"Axis客户端调用代码"指的是使用Axis库来实现对Web服务的调用。Axis提供了Java客户端API,使得开发人员能够通过...

    WebService:Axis客户端调用需要身份验证的CXF服务

    这个博客很可能详细解释了如何在实际代码中实现上述步骤,包括如何配置Axis客户端、如何处理认证头以及如何与CXF服务进行安全交互。通过阅读和理解这些内容,你可以掌握如何在实际项目中处理这种复杂的Web服务调用。

    axis客户端调用webservice

    java axis客户端调用webservice,可应用于ofbiz框架。 解决网络上共享代码两次调用后会出现timeout的BUG

    Axis客户端的几种实现方式

    标题中的“Axis客户端的几种实现方式”指的是在Java开发中,使用Axis库来创建和使用Web服务客户端的不同方法。Axis是Apache软件基金会的一个开源项目,它提供了一个强大的工具集,用于处理SOAP(简单对象访问协议)...

    axis2客户端调用axis1服务接口

    axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...

    axis客户端需要的最少包

    axis客户端调用WebService需要的最少包。包含axis.jar commons-discovery-0.2.jar commons-logging.jar jaxrpc.jar mail.jar saaj.jar wsdl4j.jar

    webservice for axis客户端详尽代码

    本资源“webservice for axis客户端详尽代码”提供了一套完整的Axis客户端代码示例,对于学习和理解如何在Java应用中使用Axis来调用Web服务极具价值。 一、Web Service基础知识 Web服务通常通过SOAP(Simple ...

    axis客户端

    本文将深入探讨Axis客户端的相关知识点,以及与之关联的jar包。 首先,让我们了解一下Axis客户端的核心功能。Axis客户端是Apache Axis框架的一部分,该框架允许开发者创建、部署和使用Web服务。它提供了一种简单的...

    axis2客户端调用webService接口,精简jar包

    本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...

    axis2客户端所需要的所有jar包

    本文将详细阐述Axis2客户端所需的所有jar包及其在调用服务端、测试接口过程中的作用。 首先,让我们了解什么是Axis2。Axis2是Apache软件基金会的一个开源项目,它提供了一个灵活、高性能的SOAP引擎,支持多种协议,...

    axis客户端jar文件

    标题中的“axis客户端jar文件”指的是Axis,一个用于构建Web服务客户端和服务端的开源Java框架。Axis是由Apache软件基金会开发的,它允许开发者通过简单的API创建、发布和使用Web服务。这个压缩包包含了运行和使用...

    axis2客户端调用服务端,带用户身份认证

    当涉及到“axis2客户端调用服务端,带用户身份认证”时,我们主要关注的是如何在 Axis2 客户端中添加安全机制,确保只有经过验证的用户能够访问服务。 首先,理解身份认证是网络安全的基础。在Web服务中,通常采用...

    axis2生成客户端服务端代码

    ### Axis2生成客户端与服务端代码详解 #### 一、Axis2简介 Axis2是Apache组织下的一个开源项目,它是一种高性能、轻量级的Web服务框架,支持SOAP和REST等协议,能够帮助开发者轻松地构建和部署Web服务。Axis2提供了...

    cxf客户端调用axis服务端流程

    总之,使用CXF客户端调用Axis服务端涉及多个步骤,包括生成客户端代码、配置客户端、创建服务代理以及进行实际调用。理解这些步骤并正确实现它们是成功通信的关键。在实际开发过程中,可能会遇到各种问题,需要耐心...

    基于Axis的Web Service客户端调用

    【标题】基于Axis的Web Service客户端调用 在IT领域,Web Service是一种通过网络进行通信的标准协议,它允许不同系统间的应用程序互相交换数据。而Apache Axis是Java平台上的一个开源工具,专门用于创建和部署Web ...

    xfire接口程序,包含xfire服务端和axis客户端

    本项目名为"xfire接口程序,包含xfire服务端和axis客户端",旨在提供一个完整、可直接运行的示例,帮助开发者快速理解并应用这两种技术。 xfire是一个开源的Java库,它允许开发者创建和消费Web服务。xfire的核心...

    axis根据服务端wsdl生成客户端工具

    通过 Axis 根据服务端 WSDL 生成客户端工具,开发者可以高效地实现客户端与服务端的通信,降低了开发成本,提高了开发效率。了解并熟练掌握这一过程,对于从事 Web 服务开发的 IT 专业人员至关重要。

    axis2客户端需要的jar包

    以下是关于Axis2客户端需要的jar包及其功能的详细解释: 1. **axis2-adb.jar**:这个jar包包含了Axis2的数据绑定抽象(ADB)框架,用于将XML数据自动映射到Java对象。ADB提供了一种简单而高效的方式来处理XML消息。...

    java调用webservice axis 客户端 服务器端 包含jar包

    本篇文章将详细解析如何使用Java通过Axis客户端调用WebService,以及如何搭建和配置Axis服务器端。 一、Axis简介 Axis是一个基于Java的SOAP(简单对象访问协议)栈,它提供了从Java类生成Web服务和从WSDL(Web服务...

Global site tag (gtag.js) - Google Analytics