[英]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.