zoukankan      html  css  js  c++  java
  • 01快速实现一个基于Jws的Webservice项目

    webservice

      异构平台之间的交互如:.net、php、python、perl

      流行的框架:CXF、Axis、Metro

      JAVA提供的:JAX-WS

    一、快速实现一个基于Jws的Webservice项目

      1、服务器的建立

        1.1创建接口

          

    package com.bling.service;
    
    import javax.jws.WebService;
    
    @WebService
    public interface IMyService {
        public int sum(int a,int b);
        
        public int minus(int a,int b);
    }

        1.2创建实现类

    package com.bling.service;
    
    import javax.jws.WebService;
    
    
    @WebService(endpointInterface="com.bling.service.IMyService")
    public class MyServiceImpl implements IMyService {
    
        @Override
        public int sum(int a, int b) {
            // TODO Auto-generated method stub
            System.out.println(a+"+"+b+" = "+(a+b));
            return a+b;
        }
    
        @Override
        public int minus(int a, int b) {
            // TODO Auto-generated method stub
            System.out.println(a+"+"+b+" = "+(a-b));
            return a-b;
        }
    
    }

        1.3开启服务

    package com.bling.service;
    
    import javax.xml.ws.Endpoint;
    
    public class MyService {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String address = "http://localhost:8888/ws";
            Endpoint.publish(address, new MyServiceImpl());
        }
    
    }

    可以生成一个wsdl的文件在服务地址中

      2.客户端建立

        

    package com.bling.service;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import javax.xml.namespace.QName;
    import javax.xml.ws.Service;
    
    public class TestClient {
    
        public static void main(String[] args) throws MalformedURLException {
            // TODO Auto-generated method stub
            URL url = new URL("http://localhost:8888/ws?wsdl");
            QName sname= new QName("http://service.bling.com/","MyServiceImplService");
            Service service = Service.create(url,sname);
            IMyService ms = service.getPort(IMyService.class);
            System.out.println(ms.sum(10, 20));
            System.out.println(ms.minus(10, 20));
        }
    
    }

    输出:

      30
      -10

    GitBub源码地址:https://github.com/WebServcie/service_start

  • 相关阅读:
    【转】以太坊分片:Overview and Finality
    Raiden Network — Ethereum 区块链支付通道
    ERC 和 EIP 代表什么呢?
    【转】什么是加密经济学
    Ethereum Probabilistic Micropayments
    【转】以太坊钱包分析与介绍
    【转】用Python从零开始创建区块链
    【转】用 Go 构建一个区块链
    通用权限管理系统组件 (GPM
    通用权限管理系统组件 (GPM
  • 原文地址:https://www.cnblogs.com/yangml/p/3859445.html
Copyright © 2011-2022 走看看