Search code examples
xmlxsdwsdlsyntax-errorxml-error

The prefix "xsd" for element "xsd:schema" is not bound


I received this WSDL and I am having a problem with the XSD.

I can't seem to find the issue in my XSD file.

What is not bound? How can I solve this?

error: The prefix "xsd" for element "xsd:schema" is not bound.

This is part of the XSD file:

 <xsd:schema targetNamespace="http://www.informatica.com/wsdl/"
             elementFormDefault="qualified"
             attributeFormDefault="unqualified"
             xmlns="http://www.informatica.com/wsdl/"
             xmlns:infatype="http://www.informatica.com/types/">
      <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/http/"/>
         <xsd:element name="SHA003Bis_GetArticleDataResponse"
                      type="SHA003Bis_GetArticleDataResponseType"/>
         <xsd:element name="SHA003Bis_GetArticleDataRequest"
                      type="SHA003Bis_GetArticleDataRequestType"/>
         <xsd:complexType name="SHA003Bis_GetArticleDataRequestType">
            <xsd:sequence>
               <xsd:element name="SHA003Bis_GetArticleDataRequestElement">
                  <xsd:complexType>
                     <xsd:sequence>
                        <xsd:element name="Company" minOccurs="0" maxOccurs="1">
                           <xsd:simpleType>
                              <xsd:restriction base="xsd:integer"/>
                           </xsd:simpleType>
                        </xsd:element>

And this is part of the WSDL:

<wsdl:definitions targetNamespace="http://www.informatica.com/" 
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
                  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
                  xmlns:n="http://www.informatica.com/wsdl/" 
                  xmlns:infa="http://www.informatica.com/" 
                  xmlns="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:types>
      <xsd:schema targetNamespace="http://www.informatica.com/wsdl/"
                  elementFormDefault="qualified"
                  attributeFormDefault="unqualified"
                  xmlns="http://www.informatica.com/wsdl/"
                  xmlns:infatype="http://www.informatica.com/types/">
         <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/http/"/>
         <xsd:element name="SHA003Bis_GetArticleDataResponse"
                      type="SHA003Bis_GetArticleDataResponseType"/>
         <xsd:element name="SHA003Bis_GetArticleDataRequest"
                      type="SHA003Bis_GetArticleDataRequestType"/>
         <xsd:complexType name="SHA003Bis_GetArticleDataRequestType">
            <xsd:sequence>
               <xsd:element name="SHA003Bis_GetArticleDataRequestElement">
                  <xsd:complexType>
                     <xsd:sequence>
                        <xsd:element name="Company" minOccurs="0" maxOccurs="1">
                           <xsd:simpleType>
                              <xsd:restriction base="xsd:integer"/>
                           ...

Solution

  • Add xmlns:xsd="http://www.w3.org/2001/XMLSchema" to the root element of your XSD:

      <xsd:schema targetNamespace="http://www.informatica.com/wsdl/"
                  elementFormDefault="qualified" 
                  attributeFormDefault="unqualified" 
                  xmlns="http://www.informatica.com/wsdl/" 
                  xmlns:infatype="http://www.informatica.com/types/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    

    so that it can stand alone apart from its wrapper.