第九章 创建 Web Services - 查看 WSDL

2024-05-27 09:28

本文主要是介绍第九章 创建 Web Services - 查看 WSDL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 第九章 创建 Web Services - 查看 WSDL
    • 查看 WSDL
      • 查看 WSDL
      • 生成 WSDL
        • `FileWSDL()`
      • 禁止 `WSDL` 中的内部 `Web` 方法

第九章 创建 Web Services - 查看 WSDL

查看 WSDL

当使用 %SOAP.WebService定义 Web 服务时,系统将创建并发布描述此 Web 服务的 WSDL 文档。每当修改并重新编译Web服务时,系统都会自动相应地更新WSDL。本节讨论以下内容:

  • 查看 WSDL 以及发布 WSDLURL
  • 可用于将 WSDL 生成为静态文档的方法

重要提示:根据定义,Web 服务及其 Web 客户端需要遵守通用接口,无论其各自的实现如何(并且无论技术有任何潜在的变化)。 WSDL 是该接口的符合标准的描述。重要的是要注意以下几点:

  • 实际上,单个 SOAP接口通常可以由多个略有不同的 WSDL 文档正确描述。

因此,生成的 WSDL 的形式可能略有不同,具体取决 的版本。描述任何此类差异超出了本文档的范围。 只能按照 W3C 规范的要求致力于 Web 服务及其各自客户端的互操作性。

  • W3C 规范不要求 Web 服务或 Web 客户端能够生成 WSDL 来描述其所遵循的接口。

为方便起见,系统生成 WSDL 文档并在特定 URL 上提供该文档。但是,如果包含的 Web 应用程序需要密码身份验证或需要 SSL 连接,您可能会发现以这种方式访问WSDL 是不切实际的。在这种情况下,应该将 WSDL 下载到文件中并使用该文件。此外,如前所述,生成的 WSDL 不包含有关运行时添加的 SOAP 标头的任何信息。如果需要 WSDL 文档来包含有关在运行时添加的 SOAP 标头的信息,则应将 WSDL 下载到文件中,根据需要修改该文件,然后使用该文件。

查看 WSDL

URL 具有以下形式,使用您的实例的:

https://<baseURL>/csp/app/web_serv.cls?WSDL

这里/csp/appWeb服务所在的Web应用程序的名称,web_servWeb``服务的类名。 (通常,/csp/app/csp/namespace`。)

注意:类名中的任何百分号字符 (%) 都将替换为此 URL 中的下划线字符 (_)。

例如:

https://devsys:52773/csp/mysamples/MyApp.StockService.cls?WSDL

浏览器显示WSDL文档,例如:

在这里插入图片描述

重要提示:并非所有浏览器都能正确显示架构。可能需要查看页面源代码才能看到实际的架构。例如,在 Firefox 中,单击鼠标右键,然后选择“查看源代码”。

生成 WSDL

还可以将 WSDL 生成为静态文档。类中的 %SOAP.WebService 提供了一个可用于此目的的方法:

FileWSDL()
ClassMethod FileWSDL(fileName As %String, includeInternalMethods As %Boolean = 1) As %Status 

其中 fileName 是文件的名称,includeInternalMethods 指定生成的 WSDL 是否包含任何标记为 InternalWeb 方法。

禁止 WSDL 中的内部 Web 方法

如果 Web 服务具有标记为“内部”的 Web 方法,则默认情况下 WSDL 会包含这些 Web 方法。可以阻止这些方法包含在 WSDL 中。为此,请执行以下任一操作:

  • 使用Web服务的FileWSDL()方法生成WSDL;请参阅上一节。此方法提供一个参数来控制 WSDL 是否包含内部 Web 方法。
  • Web 服务类中将 SOAPINTERNALWSDL类参数指定为 0。 (此类参数的默认值为 1。)

这篇关于第九章 创建 Web Services - 查看 WSDL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007079

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Macos创建python虚拟环境的详细步骤教学

《Macos创建python虚拟环境的详细步骤教学》在macOS上创建Python虚拟环境主要通过Python内置的venv模块实现,也可使用第三方工具如virtualenv,下面小编来和大家简单聊聊... 目录一、使用 python 内置 venv 模块(推荐)二、使用 virtualenv(兼容旧版 P

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

MySQL查看表的最后一个ID的常见方法

《MySQL查看表的最后一个ID的常见方法》在使用MySQL数据库时,我们经常会遇到需要查看表中最后一个id值的场景,无论是为了调试、数据分析还是其他用途,了解如何快速获取最后一个id都是非常实用的技... 目录背景介绍方法一:使用MAX()函数示例代码解释适用场景方法二:按id降序排序并取第一条示例代码解

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实