繁体   English   中英

用于为JAX-WS客户端下载/导入WSDL文件的工具

[英]Tool for downloading/importing WSDL-files for a JAX-WS client

我正在使用一个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上工作的工具

从Windows SDK中检查ServiceModel元数据实用工具(Svcutil.exe)

svcutil /t:metadata http://service/metadataEndpoint

此工具使用Web服务描述语言(WSDL) 查找发现一个或多个描述特定XML Web服务的相关文档。

我不知道我是否正确理解了您的问题。 我也在与Jax-ws / SOAP进行斗争。 :)

如果需要生成调用Web服务所需的Java类,则可以使用Apache CXF 在其中,您有一个wsdl2java。 您可以在Linux上使用它。 Java SDK中的另一个选项,在bin文件夹中有wsimport,您也可以使用它。

编辑:您可以使用Apache CXF创建的Service类在运行时更改最终URL。

new SomeRandomJaxWSService(new URL(wsdl),new QName(namespace, serviceName))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM