3

我有一个分析视图和一个 .xsodata 以将其公开给网络。问题是访问url是如何形成的?HANA 文档在这里是不够的,对于主持的 SCN 也是如此。

这是我的 func_x_cview.xsodata:

service namespace "CTag" {
    "MyPackage::FUNC_X_CALC_VIEW" as "CView" keys generate local "ID"
    parameters via entity "InputParams" ; 
}

http://awshana:8000/package/path/to/xsodata/file/$metadata显示:

<EntityType Name="InputParamsType">
    <Key>
        <PropertyRef Name="ATTRIBUTE"/>
        <PropertyRef Name="ATTRIBUTE_VALUE"/>
        <PropertyRef Name="category"/>
        <PropertyRef Name="from_date"/>
        <PropertyRef Name="process"/>
        <PropertyRef Name="to_date"/>
    </Key>
    <Property Name="ATTRIBUTE" Type="Edm.String" Nullable="false" MaxLength="50"/>
    <Property Name="ATTRIBUTE_VALUE" Type="Edm.String" Nullable="false" MaxLength="100"/>
    <Property Name="category" Type="Edm.String" Nullable="false" MaxLength="50"/>
    <Property Name="from_date" Type="Edm.DateTime" Nullable="false"/>
    <Property Name="process" Type="Edm.String" Nullable="false" MaxLength="50"/>
    <Property Name="to_date" Type="Edm.DateTime" Nullable="false"/>
    <NavigationProperty Name="Results" Relationship="CTag.InputParams_CViewType"
                    FromRole="InputParamsPrincipal"
                    ToRole="CViewDependent"/>
</EntityType>

访问网址应该是什么?xsodata 需要任何调整吗?

谢谢

- 编辑 -

当尝试类似 ongis-nade 建议的 url 时, http://awshana:8000/Pkg/Proj_X/services/tagA.xsodata/InputParams%28%27category%27=%27abcd%27%29/Results?$select=exception_name我收到如下错误:

<error>
  <code/>
  <message xml:lang="en-US">
     No property ''category'' exists in type 'CTag.InputParamsType'.
  </message>
</error>

这很令人困惑,因为我们可以看到在查询中命名category的实体中命名的属性。InputParamsType$metadata

删除周围的单引号category(也尝试过双引号)给出 http://awshana:8000/Pkg/Proj_X/services/tagA.xsodata/InputParams%28category=%27abcd%27%29/Results?$select=exception_name

<error>
  <code/>
  <message xml:lang="en-US">
     The number of keys specified in the URI at position 27 does not match number of key properties for the resource 'CTag.InputParamsType'.
  </message>
</error>

所以需要一个单引号。

更近了一步,但仍然是同一个问题。我是否需要以某种方式限定每个参数名称?

谢谢。

4

2 回答 2

2

我相信 URL 将形成为:

http://awshana:8000/Pkg/Proj_X/services/tagA.xsodata/InputParams(category='abcd')/Results?

“InputParams”名称当然会反映在您的服务定义中

我还在这里找到了一个很好的例子:http: //scn.sap.com/community/developer-center/hana/blog/2013/01/22/rest-your-models-on-sap-hana-xs

于 2013-05-29T17:38:44.720 回答
2

可能有点晚了:但是您必须为每个关键参数指定一个值。另请注意,时间戳必须以 ODatas Edm.DateTime 格式指定。

您的服务示例:

        http://server:8080/pathToService/tagA.xsodata/InputParams(ATTRIBUTE='?',ATTRIBUTE_VALUE='?',category='?',from_date=datetime'2014-01-01T00:00:00',process='?',to_date=datetime'2014-09-01T00:00:00')/Results
于 2014-09-10T12:15:58.700 回答