美文网首页
第九章 创建 Web Services - 查看 WSDL

第九章 创建 Web Services - 查看 WSDL

作者: Cache技术分享 | 来源:发表于2024-05-26 08:04 被阅读0次

    第九章 创建 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 具有以下形式,使用您的实例的<baseURL>:

    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文档,例如:

    image.png

    重要提示:并非所有浏览器都能正确显示架构。可能需要查看页面源代码才能看到实际的架构。例如,在 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

          本文链接:https://www.haomeiwen.com/subject/emrqqjtx.html