WSDL详解(示例复制粘贴篇):什么是WSDL?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?

什么是WSDL

以下为百度百科解释:

WSDL(Web Services Description Language)是为描述Web服务发布的XML格式。W3C组织(World Wide Web Consortium)没有批准1.1版的WSDL,当前的WSDL版本是2.0,是W3C的推荐标准(recommendation)(一种官方标准),并将被W3C组织批准为正式标准。

WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。

WSDL的作用

WSDl存在的意义:
简单来说,就是你写的代码,需要被其他第三方调用时,提供的一部分源代码为WSDL文件,别人可以通过WSDL文件生成Java代码进行调试。

WSDL文件如何生成

1:@WebService

首先要在需要生成的类上,加上@WebService注解如下:

package com.test;

import javax.jws.WebService;

@WebService
public class TestWsdl {

    public String TestString(String  str){
        return "这个是TestString方法的返回内容,这个是你输入的值"+str;
    }

}

2:Endpoint.publish

将接口发布,第一个参数为浏览器需要调用的地址,第二个参数是要发布的类。

package com.test;
import javax.xml.ws.Endpoint;
public class Test {

    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8080/test",new TestWsdl());
    }

}

3:访问链接,保存WSDL文件

访问以下链接,组成方式为,在上边提到的 Endpoint.publish(“http://localhost:8080/test”,new TestWsdl());第一个参数加?wsdl.

http://localhost:8080/test?wsdl

得到以下结果,将红色框住的内容保存至文件,后缀为.wsdl,例:test.wsdl
在这里插入图片描述
到此,可以将生成的WSDL文件提供给第三方,供第三方调试系统。

如何将WSDL文件生成java代码?

1:java环境变量(需要用到wsimport)

确定java环境变量正确的配置,确保wsimport命令可用
在这里插入图片描述

2:生成目录

注意:wsdl文件的位置无所谓,放在哪里都可以,只需要在执行wsimport命令时输入wsdl所在目录即可。
我们进入到需要将代码生成的目录中,例如:
在这里插入图片描述

cmd窗口在当前目录打开
在这里插入图片描述

3:执行wsimport生成代码

wsimport -keep -p com.test test.wsdl

-keep 表示wsimport保留生成的Java源代码,而不删除它们。
-p 表示指定生成的Java类的包名。
显示如下内容并且对应目录生成文件及即成功。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如何调用生成的java代码。

1:新建java工程导入代码。

在这里插入图片描述

2:main方法调用方法。

import com.test.TestWsdl;
import com.test.TestWsdlService;

public class Main {
    public static void main(String[] args) {

        TestWsdl testWsdl = new TestWsdlService().getTestWsdlPort();
        System.out.println(testWsdl.testString("通过wsdl文件生成的代码调用"));

    }
}

3:执行查看结果

在这里插入图片描述
到此,可以将第三方提供的WSDL文件编译为java代码调用测试系统。
完结撒花。

2023年10月8日更新了wsdl远程调用的实例WSDL远程调用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值