Hello, I am trying to use wsdlvalidator with the following command line options: wsdlvalidator -s -V http://cxf.apache.org/schemassrc/main/resources/wsdl/CustomerService.wsdl
I get this output: wsdlvalidator -V -s http://cxf.apache.org/schemassrc/main/resources/wsdl/CustomerService.wsdl wsdlvalidator - Apache CXF 2.7.4 [Fatal Error] :1:55: White spaces are required between publicId and systemId. WSDLValidator Error : org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. [+] Verbose turned on org.apache.cxf.tools.common.ToolException: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. at org.apache.cxf.tools.validator.internal.SchemaValidator.validate(SchemaValidator.java:211) at org.apache.cxf.tools.validator.internal.SchemaValidator.validate(SchemaValidator.java:119) at org.apache.cxf.tools.validator.internal.SchemaValidator.isValid(SchemaValidator.java:103) at org.apache.cxf.tools.validator.internal.WSDL11Validator.isValid(WSDL11Validator.java:157) at org.apache.cxf.tools.validator.WSDLValidator.execute(WSDLValidator.java:81) at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103) at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:58) at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:40) at org.apache.cxf.tools.validator.WSDLValidator.main(WSDLValidator.java:110) Caused by: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180) at org.apache.cxf.tools.validator.internal.SchemaValidator.createSchema(SchemaValidator.java:145) at org.apache.cxf.tools.validator.internal.SchemaValidator.validate(SchemaValidator.java:190) ... 8 more Thanks for your help My wsdl has no xsd imports: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="CustomerServiceService" targetNamespace="http://customerservice.example.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://customerservice.example.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns=" http://customerservice.example.com/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://customerservice.example.com/"> <xs:element name="getCustomerById" type="tns:getCustomerById"/> <xs:element name="getCustomerByIdResponse" type= "tns:getCustomerByIdResponse"/> <xs:element name="getCustomersByName" type="tns:getCustomersByName"/> <xs:element name="getCustomersByNameResponse" type= "tns:getCustomersByNameResponse"/> <xs:complexType name="getCustomerById"> <xs:sequence> <xs:element minOccurs="0" name="id" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="getCustomerByIdResponse"> <xs:sequence> <xs:element minOccurs="0" name="return" type="tns:customer"/> </xs:sequence> </xs:complexType> <xs:complexType name="customer"> <xs:sequence> <xs:element minOccurs="0" name="name" type="xs:string"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="address" nillable="true" type="xs:string"/> <xs:element name="numOrders" type="xs:int"/> <xs:element name="revenue" type="xs:double"/> <xs:element minOccurs="0" name="test" type="xs:decimal"/> <xs:element minOccurs="0" name="birthDate" type="xs:dateTime"/> <xs:element minOccurs="0" name="type" type="tns:customerType"/> </xs:sequence> </xs:complexType> <xs:complexType name="getCustomersByName"> <xs:sequence> <xs:element minOccurs="0" name="name" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="getCustomersByNameResponse"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type= "tns:customer"/> </xs:sequence> </xs:complexType> <xs:simpleType name="customerType"> <xs:restriction base="xs:string"> <xs:enumeration value="PRIVATE"/> <xs:enumeration value="BUSINESS"/> </xs:restriction> </xs:simpleType> <xs:element name="NoSuchCustomer" type="tns:NoSuchCustomer"/> <xs:complexType name="NoSuchCustomer"> <xs:sequence> <xs:element name="customerName" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="getCustomersByNameResponse"> <wsdl:part name="parameters" element="tns:getCustomersByNameResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getCustomerById"> <wsdl:part name="parameters" element="tns:getCustomerById"> </wsdl:part> </wsdl:message> <wsdl:message name="getCustomersByName"> <wsdl:part name="parameters" element="tns:getCustomersByName"> </wsdl:part> </wsdl:message> <wsdl:message name="getCustomerByIdResponse"> <wsdl:part name="parameters" element="tns:getCustomerByIdResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="NoSuchCustomerException"> <wsdl:part name="NoSuchCustomerException" element="tns:NoSuchCustomer"> </wsdl:part> </wsdl:message> <wsdl:portType name="CustomerService"> <wsdl:operation name="getCustomerById"> <wsdl:input name="getCustomerById" message="tns:getCustomerById"> </wsdl:input> <wsdl:output name="getCustomerByIdResponse" message= "tns:getCustomerByIdResponse"> </wsdl:output> <wsdl:fault name="NoSuchCustomerException" message= "tns:NoSuchCustomerException"> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getCustomersByName"> <wsdl:input name="getCustomersByName" message="tns:getCustomersByName" > </wsdl:input> <wsdl:output name="getCustomersByNameResponse" message= "tns:getCustomersByNameResponse"> </wsdl:output> <wsdl:fault name="NoSuchCustomerException" message= "tns:NoSuchCustomerException"> </wsdl:fault> </wsdl:operation> </wsdl:portType> <wsdl:binding name="CustomerServiceServiceSoapBinding" type= "tns:CustomerService"> <soap:binding style="document" transport=" http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getCustomerById"> <soap:operation soapAction="" style="document"/> <wsdl:input name="getCustomerById"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="getCustomerByIdResponse"> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="NoSuchCustomerException"> <soap:fault name="NoSuchCustomerException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getCustomersByName"> <soap:operation soapAction="" style="document"/> <wsdl:input name="getCustomersByName"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="getCustomersByNameResponse"> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="NoSuchCustomerException"> <soap:fault name="NoSuchCustomerException" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="CustomerServiceService"> <wsdl:port name="CustomerServicePort" binding= "tns:CustomerServiceServiceSoapBinding"> <soap:address location="http://localhost:9090/CustomerServicePort"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
