WSDL2JS Null Pointer Exception
------------------------------
Key: CXF-3891
URL: https://issues.apache.org/jira/browse/CXF-3891
Project: CXF
Issue Type: Bug
Components: JavaScript Client
Affects Versions: 2.4.3
Environment: Windows Vista 64-bit
Reporter: Joe Godleski
Given my wsdl and xsd wsdl2java.bat runs without issue but wsdl2js.bat throws
Null Pointer Exception:
org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:294)
at
org.apache.cxf.tools.wsdlto.javascript.JavaScriptContainer.execute(JavaScriptContainer.java:154)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
at
org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:67)
at
org.apache.cxf.tools.wsdlto.javascript.WSDLToJavaScript.run(WSDLToJavaScript.java:60)
at
org.apache.cxf.tools.wsdlto.javascript.WSDLToJavaScript.main(WSDLToJavaScript.java:97)
Caused by: java.lang.NullPointerException
at
org.apache.ws.commons.schema.XmlSchemaCollection.getTypeByQName(XmlSchemaCollection.java:221)
at
org.apache.cxf.common.xmlschema.SchemaCollection.getTypeByQName(SchemaCollection.java:106)
at
org.apache.cxf.javascript.service.ServiceJavascriptBuilder.getElementsForParts(ServiceJavascriptBuilder.java:745)
at
org.apache.cxf.javascript.service.ServiceJavascriptBuilder.createResponseDeserializer(ServiceJavascriptBuilder.java:516)
at
org.apache.cxf.javascript.service.ServiceJavascriptBuilder.end(ServiceJavascriptBuilder.java:269)
at
org.apache.cxf.service.ServiceModelVisitor.walk(ServiceModelVisitor.java:76)
at
org.apache.cxf.tools.wsdlto.javascript.WSDLToJavaScriptProcessor.process(WSDLToJavaScriptProcessor.java:93)
at
org.apache.cxf.tools.wsdlto.javascript.JavaScriptContainer.execute(JavaScriptContainer.java:147)
at
org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:286)
... 5 more
xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://webservices/"
xmlns:tns="http://webservices/" elementFormDefault="qualified">
<!-- getFacilities -->
<element name="FacilityID" type="string" />
<element name="FacilityName" type="string" />
<element name="Facility">
<complexType>
<sequence>
<element ref="tns:FacilityID" />
<element ref="tns:FacilityName" />
</sequence>
</complexType>
</element>
<element name="Facilities">
<complexType>
<sequence>
<element maxOccurs="unbounded"
ref="tns:Facility" />
</sequence>
</complexType>
</element>
<!-- getAreasForFacility -->
<element name="AreaName" type="string" />
<element name="Area">
<complexType>
<sequence>
<element ref="tns:FacilityID" />
<element ref="tns:AreaName" />
</sequence>
</complexType>
</element>
<element name="Areas">
<complexType>
<sequence>
<element maxOccurs="unbounded" ref="tns:Area" />
</sequence>
</complexType>
</element>
<!-- getLocationsForArea -->
<element name="GetLocationsRequestParam">
<complexType>
<sequence>
<element ref="tns:FacilityID" />
<element ref="tns:AreaName" />
</sequence>
</complexType>
</element>
<element name="LocationName" type="string" />
<element name="LocationState" type="string" />
<element name="Location">
<complexType>
<sequence>
<element ref="tns:FacilityID" />
<element ref="tns:AreaName" />
<element ref="tns:LocationName" />
<element ref="tns:LocationState" />
</sequence>
</complexType>
</element>
<element name="Locations">
<complexType>
<sequence>
<element maxOccurs="unbounded"
ref="tns:Location" />
</sequence>
</complexType>
</element>
<!-- getLocationState -->
<element name="GetLocationStateRequestParam">
<complexType>
<sequence>
<element ref="tns:FacilityID" />
<element ref="tns:AreaName" />
<element ref="tns:LocationName" />
</sequence>
</complexType>
</element>
</schema>
wsdl:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://webservices/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="OnTrack" targetNamespace="http://webservices/">
<wsdl:types>
<xsd:schema>
<xsd:import schemaLocation="OnTrack.xsd"
namespace="http://webservices/" />
</xsd:schema>
</wsdl:types>
<wsdl:message name="GetFacilitiesRequest" />
<wsdl:message name="GetFacilitiesResponse">
<wsdl:part element="tns:Facilities" name="Facilities" />
</wsdl:message>
<wsdl:message name="GetAreasRequest">
<wsdl:part element="tns:FacilityID" name="FacilityID" />
</wsdl:message>
<wsdl:message name="GetAreasResponse">
<wsdl:part element="tns:Areas" name="Areas" />
</wsdl:message>
<wsdl:message name="GetLocationsRequest">
<wsdl:part element="tns:GetLocationsRequestParam"
name="FacilityID_AreaName" />
</wsdl:message>
<wsdl:message name="GetLocationsResponse">
<wsdl:part element="tns:Locations" name="Locations" />
</wsdl:message>
<wsdl:message name="GetLocationStateRequest">
<wsdl:part element="tns:GetLocationStateRequestParam"
name="FacilityID_AreaName_LocationName" />
</wsdl:message>
<wsdl:message name="GetLocationStateResponse">
<wsdl:part element="tns:Location" name="Location" />
</wsdl:message>
<wsdl:portType name="OnTrack">
<wsdl:operation name="GetFacilities">
<wsdl:input message="tns:GetFacilitiesRequest"/>
<wsdl:output message="tns:GetFacilitiesResponse"/>
</wsdl:operation>
<wsdl:operation name="GetAreas">
<wsdl:input message="tns:GetAreasRequest" />
<wsdl:output message="tns:GetAreasResponse" />
</wsdl:operation>
<wsdl:operation name="GetLocations">
<wsdl:input message="tns:GetLocationsRequest" />
<wsdl:output message="tns:GetLocationsResponse" />
</wsdl:operation>
<wsdl:operation name="GetLocationState">
<wsdl:input message="tns:GetLocationStateRequest" />
<wsdl:output message="tns:GetLocationStateResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="OnTrackSOAP" type="tns:OnTrack">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetFacilities">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetAreas">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetLocations">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetLocationState">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="OnTrack">
<wsdl:port binding="tns:OnTrackSOAP" name="OnTrackSOAP">
<soap:address location="http://godleski2-dt/OnTrack"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira