使用命名空间和多个包从wsdl生成java类

时间:2014-10-13 17:31:34

标签: java apache web-services wsdl

我使用apache CFX wsdl2java工具将wsdl转换为java类。一般设置工作正常,但我遇到了这个命令的问题:

 -p [ wsdl-namespace= ] PackageName

文档说:

  

指定要用于生成的代码的零个或多个包名称。   (可选)指定包名称映射的WSDL名称空间。

但是,它只适用于我的单个包装。下面的第一个命令有效,第二个和第三个命令不起作用。我搞砸了一些语法吗?

  

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

在第二个例子中,我尝试将所有内容从namespace1放入包webservices,其余所有内容放入包中。

在第三个例子中,我试图将namespace1中的所有内容放入包webservices,以及从namespaceforcommonbojects到包常见的所有内容。

我一直在我的控制台中得到一个例外:"未发现的争论"然后是我的wlld的url,除了示例1,它工作正常但没有我想要的输出......)。

1 个答案:

答案 0 :(得分:1)

您需要在每个命名空间之前添加-p switch以打包映射。

-p namespace1 = com.name.webservices -p namespaceforcommonobjects = com.name.common http://url-to-my-wsdl.com