axis应用1-安装及第一个Service

 
这边使用axis-bin-1_4.zip
2安装
Web服务器,这边使用tomcat(%TOMCAT_HOME%为tomcat安装目录)
%AXIS_HOME%指axis-bin-1_4.zip将解压后的目录
将%AXIS_HOME%/webapps目录下的axis目录拷贝到%TOMCAT_HOME%webapps目录下然后可以重启tomcat,地址栏输入http://127.0.0.1:8080/axis/访问AXIS引擎,检验安装是否正确
3 第一个webservice(HelloService)
3.1 建立工程目录
HelloService
-src
-test
       -java
-lib
-build.xml
拷贝%AXIS_HOME%/lib目录下的所有文件到当前工程的lib目录下
build.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloSerivce" default="all" basedir=".">
    <property name="source.level" value="1.4"/>
    <property name="src.dir" location="${basedir}/src"/>
    <property name="axis.lib" location="${basedir}/lib"/>  
    <property name="build.dir" location="${basedir}/build"/>
    <property name="client.dir" location="${basedir}/client"/>
    <property name="generated.dir" location="${client.dir}/generated"/>
    <property name="generated.java.dir" location="${generated.dir}/java"/>
    <property name="generated.wsdl.dir" location="${generated.dir}/wsdl"/>
    <property name="build.classes.dir" location="${build.dir}/classes"/>
    <property name="ws.build.classes.dir" location="${client.dir}/classes"/>
       <property name="test.dir" location="${basedir}/test"/>
       <property name="test.src.dir" location="${test.dir}/java"/>
       <property name="test.classes.dir" location="${test.dir}/classes"/>
    <property name="tomcat.dir" location="D:/tomcat/jakarta-tomcat-5.0.28"/>   
    <path id="classpath">
        <pathelement location="${build.classes.dir}" />
        <fileset dir="${axis.lib}">
            <include name="**/*.jar"/>
        </fileset>      
    </path>
    <path id="ws.classpath">
        <pathelement location="${ws.build.classes.dir}" />
        <fileset dir="${axis.lib}">
            <include name="**/*.jar"/>
        </fileset>     
    </path>
       <path id="test.classpath">
           <pathelement location="${test.classes.dir}" />
        <pathelement location="${ws.build.classes.dir}" />
        <fileset dir="${axis.lib}">
            <include name="**/*.jar"/>
        </fileset>     
    </path>
    <taskdef name="axis-admin" classname="org.apache.axis.tools.ant.axis.AdminClientTask">
        <classpath refid="classpath"/>
    </taskdef>
    <taskdef name="wsdl2java" classname="org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask">
        <classpath refid="classpath"/>
    </taskdef>
    <taskdef name="java2wsdl" classname="org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask">
        <classpath refid="classpath"/>
    </taskdef>
    <target name="-init">
        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.classes.dir}"/>
    </target>
       <target name="-generated-init">
           <mkdir dir="${client.dir}"/>
        <mkdir dir="${generated.dir}"/>
    </target>
    <target name="compile" depends="-init">
        <javac srcdir="${src.dir}" destdir="${build.classes.dir}" source="${source.level}" compiler="javac${source.level}" debug="on">
            <classpath>               
                <path refid="classpath"/>
            <!--      <pathelement location="${ws.build.classes.dir}" />-->
            </classpath>
            <!--      <exclude name="**/*Test.java" />-->
        </javac>        
    </target>    
   <target name="ws.compile" depends="w2j">
        <mkdir dir="${ws.build.classes.dir}"/>
        <javac srcdir="${generated.java.dir}" destdir="${ws.build.classes.dir}" source="${source.level}" compiler="javac${source.level}" debug="on">
            <classpath>
                <path refid="ws.classpath"/>
            </classpath>
          <!-- <exclude name="**/*Test.java" />-->
        </javac>
    </target>
        <target name="test.compile" depends="ws.compile">
        <mkdir dir="${test.classes.dir}"/>
        <javac srcdir="${test.src.dir}" destdir="${test.classes.dir}" source="${source.level}" compiler="javac${source.level}" debug="on">
            <classpath>
                <path refid="test.classpath"/>
            </classpath>       
        </javac>
    </target>
    <target name="deploy" depends="compile">
        <copy todir="${tomcat.dir}/webapps/axis/WEB-INF/classes">
            <fileset dir="${build.classes.dir}">
                <exclude name="**/client/**" />
                <exclude name="**/*Test.*" />           
            </fileset>
        </copy>
        <axis-admin url="http://localhost:8080/axis/servlet/AxisServlet"
                    xmlfile="${generated.java.dir}/org/jceun/ws/deploy.wsdd"/>            
    </target>     
    <target name="undeploy">
        <axis-admin url="http://localhost:8080/axis/servlet/AxisServlet"                 
                    xmlfile="${generated.java.dir}/org/jceun/ws/undeploy.wsdd"/>
         <delete dir="${tomcat.dir}/webapps/axis/WEB-INF/classes" includes="org/jceun/**"/>              
    </target>
    <!--wsdl-->
    <target name="j2w" depends="compile,-generated-init">        
           <echo message="generate the wsdl file from the java file"/>
        <mkdir dir="${generated.wsdl.dir}"/>
        <java2wsdl classname="org.jceun.ws.HelloSerivce"
                         porttypename="HelloSVC"
                   location="http://localhost:8080/axis/services/HelloSVC"
                   namespace="http://ws.jceun.org"
                   output="${generated.wsdl.dir}/HelloSVC.wsdl"
                   style="RPC">
                               <classpath refid="classpath"/>
            <!--        extraclasses="org.jceun.ws.Exception">-->     
        </java2wsdl>
     </target>
    <!---->
   <target name="w2j" depends="-init,-generated-init">
        <echo message="generate the java files from the wsdl file"/>
        <mkdir dir="${generated.java.dir}"/>
        <wsdl2java url="${generated.wsdl.dir}/HelloSVC.wsdl"
                         implementationClassName="org.jceun.ws.HelloSerivce"
                   output="${generated.java.dir}"
                   deployscope="session"
                   serverSide="yes"
                   skeletonDeploy="no"
                   noimports="no"
                   verbose="no"
                   typeMappingVersion="1.1"
                   testcase="yes">
            <!--set the package name, namespace equals targetNamespace of the wsdl files        
            <mapping namespace="http://127.0.0.1:8080/axis/services/webservice-test" package="samples"/>-->
        </wsdl2java>
    </target>   
    <target name="run" depends="test.compile">
        <java classname="org.jceun.ws.HelloSVCTest">
            <classpath>
                <path refid="test.classpath"/>
            </classpath>
        </java>
    </target>
    <target name="clean">
        <delete dir="${build.dir}"/>
              <delete dir="${client.dir}"/>
              <delete dir="${test.classes.dir}"/>
    </target>
</project>
 
3.2 编写服务实现类(HelloService.java)
HelloService.java内容如下
package org.jceun.ws;
 
public class HelloSerivce
{
       public String sayHello(String name){
          return "Hello "+name+"! "+new java.util.Date();
       }
}
 
 
3.3 由HelloService.java生成HelloSVC.wsdl
命令行进入到当前工程目录,执行以下命令
>ant j2w
3.3 由HelloSVC.wsdl生成客户端文件及部署描述文件(deploy.wsdd,undeploy.wsdd)
命令行进入到当前工程目录,执行以下命令
>ant w2j
3.4 部署HelloService
命令行进入到当前工程目录,执行以下命令
>ant deploy
3.5 编写测试类
在test/java/org/jceun/ws下新建一HelloSVCTest.java文件
HelloSVCTest.java内容如下:
package org.jceun.ws;
public class HelloSVCTest
{
       public static void main(String[] args)
       {
              try{
                  HelloSVCService s=new HelloSVCServiceLocator();
                  HelloSVC hello=s.getHelloSVC();
                  System.out.println(hello.sayHello("ceun!"));
              }catch(Exception e){
                     System.out.println("fail"+e);
           }
       }
}
3.6 运行测试
命令行进入到当前工程目录,执行以下命令
>ant run
 
 
 
 
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值