JDK tomcat Axis的安装使用

原创 2007年09月30日 13:01:00

JDK tomcat Axis的安装使用
一.简介
什么是SOAP?SOAP是一个应用程序间的基于XML的通信工具和规范.SOAP最初由MicroSoft和Userland公司开发,已经演化了好几个版本,当前的版本SOAP1.1正飞速发展.W3C的XML协议工作组正努力把它发展为一个真正的开发的标准.SOAP1.2草案已经发布,它能澄清 1.1版规范的容易混淆的地方.

什么是Axis?Axis总体上是一个SOAP引擎,但又不仅仅是个引擎,它还:1)是一个简单的独立的服务器2)是一个可插入到servlet引擎(如Tomcat)中的服务3)可扩展的支持WSDL4)能根据WSDL产生JAVA文件/类5)包括一些例子程序6)包括一个可以监控TCP/IP包的工具

Axis起源于IBM的SOAP4J,是Apache SOAP的第三代产品,相对于以前的版本,它有如下特性:1)快速,它使用了基于事件的SAX解析机制.2)灵活,用户可以灵活定制扩展.3)稳定,接口将会变动很小.4)基于组件开发.5)支持WSDL1.1

二.准备
应用Axis开发Web Services,你需要安装如下软件:
1.jdk1.5
2.安装Tomcat5.0.28,这是当前稳定版本.Tomcat运行在80端口.访问http://localhost/8080检查Tomcat是否安装成功.
3.下载AXIS:
官方站点:http://xml.apache.org/axis/index.html
下载软件:axis-bin-1_2_1.tar.gz
4.下载相关包:
a.mail.jar 下载地址:http://java.sun.com/products/javamail
b.activation.jar 下载地址:http://java.sun.com/products/javabeans/glasgow/jaf.html
c.xerces.jar 下载地址:http://xml.apache.org/xerces-j/index.html
d.xmlsec-1.2.1.jar 下载地址:http://xml.apache.org/security/

三.安装
1.将jdk1.5.0_04安装在D:/jdk1.5.0_04下(当然安装路径可任意选)好后,环境变量配置如下:
JAVA_HOME=D:/jdk1.5.0_04
CLASSPATH=.;D:/jdk1.5.0_04/jre/lib/rt.jar;D:/jdk1.5.0_04/jre/lib/tools.jar
Path=D:/jdk1.5.0_04/bin
2.tomcat-5.0.28安装在D:/tomcat-5.0.28下(安装路径可任选)好后,环境变量配置如下:
CATALINA_BASE=D:/tomcat-5.0.28
CATALINA_HOME=D:/tomcat-5.0.28
3.axis的安装
a.将下载的Axis软件包解压缩,将其中的“webapps”目录下的“axis”目录整个拷贝到Tomcat安装目录下的“webapps”目录下。
b.将mail.jar、activation.jar、xerces.jar、xmlsec-1.2.1.jar四个包,全部拷到D:/tomcat-5.0.28/webapps/axis/WEB-INF/lib下
c.环境变量配置
AXIS_HOME=D:/tomcat-5.0.28

AXIS_LIB=%AXIS_HOME%/WEB-INF/lib
AXISCLASSPATH=%AXIS_LIB%/activation.jar;%AXIS_LIB%/axis.jar;%AXIS_LIB%/axis-ant.jar;%AXIS_LIB%/commons-discovery-0.2.jar;%AXIS_LIB%/commons-logging-1.0.4.jar;%AXIS_LIB%/jaxrpc.jar;%AXIS_LIB%/saaj.jar;%AXIS_LIB%/log4j-1.2.8.jar;AXIS_LIB%/xml-apis.jar;%AXIS_LIB%/xercesImpl.jar;%AXIS_LIB%/mail.jar;AXIS_LIB%/wsdl4j-1.5.1.jar;%AXIS_LIB%/xerces.jar;%AXIS_LIB%/xmlsec-1.2.1.jar

CLASSPATH=%AXIS_HOME%/WEB-INF/lib
AXISCLASSPATH=%AXIS_LIB%/activation.jar;%AXIS_LIB%/axis.jar;%AXIS_LIB%/axis-ant.jar;%AXIS_LIB%/commons-discovery-0.2.jar;%AXIS_LIB%/commons-logging-1.0.4.jar;%AXIS_LIB%/jaxrpc.jar;%AXIS_LIB%/saaj.jar;%AXIS_LIB%/log4j-1.2.8.jar;AXIS_LIB%/xml-apis.jar;%AXIS_LIB%/xercesImpl.jar;%AXIS_LIB%/mail.jar;AXIS_LIB%/wsdl4j-1.5.1.jar;%AXIS_LIB%/xerces.jar;%AXIS_LIB%/xmlsec-1.2.1.jar
这里有几点需要注意:中间不要有空格,包的名字可能有不同的版本,这时需要修改一下包名。

四.测试
安装配置完毕后,应测试一下是否tomcat、Axis可以正确运行了。
启动Tomcat服务器,在浏览器中访问http://localhost:8080/axis/happyaxis.jsp,如果页面显示有错误,则需要回头检查一下相关配置是否正确,如果浏览页面能正确显示出系统组件、属性等参数配置信息,则表示安装成功。现在可以开始开发你的Web Services应用了。 

五、服务的发布
Axis提供了两种服务发布方式,一种是即时发布(Instant Deployment),一种是定制发布(Custom Deployment)。

1. 使用即时发布 Java Web Service(JWS)

  对即时发布的支持是Axis的特色之一,使用即时发布使用户只需有提供服务的Java类的源代码,即可将其迅速发布成Web服务。每当用户调用这类服务的时候,Axis会自动进行编译,即使服务器重启了也不必对其做任何处理,使用非常简单快捷。

  使用即时发布首先需要一个实现服务功能的Java源文件,将其扩展名改为.jws(Java Web Service的缩写),然后将该文件放到“……/webapps/axis”目录下即可。
 在此给出一个HelloWorld程序,其源码如下:

HelloWorld.java

public class HelloWorld {
  public String sayHello()
  {
    return "HELLO WORLD!";
  }
}


将其放到“……/webapps/axis”目录,通过访问http://localhost:8080/axis/HelloWorld.jws?wsdl可以看到这个服务的WSDL描述文件,这说明HelloWorld服务被成功发布了。
现在写个客户端程序访问一下:

TestClient.java

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

import javax.xml.rpc.ParameterMode;

public class TestClient
{
   public static void main(String [] args) throws Exception {
      
       String endpoint = "http://localhost:" +"8080"+ "/axis/HelloWorld.jws";//指明服务所在位置

       Service  service = new Service();  //创建一个Service实例,注意是必须的!
       Call     call    = (Call) service.createCall();//创建Call实例,也是必须的!

     call.setTargetEndpointAddress( new java.net.URL(endpoint) );//为Call设置服务的位置

        call.setOperationName( "sayHello" );//注意方法名与HelloWorld.java中一样!!

         String res = (String) call.invoke( new Object[] {} );//返回String,没有传入参数

                         System.out.println( res );
   }
}


下面我们介绍第二种发布方式,这是常用的。

我们的第二种发布方式:
1、将HelloWorld.java编译成HelloWorld.class,放到%TOMCAT_HOME%/webapps/axis/WEB-INF/classes

      下

2、在%TOMCAT_HOME%/webapps/axis/WEB-INF下新建deploy.wsdd文件,即SOAP服务发布描述文件

     deploy.wsdd

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <service name="HelloWorld" provider="java:RPC">
        <parameter name="className" value="HelloWorld"/>
        <parameter name="allowedMethods" value="sayHello"/>
    </service>
</deployment>

在DOS下转换目录到%TOMCAT_HOME%/webapps/axis/WEB-INF,命令:
java org.apache.axis.client.AdminClient deploy.wsdd 后会出现

Processing file deploy.wsdd
<Admin>Done processing</Admin>

这时你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/services/HelloWorld?wsdl,你就会看到你的服务已发布

同样用客户端程序访问一下:(注意和上边的差别!!)

HelloClient.java

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://localhost:" +"8080"+ "/axis/services/HelloWorld";//注意!差别仅仅在这里!!

       Service  service = new Service();
       Call     call    = (Call) service.createCall();
       call.setTargetEndpointAddress( new java.net.URL(endpoint) );
        call.setOperationName("sayHello"  );

         String res = (String) call.invoke( new Object[] {} );

                         System.out.println( res );
   }
}

五.总结

  Web Services是未来网络应用的发展方向,SOAP和WSDL是Web Services的核心协议,Axis给出了一个很好的SOAP实现,它使得开发Web Services应用变得轻松而有趣。


 


 

jdk+tomcat+axis2配置及常见问题

Axis2的环境配置比较麻烦,与jdk,tomcat等的版本均有关系。所以如配置均不存在问题时,请选择较新的版本进行重新配置。 1.  首先下载jdk文件自动安装。 2.  配置java_home...
  • u010484308
  • u010484308
  • 2014年12月02日 20:33
  • 705

Tomcat与Axis

apache和tomcat有什么不同
  • Captain_Pirate
  • Captain_Pirate
  • 2014年09月07日 07:58
  • 650

tomcat下部署webservice axis

1.安装tomcat tomcat一般安装目录 /usr/local/tomcat,先查看是否已经有安装。  //确认jdk是否有安装及其版本 java -version //若出现不了版本...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2016年08月05日 10:16
  • 998

使用Axis在Tomcat下发布Webservice操作指南

       最近在工作过程中总是需要向其它项目组提供Webservice的接口,由于开始需求不是很明确,接口的定义经常需要变更,每一次下来都需要将Java到wsdl,从wsdl到Java,再根据ws...
  • zhangzhaokun
  • zhangzhaokun
  • 2009年09月23日 10:20
  • 6481

Linux-Ubuntu14.04下JDK+tomcat安装与项目部署图文详解

一、环境准备 本文运行环境为 JDK1.7+Tomcat7 JDK1.7下载地址 Tomcat7下载地址 二、jdk安装配置 将下载好的jdk解压到usr/local sudo t...
  • pgpanda
  • pgpanda
  • 2016年09月19日 11:40
  • 6995

浅谈tomcat jdk ecplise之间的关系

这三种最好要保持一致 ,比如统一用32位的,或者64位的,我曾经ecplise jdk用32位的,用64位的tomcat根本没法安装系统服务,后来换为32位的就好了...
  • zhousenshan
  • zhousenshan
  • 2016年09月24日 10:52
  • 221

tomcat运行指定JDK,不运行环境变量配置的JDK

1.在tomcat的免安装解压目录下,进入D:\apache-tomcat-6.0.43\bin,找到setclasspath.bat文件, 在if not "%JAVA_HOME%" == "" ...
  • qq_29058811
  • qq_29058811
  • 2016年12月16日 14:02
  • 4741

单独设置Tomcat的JDK启动环境

在windows环境下以批处理文件方式启动tomcat 只要运行/bin/startup.bat这个文件,就可以启动Tomcat。 在启动时,startup.bat会调用catalina.ba...
  • yakson
  • yakson
  • 2013年06月27日 16:22
  • 14981

修改tomcat默认使用的jdk版本

有时当服务器安装了多个jdk版本而有需要指定tomcat使用特定的jdk版本启动时,需要做写简单修改。修改方式如下: 1、windows平台 在catalina.bat文件和setclas...
  • yxtouch
  • yxtouch
  • 2015年10月30日 15:09
  • 9318

查看Tomcat JDK版本

在使用Tomact运行项目时发现报当前编译环境jdk版本不匹配,于是我就想根据Tomcat运行加载的JDK版本进行设置项目编译的jdk版本。那么下面我将简单介绍下如何在tomcat服务器中通过命令查看...
  • jz20110918
  • jz20110918
  • 2015年01月14日 11:24
  • 8427
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDK tomcat Axis的安装使用
举报原因:
原因补充:

(最多只允许输入30个字)