2

我正在签订合同第一个网络服务,所以我的第一个 xds(MensajeDetails.xds) 是:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://webservices.samples.blog.com" targetNamespace="http://webservices.samples.blog.com" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="Mensaje" type="Mensaje"/>
    <xs:complexType name="Mensaje">
        <xs:sequence>
            <xs:element name="IdMensajesEnviados" type="xs:long"/>
            <xs:element name="CodigoEstatus" type="xs:int"/>
            <xs:element name="DescripcionEstatus" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

在我的第二个 xds (MensajeDetailsS​​erviceOperation.xds) 我已经:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://com/blog/samples/webservices/mensajeservice" xmlns:account="http://webservices.samples.blog.com" targetNamespace="http://com/blog/samples/webservices/mensajeservice" elementFormDefault="qualified">
    <xsd:import namespace="http://webservices.samples.blog.com" schemaLocation="MensajeDetails.xsd"/>
    <xsd:element name="MensajeDetailsRequest">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="IdUsuario" type="xsd:long"/>
                <xsd:element name="Token" type="xsd:string"/>
                <xsd:element name="IdServicio" type="xsd:int"/>
                <xsd:element name="Archivo" type="xsd:byte"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="MensajeDetailsResponse">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="MensajeDetails" type="mensaje:Mensaje"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

所以日食告诉我,在我的第二个 xds

s4s-att-invalid-value: Invalid attribute value for 'type' in element 'element'.
    Recorded reason: UndeclaredPrefix: Cannot resolve 'mensaje:Mensaje' as a QName: the prefix 'mensaje' is not declared." in the line:
    <xsd:element name="MensajeDetails" type="mensaje:Mensaje"/>

我究竟做错了什么?

4

1 回答 1

2

您已将命名空间导入您的架构并为其声明了命名空间前缀,在您的架构声明中,您拥有xmlns:account="http://webservices.samples.blog.com",这将前缀“帐户”绑定到您导入的命名空间。

因此,要么将元素更改为,要么account:Mensaje将前缀更改为mensaje

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns="http://com/blog/samples/webservices/mensajeservice"
  xmlns:mensaje="http://webservices.samples.blog.com"
  targetNamespace="http://com/blog/samples/webservices/mensajeservice"
  elementFormDefault="qualified">
于 2013-04-01T23:09:00.873 回答