我正在使用 apache CFX wsdl2java 工具将 wsdl 转换为 java 类。一般设置工作正常,但我在使用此命令时遇到问题:
-p [ wsdl-namespace= ] PackageName
文档说:
Specifies zero, or more, package names to use for the generated code. Optionally specifies the WSDL namespace to package name mapping.
但是,它仅适用于我的单个包。下面的第一个命令有效,第二个和第三个命令无效。我是否弄乱了一些语法?
1) -p namespace1=com.name.webservices http://url-to-my-wsdl.com
2) -p namespace1=com.name.webservices com.name.common http://url-to-my-wsdl.com
3) -p namespace1=com.name.webservices namespaceforcommonobjects=com.name.common http://url-to-my-wsdl.com
在第二个示例中,我尝试将命名空间 1 中的所有内容放入包 webservices 中,并将其余所有内容放入包 common 中。
在第三个示例中,我尝试将 namespace1 中的所有内容放入 webservices 包中,并将 namespaceforcommonbojects 中的所有内容放入 common 包中。
我的控制台中不断出现异常:“Unexpacted argument”,然后是我的 wsld 的 url,示例 1 除外,该示例工作正常,但没有我想要的输出...)。
最佳答案
您需要在每个命名空间之前添加 -p 开关以进行包映射。
-p 命名空间1=com.name.webservices -p namespaceforcommonobjects=com.name.common http://url-to-my-wsdl.com
关于java - 使用命名空间和多个包从 wsdl 生成 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345628/