微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在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服务已经不在了,卸载成功!

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

相关推荐