使用axis发布服务

本文详细介绍了如何使用Apache Axis发布Web Service,包括即时发布JWS和定制发布WSDD的方式。通过编写Java文件,修改文件后缀,放置到特定目录,以及编写配置文件和执行命令,可以成功发布和管理服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

axis是Apache的一个Web Service的发布平台,它提供了两种web service 的发布方式:

1、即时发布JWS:

1、编写普通的无包结构的java文件,主要是类--方法;

2、修改编写好的java文件的后缀名为jws;

3、发布web service服务,这个主要是将编写好的jws文件放到axis项目平台中,并根据放入的文件目录来确定服务访问的地址;

4、编写客户端来对发布的服务进行测试。

下面是客户端代码的编写:

<span style="white-space:pre">	</span>String url = "";
    	Service service = new Service();
    	Call call = (Call)service.createCall();
    	call.setTargetEndpointAddress(url);
    	call.setOperation("test");
    	String result = (String) call.invoke(new Object[]{});
注意:这里的话,即时发布我们必须要有发布java的源代码,并且不能有包结构,那么当有包结构的时候,这个时候,我们就要使用axis平台为我们提供的第二种发布方式--定制发布。

2、定制发布WSDD

定制发布要有需要发布服务的class文件或者jar文件,在发布的时候我们需要保留包的文件目录结构。

实现的步骤:

1、编写带有包结构的java代码(普通:方法的编写);

2、生成编写好java类的class文件或者jar文件;

3、将编译好的结果(包含包层次)拷贝到axis项目下的axis\web-inf\classes下;

4、使用命令在axis服务平台上注册服务(声明服务的方法)

Axis\web-inf\, 要在axis项目的这个文件下创建一个wsdd定制服务的配置文件,默认这个文件是没有的。

1、编写一个当前的项目配置文件server-config.wsdd

1、编写一个个人*.wsdd文件,描述一个web服务

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

<service name="urn:cominfo" provider="java:RPC">

<parameter name="className" value="指明需要发布的类的绝对位置"/>

<parameter name="allowedMethods" value="方法名(*)" />

</service>

</deployment>

2、在Axis\web-inf\下面执行命令:这个是axis平台提供的生成配置文件命令,其实也就是使用到了java执行命令

java   org.apache.axis.client.AdminClient    *.wsdd    ---使用这个我们是自动的生成wsdd文件,当然我们也可以自己来写这个文件;

5、文件的结构:

AXIS

web-inf

-------server-config.wsdd      ---这个是定制发布服务的配置文件的位置

classes

-----这里放完整包路径的服务类的class文件或者jar包

6、修改server-config.wsdd文件的配置

在这个配置文件中首先是全局配置<globalConfiguration></globalConfiguration>

还有<handler>过滤器

要发布服务配置<service>等

7、取消一个服务:

1、编写取消的*.wsdd

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

<service name="要取消的服务名"/>

</undeployment>

2、执行命令

java   org.apache.axis.client.AdminClient   取消.wsdd     执行这个命令来取消服务

8、Web Service  Object的生存范围

<parameter name="scope" value="request/session/application"/>

REQUEST  :Axis为每一个SOAP的请求产生服务对象--针对请求的

Session      : 为每一个调用webService的客户端产生服务对象----针对会话,这个是针对客户端来创建服务对象的。

Application  :这个是在服务器内存中直接new一个服务对象,这个是全局的服务对象。在服务器的内存中只有一个服务对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值