我正在使用一个 Web 服务,其中 WSDL 文件包含对其他 wsdl 和 xsd 架构的导入,例如:
<import namespace="http://my.api.com/" location="http://other.server.com:8888/context/services/MyService?wsdl=1"/>
它又可以导入其他文件
<xsd:import namespace="http://my.api.com/" schemaLocation="http://other.server.com:8888/context/services/MyService?xsd=1"/>
客户端是由cxf使用maven插件生成的。主 WSDL 文件作为类路径资源添加。然而,在运行时,客户端实际上需要访问 other.server.com:8888 才能完全解析 WSDL。所以问题是,是否存在一个工具用于导入和解析 WSDL 中的所有 URL,以便它不依赖于 WSDL 中其他导入中的绝对服务器 URL,并且适合包含在客户端项目中?
我们无法控制 WSDL,因此无法在源代码中更改它。
编辑:寻找适用于 Linux 的工具
最佳答案
检查ServiceModel Metadata Utility Tool (Svcutil.exe)来自 Windows SDK。
svcutil /t:metadata http://service/metadataEndpoint
This tool locates or discovers, one or more related documents that describe a particular XML Web service using the Web Services Description Language (WSDL).
关于java - 用于为 JAX-WS 客户端下载/导入 WSDL 文件的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15519848/