加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

axis的部署方式

发布时间:2020-12-17 02:32:26 所属栏目:安全 来源:网络整理
导读:axis的部署方式 =========================================================== 作者: SingleCool(http://singlecool.itpub.net) 发表于: 2004.11.22 14:24 分类: WEB SERVICES 出处: http://singlecool.itpub.net/post/1293/6268 -------------------------
axis的部署方式
===========================================================

以JWS的方式在TOMCAT上的部署WEBSERVICE
前言:
?相信有越来越多的程序员将接触WEBSERVICE这一新的领域。但是,总感觉很迷茫。买本书来看看,介绍的好象都是XML的知识,什么WSDL等等。搞的我们云里雾里的。那么,我们不仿自己来试试看,自己写一些WEBSERVICE程序,看看它的运行结果是怎么样子的。本文档就是介绍怎么样在TOMCAT上部署简单的WEBSERVICE服务,客户端又是怎么样去访问这个服务,并得到自己想要的信息的。
AXIS是Apache SOAP的第三代产品。
下面介绍一下以JWS的方式在TOMCAT上的部署WEBSERVICE。
本文档的适用对象:
?本文档适合于WEBSERVICE的初学者。但是,对TOMCAT有点了解,至少知道怎么启动TOMCAT。
关于该文档的约定:
?TOMCAT.DIR?? 表示TOMCAT的安装路径。
?webapps.dir? 表示tomcat.dir/webapps路径。
?axis.dir???? 表示tomcat.dir/webapps/axis
步骤:
一、下载并安装axis。
?下载地址:http://xml.apache.org。下载并解压。把AXIS目录拷贝到webapps.dir目录下。一般,axis.dir的目录结构如下所示:
?axis
?--web-inf
?----attachments
?----classes
?----jwsClasses
?----lib
在axis.dir/web-inf目录下还有一个重要的文件server-config.wsdd。安装好AXIS之后,运行TOMCAT,即启动服务。启动完成之后,我门就可以使用我门的浏览器访问我门的服务。在地址栏里输入http://localhost:8080/axis,这时我们就可以看到Apache-AXIS的欢迎界面。假如,没有看到这个欢迎界面,那么,安装AXIS是失败的。

二、写服务端代码:
?MyService.java:
public class MyService {
??? public String sayHello(String name,boolean isMan) {
??????? if(isMan) {
??????????? return "Hello,Mr "+name+"! Welcome to Webservice";
??????? } else {
??????????? return "Hello,Miss "+name+"! Welcome to Webservice";
??????? }
??? }
}
注意:不要将MyService.java放在一个PACKAGE里面。

三、写客户端程序
package com.unimas.datacollection.webservices.client;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

public class Client
{
??? public static void main(String [] args)
??? {
??????? try {
??????????? String endpoint="http://localhost:8080/axis/MyService.jws";

??????????? Service? service = new Service();
??????????? Call???? call??? = (Call) service.createCall();

??????????? call.setTargetEndpointAddress( new java.net.URL(endpoint) );
??????????? call.setOperationName( new QName("MyService","sayHello") );
??????????? call.addParameter( "arg1",XMLType.XSD_STRING,ParameterMode.IN);
??????????? call.addParameter( "arg2",XMLType.XSD_BOOLEAN,ParameterMode.IN);
??????????? call.setReturnClass(String.class);

??????????? String man = (String) call.invoke( new Object[] { "syc",new Boolean(true) } );
??????????? String women = (String) call.invoke( new Object[] { "yll",new Boolean(false) } );
??????????? System.out.println("if is a man you will see:"+man);
??????????? System.out.println("if is a women you will see:"+women);
??????? } catch (Exception e) {
??????????? e.printStackTrace();
??????????? System.err.println(e.toString());
??????? }
??? }
}
假如用addParameter方法来设置参数的话,必须使用setReturnType来设置返回类型。与之相等效的方法为setReturnClass。
还有一种客户端程序的写法,如下所示:
package com.unimas.datacollection.webservices.client;

import org.apache.axis.client.Service;
import org.apache.axis.client.Call;

import javax.xml.namespace.QName;

public class AnothClient {
?? public static void main(String [] args) {
?????? try {
?????????? String endpoint="http://localhost:8080/axis/MyService.jws";

?????????? Service? service = new Service();
?????????? Call???? call??? = (Call) service.createCall();

?????????? call.setTargetEndpointAddress( new java.net.URL(endpoint) );
?????????? QName qname = new QName("sayHello");
?????????? call.setOperationName(qname);

??????????? String man = (String) call.invoke( new Object[] { "syc",new Boolean(false) } );
??????????? System.out.println("if is a man you will see:"+man);
??????????? System.out.println("if is a women you will see:"+women);
?????? } catch (Exception e) {
?????????? System.err.println(e.toString());
?????????? e.printStackTrace();
?????? }
?? }
}
这两中写法,所达到的效果是一样的。
四:部署
将MyService.java拷贝到axis.dir目录下面。并将起重命名为MyService.jws。这个时候,我门就把我们的服务器端部署好了,启动我们的服务器(执行startup.bat)。
五、运行客户端程序:
1、运行客户端程序Client。你将看到如下结果:
?if is a man you will see:Hello,Mr syc! Welcome to Webservice
?if is a women you will see:Hello,Miss yll! Welcome to Webservice
2、运行客户端程序AnothClient。你将看到如下结果:
?if is a man you will see:Hello,Miss yll! Welcome to Webservice
终结:以上就是一个简单的WEBSERVICE部署的全过成。非常简单是不?但是,这里有个致命的确定,就是服务器程序不能放在一个包里面,也就是说不能使用PACKATE。优点就是简单实用。
参考资料:
Axis入门:www.csdn.net
Axis Documentation:? http://ws.apache.org/axis/java/index.html
The Java Web Services Tutorial http://java.sun.com/webservices/docs/1.1/tutorial/doc/index.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读