Axis1.4容器WebService服务发布过程

由JAVA代码生成Axis1.4容器WebService服务!

通过WTP正常发布WebService服务
  • 下载Axis1.4,并验证环境!
  • IDE使用eclipse,并且集成WTP工具!
  • 创建Web工程;

  • Axis1.4容器WebService服务发布过程_第1张图片
  • 新建java类ToLowerCase,建议加个包名,否则后面自动生成的wsdd要手工修改
  • package test;
    public class ToLowerCase {
    	public String getLowerCase(String str) {
    		return str.toLowerCase();
    	}
    }
  • WEB工程导入Axis1.4容器依赖包:axis.jar、jaxrpc.jar、saaj.jar、wsdl4j-1.5.1.jar;
  • 通过WTP工具生成WSDL(类型声明"wsdl:types"、消息"wsdl:message"(依赖类型声明)、服务端口声明"wsdl:portType"(包含操作,操作依赖消息)、绑定(服务端口实现)、服务发布)!

  • Axis1.4容器WebService服务发布过程_第2张图片

    服务发布成功后:
    Axis1.4容器WebService服务发布过程_第3张图片

    通过WTP正常发布WebService服务失败,或者需要生产客户端代码和服务端代码,请继续!

    发布服务过程中如果出错,那就不用管它,主要关注生成的wsdl文件,一步一步继续我们的服务发布。
    Axis1.4容器WebService服务发布过程_第4张图片
  • 修改wsdl服务地址,例如:http://localhost:8088/AxisTest/services/ToLowerCase;
  • 在WebContent下创建build.xml,注意设置为上步定义的服务地址;
  • 例如:

    <project name="SimpleService">
    	<property name="axis.home" value="H:/OpenSource/Apache Axis/axis-1_4" />
    	<property name="server_gen" value="../server_code" />
    	<property name="client_gen" value="../client_code" />
    	<path id="axis.classpath">
    		<fileset dir="${axis.home}/lib">
    			<include name="**/*.jar" />
    		</fileset>
    	</path>
    	<taskdef resource="axis-tasks.properties" classpathref="axis.classpath" />
    	<target name="generate-service-stub">
    		<axis-wsdl2java serverside="true" url="./wsdl/ToLowerCase.wsdl" output="${server_gen}">
    		</axis-wsdl2java>
    	</target>
    	<target name="generate-client-stub">
    		<axis-wsdl2java url="./wsdl/ToLowerCase.wsdl" output="${client_gen}">
    			<mapping namespace="http://DefaultNamespace" package="" />
    		</axis-wsdl2java>
    	</target>
    	<target name="deploy">
    		<axis-admin url="http://localhost:8088/AxisTest/services/ToLowerCase" xmlfile="./WEB-INF/ToLowerCaseService/DefaultNamespace/deploy.wsdd" />
    	</target>
    
    </project>


    根据以上信息,需要设置axis1.4的home;在web工程下增加server_code目录和client_code目录!
  • 生成服务端代码;
  • 执行build.xml,如图:
    Axis1.4容器WebService服务发布过程_第5张图片

    选择先生成服务端代码,如图:
    Axis1.4容器WebService服务发布过程_第6张图片
  • 同理生成客户端代码;
  • 将生成服务端代码中(server_code目录下)的deploy.wsdd拷贝到build.xml指定的位置"./WEB-INF/ToLowerCaseService/DefaultNamespace/deploy.wsdd"。

  • 注意:最初新建的ToLowerCase类,如果没有包名,需要手工修改服务端代码(server_code目录下)中的wsdd,<parameter name="className" value="DefaultNamespace.ToLowerCaseSoapBindingImpl"/>,value值"ToLowerCase";否则发起服务后无法识别DefaultNamespace!
  • 启动tomcat,发布应用;
  • 再次执行build.xml发布服务,生成server-config.wsdd(此文件一般在运行时tomcat文件夹中,因为tomcat集成到eclipse时一般会单独有个临时目录),拷贝到WEB-INF下,重启tomcat即可;


  • 小结,理解由java代码生成ws服务,axis1.4容器自动化过程:
    第一步:创建出ToLowerCase.wsdl,对所要发布服务类进行描述(此过程选择服务描述 样式和编码格式);
    第二步:创建deploy.wsdd、undeploy.wsdd,描述所部署的服务(此过程可以创建服务端代码stub)!
    第三步:发布服务,创建运行时server-config.wsdd,以后web服务所最终依赖!(服务发布后也可以手工创建客户端代码stub)

    你可能感兴趣的:(eclipse,tomcat,Web,xml,webservice)