`
shingo7
  • 浏览: 19359 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用Axis发布Webserive

阅读更多

前戏:

       其实有很多方式可以发布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发布webservice教程源代码

    【标题】"Axis发布Web服务教程源代码"指的是使用Apache Axis框架来创建并发布Web服务的教学资源,其中可能包含了详细的步骤、示例代码以及相关的配置文件。Apache Axis是开源的Java库,它允许开发者在Java平台上快速...

    AXIS发布webservice

    使用AXIS,开发者可以通过以下步骤发布一个Web服务: - 首先,你需要一个Java类,该类包含了要公开为Web服务的方法。 - 然后,使用AXIS的wsdl2java工具,你可以从Java类生成WSDL文件,这个文件定义了服务的接口和...

    axis 发布webservice的步骤

    标题中的“axis发布webservice的步骤”涉及到的是在Java环境中使用Apache Axis库创建并部署Web服务的过程。Apache Axis是开源的Web服务工具包,它允许开发者通过简单的API将Java类暴露为Web服务,或者调用远程Web...

    axis2发布webservice和调用axis2服务接口

    本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...

    使用axis2发布WebService简单示例

    本文将深入探讨如何使用Axis2发布一个简单的Web服务,并提供相关知识点。 1. **Web服务基础**: Web服务基于开放标准,如SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language),...

    SpringBoot开发WebService之Axis示例

    在本文中,我们将深入探讨如何使用SpringBoot框架开发基于Axis的Web服务。SpringBoot以其便捷的启动和配置方式,已经成为Java开发中的首选框架之一。而 Axis 是一个流行的Apache项目,用于创建和部署Web服务,它提供...

    axis2发布webservice

    Axis2 提供了多种方式来编写和发布 WebService,下面介绍使用 POJO 形式发布 WebService。 使用 POJO 形式发布 WebService 在 Axis2 中,不需要进行任何的配置,就可以直接将一个简单的 POJO 发布成 WebService。...

    使用Axis2搭建_WebService

    发布Web服务时,将生成的aar文件复制到Tomcat的axis2项目的服务目录中,重启Tomcat,然后在Axis2的管理界面中,你应该能看到服务已经成功部署。 此外, Axis2还支持通过WSDL生成Java客户端代码(stub)。如果你有一...

    Axis1发布webservice服务

    本项目是一个关于如何使用Axis1发布Web服务的示例,包含了必要的jar包和其他文件,可以直接运行。 首先,我们需要了解Web服务的基本概念。Web服务是一种基于互联网协议的软件,能够通过XML(eXtensible Markup ...

    axis和axis2的一些发布差异(WSDL2Java) 收藏

    本文将详细介绍Axis与Axis2在使用WSDL2Java工具进行服务发布的差异性。这两种工具都是Apache项目的一部分,它们为开发者提供了强大的Web服务支持。其中,Axis1(以下简称Axis)是早期版本,而Axis2则是对Axis进行了...

    web service 使用 axis2 框架使用的插件

    在本主题中,我们将深入探讨如何使用Axis2框架以及它所涉及的关键插件。 1. **Axis2框架**:Axis2是构建和部署Web服务的核心框架,它支持SOAP 1.1、SOAP 1.2、RESTful服务,并且可以处理MTOM(Message Transmission...

    springboot使用axis1.4的demo

    在本文中,我们将深入探讨如何在Spring Boot项目中集成并使用Axis1.4来发布Web服务。Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP ...

    使用myEclipse,tomcat 和Axis发布webService

    【使用myEclipse,tomcat 和Axis发布webService】教程 在IT行业中,Web服务是一种标准的通信方式,使得不同的应用程序之间能够交换数据。本文将详细介绍如何使用myEclipse集成开发环境,Apache Tomcat服务器以及...

    axis发布webservice详细步骤(以实例讲解)

    在本文中,我们将深入探讨如何使用Axis框架发布Web服务,以实例的方式逐步解析整个过程。首先,我们需要了解Axis,它是一个开源的Java Web服务开发工具,由Apache软件基金会开发,用于简化SOAP(简单对象访问协议)...

    axis发布webservices

    标题“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源码 spring集成axis发布webservice源码

    axis2发布示例

    本文将深入探讨如何使用Axis2发布Web服务,并通过一个名为"MyWebservice"的示例进行详细讲解。 首先,让我们了解Web服务的基本概念。Web服务是一种通过互联网交换结构化信息的应用程序接口(API)。它使用标准的XML...

    Spring集成axis2实现webservice所用到的包

    4. **部署和发布服务**:如果我们要在Spring中发布一个Web服务,可以使用Axis2的`SpringServiceDeployer`。这需要将服务类和相关的配置文件打包成一个Axis2模块(.aar文件),然后部署到Axis2服务器上。 5. **测试...

    eclipse使用axis1.4发布联通vac的webservice服务代码

    当我们谈论“eclipse使用axis1.4发布联通vac的webservice服务代码”时,这里涉及到几个关键概念和技术,让我们一一深入探讨。 1. **Eclipse**:Eclipse是一个开源的集成开发环境(IDE),支持多种编程语言,包括...

    使用axis手动编写webservice服务发布,并调用

    本教程将详细介绍如何使用Axis手动创建并调用Web服务。 首先,我们需要了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信,使得应用程序可以在网络上共享功能。...

Global site tag (gtag.js) - Google Analytics