Axis使用指南

一、Axis安装

 

    1. 环境 JDK 6.0 、Tomcat 6.0

 

    2. 到 http://ws.apache.org/Axis/ 网站下载Axis安装包,我使用的是axis1.4

 

    3. 解压缩安装包,将axis-bin-1_4/axis-1_4/webapps下的axis包拷贝到TOMCAT_HOME/webapps/下

 

    4. 启动tomcat,访问http://localhost:8080/Axis 检查安装是否成功


    5. 以上步骤执行成功,可以开发webservice例子了

    Axis支持三种web service的部署和开发,分别为:

    1. Dynamic Invocation Interface ( DII)

    2. Stubs方式

    3. Dynamic Proxy方式

    由于实际应用中Stubs方式使用的最频繁,所以重点讲解Stubs方式

二、axis Stubs方式实现

      1. 编写服务端程序SayHello.java,编译SayHello.java
           package server;
       public class SayHello {
         public String getName(String name) {
           return "hello " + name;
         }
       }
 

      2. 将编译后的文件拷贝到TOMCAT_HOME/webapps/axis/WEB-INF/classes下,如:  
         D:/appsoft/devtools/Tomcat6.0/webapps/axis/WEB-INF/classes

      3. 执行如下命令生成SayHello.wsdl和deploy.wsdd
        java -cp %axis_classpath%;D:/appsoft/devtools/Tomcat6.0/webapps/axis/WEB-INF/classes 
       org.apache.axis.wsdl.Java2WSDL -oSayHello.wsdl -lhttp://localhost:8080/axis/services/SayHello -n
       sayhello -d  server.SayHello

       注意:%axis_classpath%是在环境变量中设置的axis需要的jar包,D:/appsoft/devtools/Tomcat6.0/webapps/axis/WEB-INF/classes是类文件所在的目录

      4. 执行如下命令生成client stub
      D:/appsoft/devtools/Tomcat6.0/webapps/axis/WEB-INF/classes>java -cp %axis_classpath%;
      D:/appsoft/devtools/Tomcat6.0/webapps/axis/WEB-INF/classes org.apache.axis.wsdl.WSDL2Java
      SayHello.wsdl -p client

      5. 发布服务
      D:/appsoft/devtools/Tomcat6.0/webapps/axis/WEB-INF/classes>java -cp %axis_classpath%;
      D:/appsoft/devtools/Tomcat6.0/webapps/axis/WEB-INF/classes org.apache.axis.client.AdminClient
      server/deploy.wsdd

      6. 生成的stub client文件列表为:
        SayHello.java
        SayHelloService.java。
        SayHelloServiceLocator.java
        SayHelloSoapBindingStub.java

      7. 编写客户端程序,编译并执行

         package test;
         import client.SayHelloService;
       
         public class SayHelloClient {
         public static void main(String[] args) {
           try {
                 SayHelloService service = new client.SayHelloServiceLocator();
                 client.SayHello_PortType client = service.getSayHello();
                 String retvalue = client.getName("zhangsan");
                 System.out.println(retvalue);
            } catch (Exception e) {
                 System.err.println("Execution failed. Exception: " + e);
            }
          }
        }

你可能感兴趣的:(tomcat,exception,webservice,String,service,interface)