WebService服务端与客户端得简单应用,性能测试

1 篇文章 0 订阅
1 篇文章 0 订阅

用途: 比如需要从其他系统获取信息,但是不能暴露自己得实现方式的时候。

比较常用得有: 1.HttpClient 2.WebService (推荐使用WebService)

 

一.简单介绍

服务端:  暴露出一个URL地址即可,列入

   

可以发现访问进去就是一个XML文件

从下往上看

<service name="FisrtWebServiceImplService">

这个fisrtWebServiceImplService就是暴露出来得一个方法

具体代码:

FisrtWebServiceImplService f = new FisrtWebServiceImplService(); //获取到一个对象

继续往上看

portType   咋们可以 用上面对象f     FisrtWebServiceImpl port = f.getFisrtWebServiceImplPort();

operation具体方法  System.out.println(port.getAddressByPhoneNo("13120090804"));即可调到具体得方法

 

二.正式开始自己写服务,自己去调服务

1.先写服务端(Service)(注意要求JDK1.8)

   1.1 创建一个接口  

  

package webServiceWeb;
/**
 * @author 叶成浪 
 * @time 2018年11月13日 - 下午4:38:26
 * @email yechenglang521@163.com
 **/
public interface FisrtWebService {
    
    String getAddressByPhoneNo(String phoneNo);

}

1.2 接着写实现类(注意:采用注解@WebService)

package webServiceWeb.impl;

import javax.jws.WebService;

import webServiceWeb.FisrtWebService;


/**
 * @author 叶成浪 
 * @time 2018年11月13日 - 下午4:40:04
 * @email yechenglang521@163.com
 **/
@WebService
public class FisrtWebServiceImpl implements FisrtWebService {

    @Override
    public String getAddressByPhoneNo(String phoneNo) {
        return phoneNo+"归属于北京";
    }

}

1.3 发布服务

package Test01WebService;

import javax.xml.ws.Endpoint;

import webServiceWeb.impl.FisrtWebServiceImpl;


public class Test01 {
public static void main(String[] args) {
        Endpoint.publish("http://localhost:8888/weather?wsdl", new FisrtWebServiceImpl());
        System.out.println("发布成功");
    }
}
服务端发布成功  (如果要停止服务  doc命令采用  taskkill /f /PID PID) 即可删除服务端口

2.客服端调用WebService

2.1 通过doc命令生成代码

    wsimport -s . http://localhost:8888/weather?wsdl                   即可把WebService代码生成到本地

2.2 客户端调取服务器方法获取具体得数据

package Test;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

import webserviceweb.impl.FisrtWebServiceImpl;


public class Test02 {

    public static void main(String[] args) {
        
        //方式一 调服务器方法
//        FisrtWebServiceImplService f = new FisrtWebServiceImplService();
//        FisrtWebServiceImpl port = f.getFisrtWebServiceImplPort();
//        System.out.println(port.getAddressByPhoneNo("13120090804"));
        
        
        //方式二 调服务器方法
        try {
            Service service = Service.create(new URL("http://localhost:8888/weather?wsdl"),
                    new QName("http://impl.webServiceWeb/", "FisrtWebServiceImplService"));
            FisrtWebServiceImpl impl = service.getPort(FisrtWebServiceImpl.class);
            System.out.println(impl.getAddressByPhoneNo("13120090804"));
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值