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

WSDL详解

  • 什么是WSDL
  • WSDL的作用
  • WSDL文件如何生成
    • 1:@WebService
    • 2:Endpoint.publish
    • 3:访问链接,保存WSDL文件
  • 如何将WSDL文件生成java代码?
    • 1:java环境变量(需要用到wsimport)
    • 2:生成目录
    • 3:执行wsimport生成代码
  • 如何调用生成的java代码。
    • 1:新建java工程导入代码。
    • 2:main方法调用方法。
    • 3:执行查看结果

什么是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?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?_第1张图片
到此,可以将生成的WSDL文件提供给第三方,供第三方调试系统。

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

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

确定java环境变量正确的配置,确保wsimport命令可用
WSDL详解(示例复制粘贴篇):什么是WSDL?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?_第2张图片

2:生成目录

注意:wsdl文件的位置无所谓,放在哪里都可以,只需要在执行wsimport命令时输入wsdl所在目录即可。
我们进入到需要将代码生成的目录中,例如:
WSDL详解(示例复制粘贴篇):什么是WSDL?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?_第3张图片

cmd窗口在当前目录打开
WSDL详解(示例复制粘贴篇):什么是WSDL?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?_第4张图片

3:执行wsimport生成代码

wsimport -keep -p com.test test.wsdl

-keep 表示wsimport保留生成的Java源代码,而不删除它们。
-p 表示指定生成的Java类的包名。
显示如下内容并且对应目录生成文件及即成功。WSDL详解(示例复制粘贴篇):什么是WSDL?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?_第5张图片
WSDL详解(示例复制粘贴篇):什么是WSDL?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?_第6张图片

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

如何调用生成的java代码。

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

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

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详解(示例复制粘贴篇):什么是WSDL?WSDL的作用?WSDL文件如何生成?如何将WSDL文件生成java代码并且调用?_第9张图片
到此,可以将第三方提供的WSDL文件编译为java代码调用测试系统。
完结撒花。

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

你可能感兴趣的:(Java基础,java,开发语言)