zoukankan      html  css  js  c++  java
  • 使用eclipse建立webservice服务和客户端

    平时在练习使用webservice互相传数据时,可以使用eclipse建立一个服务端发布WSDL,当然自身也可以建立客户端。

    Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
    Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

    也就是说,通过webservice我们就可以衔接C#、java等之间的通信。

    下面,我通过eclipse来建立一个简单的Webservice服务:

    首先,我们在eclipse中像建立一个web项目一样,new->Dynamic Web Project,这里我取名为helloService

     

    接着,我们先建一个需要暴露给外部的方法,

    package service;
    
    public class HelloService {
    public String say(String name) throws InterruptedException{
    return "hello "+name;
    }
    }

    然后呢,右击这个项目,new -> other->web services->webservice

     

    选择需要暴露的实现,service.HelloService,然后选择发布

     

    我们是通过tomcat发布的,直接start即可。常用的框架有,cxf、 axis、 axis2等,这里选择了axis

    发布之后,我们打开网页输入地址即可打开它的wsdl:http://localhost:8280/helloService/services/HelloService?wsdl

    前面的地址,在helloServiceWebContentwsdlHelloService.wsdl下可以看到,

     

    现在服务端已经建立。

    接下来,我们就需要使用client去连这个Webservice服务了,

    新建一个java工程(都可以)

     

    然后新建一个Webservice client就可以,

    输入wsdl地址,finish即可

     

    然后可以看到目录下的Webservice java类,

     

    我们新建一个test,去测试以下

    package test;
    
    import java.rmi.RemoteException;
    
    import service.HelloService;
    import service.HelloServiceProxy;
    
    public class Test {
    
    public static void main(String[] args) throws RemoteException {
    HelloServiceProxy helloPxy = new HelloServiceProxy();
    HelloService service = helloPxy.getHelloService();
    String res = service.say("yyf");
    System.out.println(res);
    }
    
    }

     

    Webservice的入门结束。

    客户端超时断开连接设置:

    HelloServiceSoapBindingStub->

    protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {
    _call.setTimeout(1000);//设置超时时间


     

    ————————————————
    版权声明:本文为CSDN博主「爆裂码手」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_18860653/article/details/53758555

  • 相关阅读:
    编码以及⼩知识点补充
    基本数据类型(dict)
    基本数据类型(list,tuple)
    python基础
    Eclipse使用技巧
    条件与(&&)和逻辑与(&)以及条件或(||)和逻辑或(|)区别
    到底怎么样才叫看书?——Tony Zhao's
    Jsp servlet 值传递。。
    (06)odoo报表
    (05)odoo数据库和业务操作
  • 原文地址:https://www.cnblogs.com/BruceKing/p/14783607.html
Copyright © 2011-2022 走看看