一、使用wsdd发布web服务:
新建java工程TestAxis,新建mypack,
服务端代码:
package mypack;
public class HelloService {
public String sayHello(String username) {
return "Hello:"+username;
}
}
将服务端的class文件放到axis/web-inf/classes下(包括包的整体结构)
新建部署文件deploy.wsdd:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="helloservice" provider="java:RPC">
<parameter name="className" value="mypack.HelloService"/>
<parameter name="allowedMethods" value="sayHello"/>
<parameter name="scope" value="Request"/>
</service>
</deployment>
将部署文件放到Tomcat 5.0/webapps/axis/WEB-INF目录下,
运行——cmd——进入部署文件所在目录,如图:
运行命令:java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
如果成功则会显示 : <Admin>Done processing</Admin>
下面来解释AdminClient 所做的工作。AdminClient 首先会在axis.jar所在应用下的WEB-INF文件夹下创建一个webservice配置文件server-config.wsdd,并且根据wsdd文件的配置将我们的webservice加入到这个配置文件中。如果server-config.wsdd已经存在则不会创建,会修改这个文件将新的service 配置到server-config.wsdd文件中。
现在打开server-config.wsdd发现我们的服务已经配置在里面了:
在TestAxis工程的mypack下新建客户端文件,并把必须的jar包引入,
客户端代码:
package mypack;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
public class HelloClient
{
public static void main(String [] args) {
try {
String username="Guest";
if(args.length!=0) username=args[0];
String endpoint =
"http://localhost:8080/axis/services/helloservice";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setoperationName(new QName("urn:helloservice","sayHello") );
String ret = (String) call.invoke( new Object[] { username} );
System.out.println(ret);
} catch (Exception e) {
e.printstacktrace();
}
}
}
运行代码试一下,看是否能打印出结果吧。
二、使用wsdd文件卸载web服务
前面已经使用wsdd文件成功的发布了web服务,下面的卸载也就很简单了
我们首先定义一个undeploy.wsdd:
<undeployment xmlns="http://xml.apache.org/axis/wsdd/">
<service name="helloservice"/>
</undeployment>
将部署文件放到Tomcat 5.0/webapps/axis/WEB-INF目录下,
运行——cmd——进入部署文件所在目录,如图:
运行命令:java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient undeploy.wsdd
如果成功则会显示 : <Admin>Done processing</Admin>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。