idea开发webservice接口 访问客户端

因为刚毕业的时候踩到了webservice生命历程的尾巴,所以开发过一次需要调用webservice接口的功能,作为小白的我使用cxf访问webservice接口,感觉那是个变态的东西,自那便对webservice存下了心理阴影。庆幸的是,在我进入职场后,很快,webservice接口就被公司淘汰了。

凑巧这几天有个新的需求,需要调用一个平台系统的老接口,更凑巧的是接口是webservice写的,求听到这个消息的时候,求心里阴影面积!!!

在顶着打死都不愿意再听到webservice这个名字的巨大阴影下,在同事的介绍下,在百度搜索框中敲入“idea开发webservice客户端”.

幸福或许就这样不期而遇了,哈哈哈,原来现在写webservice接口这么简单。。。。允许我星爷式大笑三分钟 啊哈哈哈。。。。

---------------------------------------以上内容,着急的同学可以忽略  ^--^  ------------------------------------

在你的工程中找创建一个package ,选中包右键,拉到最下面,选择webservice -> Gentate Java Code from Wdsl

 

 

配置如下,第二项和第三项配置要注意。点击ok,等着生成java代码就可以

 

 

生成的文件可能很多,最重要的是有一个interface,这个interface定义了所有调用webservice接口的方法。

那么,如何使用这些java代码呢

1 . 如果是spring项目,你需要创建一个java配置类,里面配置一个服务接口的调用bean

import com.provider.manager.zh.webservice.dataprovider.IBPServiceInterface;
import com.provider.manager.zh.webservice.dataprovider.IBPWebServices;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

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

/**
 * webservice接口配置
 */
@Configuration
public class WebserviceConfigure {

    private static final Logger logger = LoggerFactory.getLogger(WebserviceConfigure.class);


    /**
     * 田海超
     * @return
     */
    @Bean
    public IBPServiceInterface IBPServiceInterface() {
        URL wsdlURL = null;
        try {
            wsdlURL = new URL("${zh.system.webservice.flexsupt.flexsuptDataprovider}");
        } catch (MalformedURLException e) {
            logger.error("初始化综合同步webservice接口(wsdl:{})异常:", "${zh.system.webservice.flexsupt.flexsuptDataprovider}", e);
            //TODO 使用统一的异常累进行处理
            throw new RuntimeException(e);
        }
        IBPWebServices ss = new IBPWebServices(wsdlURL);
        IBPServiceInterface port = ss.getIBPServiceImplePort();
        return port;
    }
    

}
WebserviceConfigure

2. 这里要注意,不同接口的wsdl 生产的响应类的名字是不一样的,但是基本结构是固定的,

 

 3. 编写测试类

 

 

posted @ 2020-06-10 16:01  田海超  阅读(2815)  评论(0编辑  收藏  举报