博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webservice Axis 小结
阅读量:5344 次
发布时间:2019-06-15

本文共 2934 字,大约阅读时间需要 9 分钟。

webservice 是分散式应用程序的发展趋势。只要webservice公开了服务接口,远程客户端就可以调用服务。几乎所有企业内部系统之间的交互都会用到webservice。

webservice更多的是一种标准,而不是一种具体的技术。java中实现webservice的框架很多,如:Axis,Xfire,CXF等,其中较成熟的是Axis,其实只要掌握了一种,其他的都比较相似。

下面主要来说明Axis的实现:

1.准备工作:

Axis是Apache SOAP的一个实现,所以大家可以去Apache官网下载所要的jar包,当然可以直接百度或谷歌出来。

http://www.apache.org/dyn/closer.cgi/ws/axis/1_4 这是官网下载地址,但是好像用不了...但是网络的力量是巨大的,http://pan.baidu.com/share/link?shareid=489426&uk=2047286654 这个是可以用的,感谢好心人的分享。

在解压的目录下有一个webapps的目录,这里面就有我们要的jar包了,可以将webapps下的axis部署到tomcat下(直接复制到tomcat的webapps目录下),然后访问http://127.0.0.1:8080/axis

点击Validation 就能看到所需jar包是否都有,不全的话就要另外下载了。

2.webservice实例:

2.1新建一个工程webservice,在web.xml中添加servlet

AxisServlet
org.apache.axis.transport.http.AxisServlet
AxisServlet
/services/*

 

2.2添加server-config.wsdd文件:

 

2.3编写服务端代码:

package com.dcstudio;import org.apache.log4j.Logger;public class HelloAxis {    private static final Logger logger = Logger.getLogger(HelloAxis.class);        public String AxisTest(String s){        System.out.println("client:"+s);        String str = "Hello Webservice !!";        return str;    }    }

 

3.新建客户端项目webservice_client

3.1新建客户端访问代码:

package com.dcstudio;import java.rmi.RemoteException;import javax.xml.rpc.ServiceException;import org.apache.axis.client.Call;import org.apache.axis.client.Service;/** * webservice的客户端程序 * @author Administrator * */public class Client {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        String url="http://127.0.0.1:8080/webservice/services/HelloWebservice";        Service ser=new Service();          try {              Call call=(Call)ser.createCall();              call.setTargetEndpointAddress(url);              // call.setOperationName(new  QName(targetEndPoint,  "hello" ));               call.setOperation("AxisTest");               String result=(String)call.invoke(new Object[]{
new String("I'm client")}); System.out.println("result="+result); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}

4.部署工程,访问验证

 

转载于:https://www.cnblogs.com/dc-studio/p/3203475.html

你可能感兴趣的文章
linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
查看>>
《黑客与画家》 读书笔记
查看>>
bzoj4407: 于神之怒加强版
查看>>
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>
HAL层三类函数及其作用
查看>>
Odoo 去掉 恼人的 "上午"和"下午"
查看>>
web@h,c小总结
查看>>
java编程思想笔记(一)——面向对象导论
查看>>
Data Structure 基本概念
查看>>
Ubuntu改坏sudoers后无法使用sudo的解决办法
查看>>
NEYC 2017 游记
查看>>
[搬运] 写给 C# 开发人员的函数式编程
查看>>
Python之旅Day14 JQuery部分
查看>>
core--线程池
查看>>
redux-effect
查看>>
Android轻量级的开源缓存框架ASimpleCache
查看>>