简单WebService的例子(Axis引擎,DII部署)

1.开发环境
   我使用axis做为Web Service引擎,它是Apache的一个开源web service引擎。它目前最为成熟的开源web service引擎之一。下面我主要介绍一下如何使用Axis搭建web service 服务的环境。
   ①安装tomcat5.0应用服务器(也可以装5.5,不过我一直在用5.0);
   ②解压下载( http://ws.apache.org/Axis)后的axis重命名为.rar包再解压就是axis-1_4目录,将axis-1_4\webapps中axis目录复制到tomcat目录下的webapps目录下;  
   ③将axis/WEB-INF/lib目录下类文件复制到tomcat目录下的common/lib目录下;
   ④重新启动tomcat,访问http://localhost:8080/axis/happyaxis.jsp,如果能访问,表示安装成功;
  注意,axis有几个可选的包,如email.jar....,你可以找来放到tomcat目录下的common/lib目录下,如果不使用相关的功能也可以不用。
  这样,开发环境就搭建好了。

2.部署服务端
DII方式中,先写好服务的JAVA文件(假设名字为helloworld.java,不含有package),然后把它(注意是源文件)拷贝到webapps/axis目录中,后缀改成jws(此时文件名为:helloworld.jws),然后访问连接http://localhost:8080/Axis/helloworld.jws?wsdl,页面显示Axis自动生成的wsdl,这样一个Web Service就部署好了。

3.开发客户端
创建web工程,编写客户端请求程序。核心代码如下:
String endpoint = "http://localhost:8800/axis/Hello.jws";
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setOperationName(new QName(endpoint, "checkUserRight"));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
int ret =Integer.parseInt(("" + call.invoke( new Object[]
{args[0],args[1]} )));


demo
1、服务端程序Hello.java
public class Hello {

public int checkUserRight(String userId, String password) {
//假设进行数据库操作
if (password != null && "fred".equals(userId)) {
return 1;
}
return 0;
}
}
2、将源码拷贝到tomcat_home\webapps\axis\下面并重命名为Hello.jws ,访问http://localhost:8080/axis/Hello.jws?wsdl,页面显示自动生成的WSDL
3、编写客户端
创建web工程,引入tomcat_Lib下的jar.编写client.java
package s;
import javax.xml.namespace.QName;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class Client {
public static void main(String[] args) {
try {
String endpoint = "http://localhost:8800/axis/Hello.jws";
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setOperationName(new QName(endpoint, "checkUserRight"));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
int ret =Integer.parseInt(("" + call.invoke( new Object[]
{args[0],args[1]} )));
System.out.println("return quote is : " + ret);
}catch (Exception ex) {
ex.printStackTrace();
}
}
}
其中args[0],args[1]为控制台输入参数,可以在执行open run dailog时候
对Arguments添加参数用空格分开。

运行客户端即可执行了。客户端提出请求,服务端处理请求返回结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值