热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JDKtomcatAxis的安装使用

一.简介 什么是SOAP?SOAP是一个应用程序间的基于XML的通信工具和规范.SOAP最初由MicroSoft和Userland公司开发,已经演化了好几个版本,当前的版

一.简介


什么是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服务被成功发布了。


现在写个客户端程序访问一下:



 1



TestClient.java




 2







 3





import


 org.apache.axis.client.Call;




 4





import


 org.apache.axis.client.Service;




 5







 6





import


 javax.xml.rpc.ParameterMode;




 7







 8





public


 


class


 TestClient




 9










{




10




   


public


 


static


 


void


 main(String [] args) 


throws


 Exception 






{




11



       




12



       String endpoint 


=


 


"


http://localhost:


"


 


+


"


8080


"


+


 


"


/axis/HelloWorld.jws


"


;


//


指明服务所在位置






13









14



       Service  service 


=


 


new


 Service();  


//


创建一个Service实例,注意是必须的!






15





       Call     call    


=


 (Call) service.createCall();


//


创建Call实例,也是必须的!






16









17



     call.setTargetEndpointAddress( 


new


 java.net.URL(endpoint) );


//


为Call设置服务的位置






18









19



        call.setOperationName( 


"


sayHello


"


 );


//


注意方法名与HelloWorld.java中一样!!






20









21




         String res 


=


 (String) call.invoke( 


new


 Object[] 






{}



 );


//


返回String,没有传入参数






22









23



                         System.out.println( res );




24



   }







25



}







26




 



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

我们的第二种发布方式:


1、将HelloWorld.java编译成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes

      下

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

     deploy.wsdd




   


       


       


   




在DOS下转换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:


java org.apache.axis.client.AdminClient deploy.wsdd 后会出现

Processing file deploy.wsdd


Done processing

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

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

 



 1



HelloClient.java




 2







 3





import


 org.apache.axis.client.Call;




 4





import


 org.apache.axis.client.Service;




 5







 6





public


 


class


 HelloClient




 7










{




 8




   


public


 


static


 


void


 main(String [] args) 


throws


 Exception 






{




 9







10



       String endpoint 


=


 


"


http://localhost:


"


 


+


"


8080


"


+


 


"


/axis/services/HelloWorld


"


;


//


注意!差别仅仅在这里!!






11









12



       Service  service 


=


 


new


 Service();




13



       Call     call    


=


 (Call) service.createCall();




14



       call.setTargetEndpointAddress( 


new


 java.net.URL(endpoint) );




15



        call.setOperationName(


"


sayHello


"


  );




16







17




         String res 


=


 (String) call.invoke( 


new


 Object[] 






{}



 );




18







19



                         System.out.println( res );




20



   }







21



}







22




 

五.总结

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


JDK tomcat Axis的安装使用




推荐阅读
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 使用freemaker生成Java代码的步骤及示例代码
    本文介绍了使用freemaker这个jar包生成Java代码的步骤,通过提前编辑好的模板,可以避免写重复代码。首先需要在springboot的pom.xml文件中加入freemaker的依赖包。然后编写模板,定义要生成的Java类的属性和方法。最后编写生成代码的类,通过加载模板文件和数据模型,生成Java代码文件。本文提供了示例代码,并展示了文件目录结构。 ... [详细]
  • Struts2+Sring+Hibernate简单配置
    2019独角兽企业重金招聘Python工程师标准Struts2SpringHibernate搭建全解!Struts2SpringHibernate是J2EE的最 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
author-avatar
Shelter-庇护所-Official
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有