WebService入门实例

       最近接触WebService,听说是一个跨语言,夸操作系统的远程调用。作为一个新手,对各种的概念实在是头大,对于它的什么soup,uddi,wsdl什么的概念的什么东西我们这里就不介绍了,网上有许多,这里我们通过一个实例来初步的认识webservice。

      (1)首先创建一个接口和实现类,注意注解和导的包。

package com.Jevin.webservice.demo1;

import javax.jws.WebMethod;

@javax.jws.WebService
public interface WebService {

    @WebMethod
    String getAddrByCode(String code);
}
package com.Jevin.webservice.demo1.impl;

import com.Jevin.webservice.demo1.WebService;

@javax.jws.WebService
public class WebServiceImpl implements WebService {

    @Override
    public String getAddrByCode(String code) {
        return code+"青阳";
    }
}

(2)发布你的服务:

package com.Jevin.webservice.demo1;

import com.Jevin.webservice.demo1.impl.WebServiceImpl;

import javax.xml.ws.Endpoint;

public class WebServicePublish {
    public static void main(String[] args) {
        //url表示你说发布的服务器地址,http://localhost:8080这个必须是有效的ip和port,后面的webservice自己定义的名称
        String url = "http://localhost:8080/webservice";
        //将你的服务发布在你做指定的url上:
        Endpoint.publish(url,new WebServiceImpl());
        System.out.println("发布成功!");
    }
}

(3)启动main方法,在浏览器上输入你所写的url+wsdl,就可访问你的wsdl文件。例如我的是: http://localhost:8080/webservice?wsdl

 这个就是wsdl文件,至于这个文件是什么意思?怎么解读?这里不做介绍,自己查去。

(4)有了wsdl文件,那么我们又如何调用这个服务呢?首先我们需要用到wsimport这个命令,这是jdk自带的命令:

 然后使用 wsimport -s D:\file\webservice_craft -keep http://localhost:8080/webservice?wsdl 命令,这里说明一下,http://localhost:8080/webservice?wsdl这个是wsdl文件的地址,D:\file\webservice_craft这个是你要讲解析的文件的本地路径;

解析的文件 结构只这样的:

(5)然后将这些文件拷贝到ide中的包中,再调用服务:

package com.jevin.webservice.demo1.impl;

import java.net.MalformedURLException;

public class TestMain {
    public static void main(String[] args) throws MalformedURLException {
        WebServiceImplService factory = new WebServiceImplService();
        WebServiceImpl firstWebService = factory.getWebServiceImplPort();
        String addr = firstWebService.getAddrByCode("007");
        System.out.println(addr);
    }
}

运行结果:

================================================================================================

      除了引用到本地本地测试之外,我们还可以借助于一些测试工具测试,非常方便,比如soapUI,官网地址:https://www.soapui.org/

       整个soapUI的界面是这样的:

我们点击这里:

然后将你的wsdl地址填写在这:

 然后左边框就出现这样的界面,里面有你的待测试的方法,点击进去:

      在这个界面有你的写的方法,不过是以xml格式呈现的,在<arg0></arg0>标签对中填写你的测试方法参数,然后右边就出现你的返回值<return></return>。

 

 大致上就这些了,这里只谈实战,不谈概念,概念以后整理好了再奉上。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值