我正在使用wsimport
Ant任务:
<target name="wsimport">
<wsimport
verbose = "true"
destdir ="${javasource-auto-wsimport.dir}"
package ="${wsimport-package.name}"
xnocompile ="true"
wsdl ="${wsdl.file}"
/>
</target>
并收到以下警告:
[wsimport] Consider using <depends>/<produces> so that wsimport won't do unnecessary compilation
[wsimport] JAX-WS RI 2.2.8
[wsimport] command line: wsimport -d /playground/jax-ws/client/src-auto-wsimport -Xnocompile -verbose wsdl-auto/MyService.wsdl -p foo.client
[wsimport] parsing WSDL...
[wsimport]
[wsimport]
[wsimport] [WARNING] unknown extensibility element or attribute "ns1" (in namespace "http://www.w3.org/2000/xmlns/")
[wsimport] line 17 of file:/playground/jax-ws/client/wsdl-auto/IHello.wsdl
[wsimport]
[wsimport] [WARNING] unknown extensibility element or attribute "ns2" (in namespace "http://www.w3.org/2000/xmlns/")
[wsimport] line 18 of file:/playground/jax-ws/client/wsdl-auto/IHello.wsdl
[wsimport]
现在,我知道如何处理的<depends>/<produces>
内容 - 这是我担心的两个警告。它抱怨的行(IHello.wsdl文件的第17行和第18行)是:
<input ns1:Action="http://zar.bar.foo/IHello/sayHelloRequest" message="tns:sayHello" xmlns:ns1="http://www.w3.org/2007/05/addressing/metadata"/>
<output ns2:Action="http://zar.bar.foo/IHello/sayHelloResponse" message="tns:sayHelloResponse" xmlns:ns2="http://www.w3.org/2007/05/addressing/metadata"/>
该工具似乎无法识别ns1
和ns2
是否已正确声明名称空间前缀。
当我从命令行调用wsimport
工具时,我不会收到任何警告:
$ /usr/lib/jvm/java-7-oracle/bin/wsimport -version
JAX-WS RI 2.2.4-b01
$/usr/lib/jvm/java-7-oracle/bin/wsimport -d src-auto-wsimport/ -p foo.client -Xnocompile wsdl-auto/MyService.wsdl
parsing WSDL...
Generating code...
我的问题是:
wsimport
工具的命令行版本还是基于Ant的任务?