`
sunnylocus
  • 浏览: 870250 次
  • 性别: Icon_minigender_1
  • 来自: 美国图森
社区版块
存档分类
最新评论

公司面试操作题—用webservice实现两个整数求和

    博客分类:
  • Java
阅读更多

     刚开始找工作那段时间,每天要面试好几家单位,不停的重复着面试,机试。后来来到我现在这个公司,感觉这家公司很务实,给了我三道题目,前两道不难,第一个题目是结合Oracle数据库建立一个登陆信息表,实现ajax登陆验证功能,第二个题目是用oracle语句实现jsp分页功能。前两道题目很简单,关键是第三道题目,用webservice实现两个整数求和,看到这个题目我连webservice的基本概念都不知道,回校问老师,老师也不清楚。没办法只能上网查资料,弄到半夜十二点半终于搞明白了。

      第二天机试顺利通过。之后公司来了几位应试的最后都被webService拒之门外,我问道怎么不上网查资料呢,他说,查了,网上的例子放到自己的机器出些不知道的错误,网上文章也都是些难懂的字眼看不懂。所以我把机试题的经验写到博客里,希望能对求职的朋友有一点帮助。

 概念:

    Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问

 

    说的通俗一点webservice它就是一个函数或着方法,它的特别之处在于这个方法布署到web容器之后,无论身处何地,只要能访问到这个web容器,谁都可以调用这个方法。实现webservie最快捷的就是用axis框架,将axis的几个jar包导入到项目里,把要实现webservice功能的类,复制一份放到WEBROOT目录下,将复制到WEBROOT目录下的类的后缀名改为.jws,然后布署到web容器,在地址栏中输入http://ip/项目名/类文件.jws,将会看到如图所示的界面:

 

 点击 Click to see the WSDL 会打开一个网页,网页包含一些xml的描述信息,如图

 如果看到上面的信息,表明的你的webservice已经发布成功了,在程序里可以调用这个"函数"了

简单的webservice服务调用代码:

package com.sunnylocus.test;

import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class TestCalculate {

	public static void main(String[] args) {
		try {
			/*我在公司的服务器测试的,公司的tomcat已把端口改成80 所以ip地址后面不用加端口号*/
			String endpoint = "http://192.168.0.16/axis/Calculate.jws";
			Service service = new Service();
			Call call = null;
			call = (Call) service.createCall();
			//设置操作名称(或着说被调用的方法名)
			call.setOperationName(new QName(endpoint, "getSum"));
			//设置目标终端地址
			call.setTargetEndpointAddress(new java.net.URL(endpoint));
			//设置传入参数
			Object[] params = {new Integer(5),new Integer(3)};
			//调用webservice
			Integer sum = (Integer) call.invoke(params);
			System.out.println("两数之和:"+sum);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}

 

输出:

两数之和:8

 代码及axis相关的jar包,我打包放在附件了,希望对找工作的朋友有点帮助。

  • webServiceTest.rar (2.1 MB)
  • 描述: webservice简单调用的代码及axis相关的jar包
  • 下载次数: 395
11
1
分享到:
评论
7 楼 lsm0622 2010-10-20  
楼主讲的真好  浅显易懂  网上很多文章 长篇大论的 不切重点
6 楼 liulei0616 2010-10-14  
工作经验不长,能写出这样的代码来,不错
5 楼 jackmisweijie 2008-08-02  
不错。支持。
4 楼 sunnylocus 2008-07-22  
谢谢支持
3 楼 dongsw 2008-07-22  
好帖 学到东西了 挺楼主 加油
2 楼 sunnylocus 2008-07-22  
axis的helloworld我没看过,最简单的调用都是这样,并不是看着象就是axis的helloword例子
1 楼 jmszhang 2008-07-22  
Axis自带的helloworld例子。

相关推荐

Global site tag (gtag.js) - Google Analytics