在axis中通过wsdd文件发布和卸载webservice【图文】

一、使用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>

现在打开server-config.wsdd文件之前配置的helloworld服务已经不在了,卸载成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值