2015-09-17 32 views
3

我收到这个WSDL和我有与XSD一个问题。前缀“XSD”为元素“XSD:模式”未绑定

我似乎无法找到我的XSD文件中的问题。

什么是不约束? 我该如何解决这个问题?

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

这是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/"> 
     <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> 

这是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"/> 
          ... 

回答

6

添加xmlns:xsd="http://www.w3.org/2001/XMLSchema"到您的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"> 

以便它能够ST除了它的包装纸之外。

+0

感谢您的帮助,但现在我收到此错误:'不声明发现元素“N4:Envelope''。它在说什么声明? –

+0

发布一个新问题并提供足够的信息来重现问题,包括包含'n4:Envelope'的XML。 (这听起来像解析器试图验证SOAP信封,并没有找到一个模式来使用这样做。)谢谢。 – kjhughes

+0

我在这里发布了问题:(http://stackoverflow.com/questions/32639448/no-declaration-found-for-element-n4envelope) –