WebService笔记之定制发布(wsdd)(Axis1.4)

1, 编写服务

package com.webservice.wsdd;
public class HelloWSDD {
private int requestCount = 0;
public String hello(String name){
requestCount++;
System.out.println("调用次数" + requestCount);
return " 欢迎你" + name;
}
public Float add(Float a, Float b){
return a + b;
}
}

2, 发布

1> 编写针对本服务的*.wsdd文件.(可以参考axis示例)   deploy.wsdd

<deployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" 
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

  <service name="HelloWSDD" provider="java:RPC">
    <parameter name="className" value="com.webservice.wsdd.HelloWSDD" />
    <parameter name="allowedMethods" value="*" />
  </service>

</deployment>

2> 使用命令生成本项目的全局配置文件server-config.wsdd

我的jar包我放在了d:\Jars\axis\axis-1_4\lib,所以我使用命令

java -Djava.ext.dirs=d:\Jars\axis\axis-1_4\lib org.apache.client.AdminClient -lhttp://localhost:8888/axis/services deploy.wsdd

3> 访问http://localhost:8888/axis, 列出的HelloWSDDwsdl

4> 如果是已经有了server-config.wsdd文件,那么就只用添加配置

5> server-config.wsdd文件放到WEB-INF文件下,将服务class文件按照包结构复制到WEB-INF/classes

3, 编写客户端程序访问HelloWSDD

public class TestWSDDClient {
public static void main(String[] args) {
try{
// 指定访问web服务的位置
String url = "http://localhost:8888/axis/services/HelloWSDD";
// 创建服务
Service service = new Service();
// 创建调用
Call call = (Call)service.createCall();
// 设置调用服务来源
call.setTargetEndpointAddress(url);
// 设置调用方法名
call.setOperationName(new QName(url, "hello"));
// 调用
String result = (String)call.invoke(new Object[]{"zhangsan"});
System.out.print("result:  " + result );
}catch(Exception e){
e.printStackTrace();
}
}
}

4, 取消发布服务

1> 直接在server-config.wsdd文件中删除相应的配置 或者按照2>

2> 创建取消的配置文件  undeploy.wsdd文件

<undeployment name="test" xmlns="http://xml.apache.org/axis/wsdd/" 
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
  <service name="HelloWSDD" >
  </service>
</undeployment >

   使用命令取消发布

java -Djava.ext.dirs=d:\Jars\axis\axis-1_4\lib 								org.apache.client.AdminClient 		-lhttp://localhost:8888/axis/services undeploy.wsdd

你可能感兴趣的:(WebService笔记之定制发布(wsdd)(Axis1.4))