繁体   English   中英

src-resolve.4.2:解析组件“xs:name”时出错。 检测到“xs:name”在命名空间“http://www.w3.org/2001/XMLSchema”中

[英]src-resolve.4.2: Error resolving component 'xs:name'. It was detected that 'xs:name' is in namespace 'http://www.w3.org/2001/XMLSchema'

我正在创建一个基于 Spring 的 SOAP web 服务,并且我正在尝试返回一个名为 AVAILABLE_MACKAGES 的自定义列表,其中包含多个 PACKAGE 这些 PACKAGE_ITEM 元素中的每一个元素都由两个字符串 PACKAGE_NAME 和 PACKAGE_PRICE 组成。

我尝试了多种配置,但一直在线收到错误消息

<xs:element name="availablePackagesList" type="xs:AvailablePackagesList" />

错误如下:

在此行找到多个注释:

  • src-resolve:无法将名称“xs:AvailablePackagesList”解析为(n)“类型定义”组件。
  • src-resolve.4.2:解析组件“xs:AvailablePackagesList”时出错。 检测到
    'xs:AvailablePackagesList' 位于命名空间 'http://www.w3.org/2001/XMLSchema' 中,但其中的组件
    命名空间不能从架构文档中引用...

这是我在 my.xsd 文件中的代码片段

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http:/hello.com/queries"
    xmlns:tns="http:/hello.com/queries"
    elementFormDefault="qualified">

<!--GetSubscriberAvailablePackages -->

<xs:element
    name="MobileGetSubscriberAvailablePackagesRequest">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="network" type="xs:string" />
            <xs:element name="username" type="xs:string" />
            <xs:element name="password" type="xs:string" />
            <xs:element name="subscriberData" type="xs:string" />
            <xs:element name="subscriberDataType" type="xs:string" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

<xs:element
    name="MobileGetSubscriberAvailablePackagesResponse">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="network" type="xs:string" />
            <xs:element name="subscriberData" type="xs:string" />
            <xs:element name="subscriberDataType" type="xs:string" />
            <xs:element name="response" type="xs:string" />
            <xs:element name="responseDetails" type="xs:string" />
            <xs:element name="availablePackagesList"
                type="xs:AvailablePackagesList" />
        </xs:sequence>
    </xs:complexType>
</xs:element>


<xs:complexType name="AvailablePackagesList">
    <xs:sequence>
        <xs:element name="AvaillablePackage"
            type="xs:AvaillablePackageItem" maxOccurs="unbounded" />
    </xs:sequence>
</xs:complexType>


<xs:complexType name="AvaillablePackageItem">
    <xs:attribute name="packageName" type="xs:integer"
        use="required" />
    <xs:attribute name="packagePrice" type="xs:integer"
        use="required" />
</xs:complexType>

为了消除您的直接错误和一个后续错误,

  1. type="xs:AvailablePackagesList"更改为type="tns:AvailablePackagesList" ,并且

  2. type="xs:AvaillablePackageItem"更改为type="tns:AvaillablePackageItem"

因为两者都在http:/yobitelecom.com/queries命名空间中,而不是http://www.w3.org/2001/XMLSchema命名空间中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM