zoukankan      html  css  js  c++  java
  • 发布WS接口与实现WS接口[小列子]

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

    一、 WebService生成
    1.在eclipse或myclipse新建一个Web项目,并新建一个class类,用于发布;


    2.编写供客户端调用的方法,即编译方法代码;
    示例:

    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import javax.xml.ws.Endpoint;

    /**
    * Title: ServiceHello
    * Description: 基于jdk1.6以上的javax.jws 发布webservice接口
    @WebService - 它是一个注解,用在类上指定将此类发布成一个ws。
    Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解
    对象绑定到一个地址的端口上。
    * Version:1.0.0
    * @author panchengming
    */
    @WebService
    public class JwsServiceHello {

    /** 供客户端调用方法 该方法是非静态的,会被发布
    * @param name 传入参数
    * @return String 返回结果
    * */
    public String getValue(String name){
    return "欢迎你! "+name;
    }

    /**
    * 方法上加@WebMentod(exclude=true)后,此方法不被发布;
    * @param name
    * @return
    */
    @WebMethod(exclude=true)
    public String getHello(String name){
    return "你好! "+name;
    }

    /** 静态方法不会被发布
    * @param name
    * @return
    */
    public static String getString(String name){
    return "再见!"+name;
    }


    //通过EndPoint(端点服务)发布一个WebService
    public static void main(String[] args) {
    /*参数:1,本地的服务地址;
    2,提供服务的类;
    */
    Endpoint.publish("http://192.168.1.105:8080/Service/ServiceHello", new JwsServiceHello());
    System.out.println("发布成功!");
    //发布成功后 在浏览器输入 http://192.168.1.105:8080/Service/ServiceHello?wsdl
    }
    }

    3.进行编译运行(注:失败检查jdk版本)

    4.将所设地址加上?wsdl到浏览器上访问,如出现XML格式代码,则发布成功,反之,则否;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl)


    二、WebService调用方法
    生成代码方式一

    1.新建一个class类,用于调用webservice。右键src,找到Web Service Client,并输入wsdl地址,选择下载代码的路径;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl)

     

     

    2.将地址上的文件下载下来(注意和发布JDK一致);
    3.写调用方法调用下载下来的WebService中的java类中的方法;
    示例:

    import com.pcm.ws.jws.JwsServiceHello;
    import com.pcm.ws.jws.JwsServiceHelloService;

    /**
    *
    * Title: JwsClientHello
    * Description: webService 客户端调用
    * Version:1.0.0
    * @author panchengming
    */
    public class JwsClientHello {

    public static void main(String[] args) {
    //调用webservice
    JwsServiceHello hello=new JwsServiceHelloService().getJwsServiceHelloPort();
    String name=hello.getValue("panchengming");
    System.out.println(name);
    }
    }

    学着把生活的苦酒当成饮料一样慢慢品尝, 不论生命经过多少委屈和艰辛, 我们总是以一个朝气蓬勃的面孔, 醒来在每一个早上。
  • 相关阅读:
    不常用的cmd命令
    js获取宽度
    Marshaling Data with Platform Invoke 概览
    Calling a DLL Function 之三 How to: Implement Callback Functions
    Marshaling Data with Platform Invoke 之四 Marshaling Arrays of Types
    Marshaling Data with Platform Invoke 之一 Platform Invoke Data Types
    Marshaling Data with Platform Invoke 之三 Marshaling Classes, Structures, and Unions(用时查阅)
    Calling a DLL Function 之二 Callback Functions
    WCF 引论
    Marshaling Data with Platform Invoke 之二 Marshaling Strings (用时查阅)
  • 原文地址:https://www.cnblogs.com/yhm9/p/11569425.html
Copyright © 2011-2022 走看看