WebService接口简单的调用实例

WebService接口简单的调用实例

(手机号码归属地实例)
纯属是公司要求,调用一个oa接口,是webService接口,从来没搞过,主要是为了记录下这个实例:
https://blog.csdn.net/Carrots_vegetables/article/details/82947477
参考了这位大佬的实例写的,因为这位大佬前几步是用小黑板做的,我是用idea生成的,所以我就又整理了一下
我使用的是idea2018.3版本
下面进入正题开始调用:
1、创建好项目之后在项目目录下,创建包,然后点到包右键
在这里插入图片描述
在这里插入图片描述
点击ok,生成下图那些类,然后把.class文件都删除掉
在这里插入图片描述
2、开始编写查询手机号归属地客户端

public class PhoneAddressClient {
    /**
     * 第一个WebService客户端演示
     * 根据手机号查询手机归属地
     * http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
     * @author dongyang
     *
     *  WebService的三要素是:(面试)
     *    SOAP (Simple Object Access Protocol):简易对象访问协议,soap用来描述传递信息的格式。
     *    WSDL (WebServices Description Language):Web服务描述语言,用来描述如何访问具体的接口。
     *    UDDI (Universal Description Discovery and Integration):通用描述、发现及整合,用来管理、分发、查询webService。
     *
     */
    public static void main(String[] args) {
        System.out.println(getPhoneAddress("188*****888"));//换成自己的号码即可
    }

    public static String getPhoneAddress(String phone){
        //1.实例化生成的服务类
        MobileCodeWS ws = new MobileCodeWS();
        //2.调用服务类的方法获取接口实例
        MobileCodeWSSoap soap = ws.getMobileCodeWSSoap();
        //3.通过接口直接获取数据
        return soap.getMobileCodeInfo(phone,"");
    }
}

在这里插入图片描述
这就是原生态的WebServiceke客户端接口。
Ps:我是跟着萝卜-青菜大佬的csdn文章做的,所以下面,也一样,可看原帖噢!!
简单熟悉这个例子之后。下面开始自定义服务端,发布服务,编写客户端
自定义WebService服务端并发布服务编写客户端测试
1、编写WebService服务端

/**
 * WebService服务端
 * */
public interface FisrtWebService {
    String getAddressByPhoneNo(String phoneNo);
}

2、编写接口实现类

import javax.jws.WebService;

@WebService//加上这个注解,表示此实现类就是WebService服务
public class FisrtWebServiceImpl implements FisrtWebService {

    public String getAddressByPhoneNo(String phoneNo) {
        return phoneNo + ": 归属地是上海";
    }

3、发布服务

public class PublishServerTest {

    public static void main(String[] args) {
        //参数1:服务被访问的url   ip+端口号+服务名
        //参数2:实现类
        Endpoint.publish("http://localhost:9999/getAddress", new FisrtWebServiceImpl());
        System.out.println("服务发布成功");

        //查看WebService服务是否启动  url+?wsdl
        //http://localhost:9999/getAddress?wsdl是否能显示

    }
}

控制台运行结果:

服务发布成功

4、验证服务是否发布成功
访问发布服务的ip+端口+服务名+?wsdl
http://localhost:9999/getAddress?wsdl是否能显示
在这里插入图片描述
5、发部成功之后,自测是否成功,期间不要停止了发布的服务噢!!
生成客户端代码,然后创建测试类,然后运行,如下图:
在这里插入图片描述
贴上测试代码~~~

public class PhoneAddressClient {
    public static void main(String[] args) {
        System.out.println(getPhoneAddress("13********79"));//换成自己的号码即可
    }

    public static String getPhoneAddress(String phone) {
        //1.实例化生成的服务类
        FisrtWebServiceImplService ws = new FisrtWebServiceImplService();
        //2.调用服务类的方法获取接口实例
        FisrtWebServiceImpl soap = ws.getFisrtWebServiceImplPort();
        //3.通过接口直接获取数据
        return soap.getAddressByPhoneNo(phone);

    }
}

完结~~~~~~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值