Is it required that each schema must have a unique namespace in a wsdl? For an example consider the below WSDL snippet which does not have a namespace for the schemas.
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="GetFilterValuesRequest.xsd"/>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="GetFilterValuesReply.xsd"/>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="IRequest.xsd"/>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://example.com/WSDL/service/1.0.0/" schemaLocation="IReply.xsd"/>
</xsd:schema>
</wsdl:types>
The reason I am asking is because, I am using node-soap library for writing a WSDL service, and the library service does not work when there are either conflicting namespaces in schema or no namespaces at all.
It gives an error saying Cannot read property 'input' of undefined
, when the SOAP request is sent, as it builds a map of schemas by their namespace and then later fails to find unique schema for a given request.
I do not want to go in much details of error or its fix, but, wanted to understand that is it something required for a WSDL to be a valid one?