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, 列出的HelloWSDD的wsdl
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, 取消发布服务
<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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。