When generating java classes from wsdl, using multiple bindings files (if we need apply bindings for wsdl file itself (JAX-WS Customizations) and for external schema files (Customizing JAXB Bindings)) SoapUI generates incorrect command line for wsdl2java utility from Apache CXF.
Running Apache CXF wsdl2java for [NotificationManagerTriggeringServiceSoapBinding]
directory: C:\java\apache-cxf-2.7.6\bin
command: [cmd.exe, /C, wsdl2java.bat, -b, C:\doc\doc\projects\NGW\APIs\v2.0\commonDataBinding.xjb C:\doc\doc\projects\NGW\APIs\v2.0\triggeringDataBinding.xjb, -d, C:\temp\history, -exsh, false, -dns, true, -dex, true, -verbose, file:/C:/doc/doc/projects/NGW/APIs/v2.0/amdocs_nm_triggering_2_0.wsdl]
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -b C:\doc\doc\projects\NGW\APIs\v2.0\commonDataBinding.xjb C:\doc\doc\projects\NGW\APIs\v2.0\triggeringDataBinding.xjb -d C:\temp\history -exsh false -dns true -dex true -verbose file:/C:/doc/doc/projects/NGW/APIs/v2.0/amdocs_nm_triggering_2_0.wsdl
wsdl2java - Apache CXF 2.7.6WSDLToJava Error: java.io.FileNotFoundException: C:\doc\doc\projects\NGW\APIs\v2.0\commonDataBinding.xjb C:\doc\doc\projects\NGW\APIs\v2.0\triggeringDataBinding.xjb (The filename, directory name, or volume label syntax is incorrect)
org.apache.cxf.tools.common.ToolException: java.io.FileNotFoundException: C:\doc\doc\projects\NGW\APIs\v2.0\commonDataBinding.xjb C:\doc\doc\projects\NGW\APIs\v2.0\triggeringDataBinding.xjb (The filename, directory name, or volume label syntax is incorrect)
at org.apache.cxf.tools.wsdlto.frontend.jaxws.JAXWSContainer.validate(JAXWSContainer.java:63)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:175)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:164)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:412)
at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184)
Caused by: java.io.FileNotFoundException: C:\doc\doc\projects\NGW\APIs\v2.0\commonDataBinding.xjb C:\doc\doc\projects\NGW\APIs\v2.0\triggeringDataBinding.xjb (The filename, directory name, or volume label syntax is incorrect)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at java.net.URL.openStream(URL.java:1037)
at org.apache.cxf.resource.URIResolver.tryFileSystem(URIResolver.java:185)
at org.apache.cxf.resource.URIResolver.<init>(URIResolver.java:90)
at org.apache.cxf.resource.URIResolver.<init>(URIResolver.java:73)
at org.apache.cxf.resource.URIResolver.<init>(URIResolver.java:69)
at org.apache.cxf.tools.wsdlto.frontend.jaxws.JAXWSContainer.validate(JAXWSContainer.java:61)
... 7 more
At Apache CXF help it says:
-b binding-name
Specifies JAXWS or JAXB binding files or XMLBeans context files. Use multiple -b flags to specify multiple entries.
But here we have one -b option for both bindings files.
To reproduce:
Reproduced in the Soap UI 4.5.0 and 5.0.0.
C:>java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)C:>ver
Microsoft Windows [Version 6.1.7601]