zoukankan      html  css  js  c++  java
  • java-webservice的简单实现

    服务端:

      1.创建正常j2ee项目,创建service接口

     1 package service;
     2 import javax.jws.WebMethod;
     3 import javax.jws.WebService;
     4 
     5 /**
     6  * WebService2
     7  */
     8 @WebService
     9 public interface HelloService {
    10 
    11     @WebMethod
    12     String sayHello(String name, int i);
    13     
    14 }

    实现类:

     1 package service.impl;
     2 
     3 import javax.jws.WebService;
     4 
     5 import service.HelloService;
     6 
     7 /**
     8  * HelloServiceImpl
     9  */
    10 @WebService
    11 public class HelloServiceImpl implements HelloService {
    12 
    13     @Override
    14     public String sayHello(String name, int i) {
    15         System.out.println("服务端的服务被调用了............");
    16         return "hello" + name;
    17     }
    18 
    19 
    20     
    21 }

    发布服务:

     1 package service;
     2 
     3 import javax.xml.ws.Endpoint;
     4 
     5 import service.impl.HelloServiceImpl;
     6 
     7 
     8 /**
     9  * ServicePublish
    10  */
    11 public class ServicePublish {
    12 
    13     public static void main(String[] args) {
    14         String address = "http://localhost:8099/hello";
    15         Object implementor = new HelloServiceImpl();
    16         Endpoint.publish(address, implementor);
    17         System.out.println("发布成功");
    18     }
    19 }

    直接运行main方法启动服务端,然后再浏览器访问: http://localhost:8099/hello?wsdl 

    看到如下,说明发布成功

     

     

    客户端:

      1.用wsimport 工具解析wsdl生成代码

       wsimport -s "生成代码的物理路径" http://localhost:8099/hello?wsdl 

      2.,生成的代码如图(服务端类的名称不一样,生成结果也不一样)

           3.创建一个测试类调用测试

       

     1 package client;
     2 
     3 /**
     4  * 1.通过wsimport解析wsdl创建代码
     5  * 2.通过本地代码创建代理
     6  * 3.通过代理对象调用方法
     7  * WsClient
     8  */
     9 public class WsClient {
    10     public static void main(String[] args) {
    11         HelloServiceImplService ss = new HelloServiceImplService();
    12         HelloServiceImpl prosy = ss.getHelloServiceImplPort();
    13         String res = prosy.sayHello("佩佩", 33);
    14         System.out.println(res);
    15     }
    16     
    17 }

     

      备注:

      以上环境是基于jdk1.8

     

  • 相关阅读:
    伟东云学堂—几何画板学习
    京北鲤鱼----创客教育
    几何画板学习网站
    快乐的搬运工
    少儿编程网
    科技学堂 Arduino轻松学
    跟张老师学硬件arduino板
    科技学堂 Arduino传感器入门
    巧办网
    项目:git+gitlab+jenkins+ansible上线网站
  • 原文地址:https://www.cnblogs.com/baikaishui-liang/p/10812758.html
Copyright © 2011-2022 走看看