You have wierd target namespace address, why not use /
James
null pointer in java2wsld
-------------------------
Key: CXF-1446
URL: https://issues.apache.org/jira/browse/CXF-1446
Project: CXF
Issue Type: Bug
Components: Tooling
Affects Versions: 2.0.4
Environment: ubuntu linux
Reporter: Sean Bridges
Priority: Minor
The default output directory lookup for java2wsdl is not optimal.
If I have a web interface that looks like,
@WebService(name="service",
targetNamespace="http:\\\\soap.example.com",
wsdlLocation="http:\\\\soap.example.com\trinityService?wsdl")
public interface Example {
And run java2wsdl without the -d param, I get an exception,
java.lang.NullPointerException
at java.io.File.<init>(File.java:194)
at
org.apache.cxf.tools.java2wsdl.processor.JavaToProcessor.getOutputDir(JavaToProcessor.java:196)
at
org.apache.cxf.tools.java2wsdl.processor.JavaToProcessor.process(JavaToProcessor.java:95)
at
org.apache.cxf.tools.java2wsdl.JavaToWSDLContainer.execute(JavaToWSDLContainer.java:58)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:52)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:39)
at org.apache.cxf.tools.java2wsdl.JavaToWSDL.run(JavaToWSDL.java:74)
at org.apache.cxf.tools.java2wsdl.JavaToWSDL.main(JavaToWSDL.java:42)
at t.Run.main(Run.java:7)
JavaToWSDL Error : null
org.apache.cxf.tools.common.ToolException
at
org.apache.cxf.tools.java2wsdl.JavaToWSDLContainer.execute(JavaToWSDLContainer.java:75)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:52)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:39)
at org.apache.cxf.tools.java2wsdl.JavaToWSDL.run(JavaToWSDL.java:74)
at org.apache.cxf.tools.java2wsdl.JavaToWSDL.main(JavaToWSDL.java:42)
at t.Run.main(Run.java:7)
This is caused by JavaToProcessor,
protected File getOutputDir(File wsdlLocation) {
String dir = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
if (dir == null) {
if (wsdlLocation == null) {
dir = "./";
} else {
dir = wsdlLocation.getParent();
}
}
return new File(dir);
}
dir is null, since no output dir was specified. The wsdl location param is a File with
path, "http:\\soap.example.com service?wsdl", and this has no valid parent.
I would not expect the wsld location specified in @WebService to be a valid
output directory for java2wsdl. wsdl location will usually be an http url.