zoukankan      html  css  js  c++  java
  • webService入门学习(一)

    别的同事在忙这个东西,正巧我不会所以就找资源学了点。

    webService是什么东西可以去w3cSchool去看,但是那里只有.net的教程

    那么我这里就记录下我的学习

    步骤提纲:

    1创建发布接口的服务器

    2确认接口服务器运行正常可被调用

    3通过CMD构造客户端

    4调用客户端产生的接口,运行接口方法。

    1.1:首先在Eclipse上创建web Service project类型项目名为TheService

    1.2:然后创建对外公布的接口如下

    //WebService类型注解    SOAP类型注解
    @WebService
    @SOAPBinding(style=Style.RPC)
    public interface MyServiceInter {
        //方法注解
        @WebResult(name="addResult")
        public  int add(@WebParam(name="a")int a ,@WebParam(name="b")int b);
    
    }

    1.3:创建该接口的实体类,构造接口方法具体实现

    //webService对应的接口类
    @WebService(endpointInterface="com.dhh.Service.MyServiceInter")
    @SOAPBinding(style=Style.RPC)
    public class MyService implements MyServiceInter {
        //对外公布接口的具体实现
        @Override
        public int add(int a, int b) {
            // TODO Auto-generated method stub
            System.out.println("a+b="+(a+b));
            return a+b;
        }
    
    }

    1.4:创建服务器启动,这里使用main方法启动

    public class Server {
        public static void main(String[] args) {
            //web路径
            String address="http://localhost:8888/myservice";
            //配置路径与该路径下的接口实现类
            Endpoint.publish(address, new MyService());
            System.out.println("publish success");
        }
    }

    2.1:该服务端启动之后可以在浏览器输入address+“?wsdl”查看接口内容。

    如本例子中的:http://localhost:8888/myservice?wsdl

    内容如下图:

    3.1:先以Web Service project创建空项目 TheClient(注意这一系列操作的过程中服务端必须开启状态)

    3.2:调用CMD命令输入命令

          wsimport -d "(客户端项目src路径)" -keep (接口调用url)

    3.3:刷新项目,你就会看到你的项目下多了一个包,跟服务端的包类似如下图:

    MyClient是我后来第四部创建的类,懒得删了,你生成的包应该是没MyClient的。

    4.1创建客户端测试类如下图运行即可发现可调用服务器的方法了

    public class MyClient {
        public static void main(String[] args) {
            //MyServiceService接口的具体实现类,用来回调接口
             MyServiceService myService = new MyServiceService();  
             //回调接口,以便使用接口方法
             MyServiceInter myServiceInter = myService.getMyServicePort();
             System.out.println(myServiceInter.add(28, 55));
        }
    }

    在客户端的操作必须在服务端正常运行下操作。

    可查看服务端控制台,每次调用接口的时候服务端也会运行相应的具体实现方法。

  • 相关阅读:
    APB协议
    AHB总线协议(一)
    C++内存机制中内存溢出、内存泄露、内存越界和栈溢出的区别和联系
    深入理解C++内存管理机制
    c/c++内存机制(一)(转)
    与临时对象的斗争(下)
    与临时对象的斗争(上)ZZ
    C++异常处理解析: 异常的引发(throw), 捕获(try catch)、异常安全
    qt5信息提示框QMessageBox用法
    红黑树
  • 原文地址:https://www.cnblogs.com/blackdeng/p/7793138.html
Copyright © 2011-2022 走看看