SAPUI5 - 模型服务器

时间:2016-11-20 10:34:29

标签: sapui5

我正在关注SAPUI5 Mockup Server tutorial。但是我无法检索数据并将其设置为我的模型。这是我的所作所为:

我稍微改变了数据,所以必须改变两件事:

  • json数据 - Person.json

    {“id”:1, “FIRST_NAME”:“克里斯” “last_name”:“Johnston”,“email”:“cjohnston0@dailymotion.com”,“性别”:“男性”,“ip_address”:“119.220.205.173”}

  • 强调文字

``

<edmx:Edmx Version="1.0"
xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"/>
<edmx:DataServices m:DataServiceVersion="1.0"
m:MaxDataServiceVersion="3.0">
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">

<Schema Namespace="PersonsData" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
        <EntityType Name="Person">
            <Key>
                <PropertyRef Name="id"/>
            </Key>
            <Property name="id" Type="Edm.Int16" Nullable="false" />
            <Property Name="first_name" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false" Unicode="true"/>
            <Property Name="last_name" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false" Unicode="true"/>
            <Property Name="email" Type="Edm.String" Nullable="false"/>
            <Property Name="gender" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false"/>
            <Property Name="ip_address" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false" Unicode="true"/>
        </EntityType>
    </Schema>
    <Schema Namespace="databinding.PersonsData.Model" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
        <EntityContainer Name="PersonEntities" m:IsDefaultEntityContainer="true" p6:LazyLoadingEnabled="true"
            xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation">
            <EntitySet Name="Persons" EntityType="PersonsData.Invoice"/>
        </EntityContainer>
    </Schema>
</edmx:DataServices>

SAPUI5 Web IDE说edmx命名空间不存在。

enter image description here

所以我去检查edmx namespace但它不存在。

Chrome开发者工具报告了同样的错误:

enter image description here

这可能是问题吗?

我查了一下,mockserver.init()被触发了。

Microsoft是否将此命名空间移到某处?因为我无法找到它。

由于

1 个答案:

答案 0 :(得分:1)

我看到的是你弄乱了你的XML结构。由于错误表明您的XML无效。

  • 您已在文档开头关闭了周围的 edmx:Edmx 标记
  • 您过早关闭 edmx:DataServices 标记

此外,属性 id 的属性 name 为小写。尝试制作一个大写名称

尝试使用此xml:

<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
<edmx:DataServices m:DataServiceVersion="1.0" m:MaxDataServiceVersion="3.0"
    xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <Schema Namespace="PersonsData" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
        <EntityType Name="Person">
            <Key>
                <PropertyRef Name="id"/>
            </Key>
            <Property Name="id" Type="Edm.Int16" Nullable="false"/>
            <Property Name="first_name" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false" Unicode="true"/>
            <Property Name="last_name" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false" Unicode="true"/>
            <Property Name="email" Type="Edm.String" Nullable="false"/>
            <Property Name="gender" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false"/>
            <Property Name="ip_address" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false" Unicode="true"/>
        </EntityType>
    </Schema>
    <Schema Namespace="databinding.PersonsData.Model" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
        <EntityContainer Name="PersonEntities" m:IsDefaultEntityContainer="true" p6:LazyLoadingEnabled="true"
            xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation">
            <EntitySet Name="Persons" EntityType="PersonsData.Invoice"/>
        </EntityContainer>
    </Schema>
</edmx:DataServices>