使用 ODataService 公开实体时出错
Error in exposing an Entity with ODataService
当我在 URL 中传递一个实体时,它说 ...
找不到 'Books' 的实体集或函数导入。
我正试图在 Java 中公开 "ODataService" 本书和出版商。代码很长。那么你能告诉我这可能是什么原因吗??
我猜您没有在 EDM 提供程序中为实体类型(例如 Book
)定义实体集 (Books
)。要检查这一点,您可以查看服务的根 URL(例如 http://services.odata.org/V4/OData/OData.svc/
)。我认为,在您的情况下,没有为 Books
定义集合条目:
<service xmlns="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"
xml:base="http://services.odata.org/V4/OData/OData.svc/"
m:context="http://services.odata.org/V4/OData/OData.svc/$metadata">
<workspace>
<atom:title type="text">Default</atom:title>
<collection href="Books">
<atom:title type="text">Books</atom:title>
</collection>
(...)
</workspace>
</service>
您还可以检查实体类型是否定义为 Book
类型。看到一个 link 这样的 http://services.odata.org/V4/OData/OData.svc/$metadata
.
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"
Version="4.0">
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"
Namespace="ODataDemo">
<EntityType Name="Book">
(...)
</EntityType>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
以下link为您全面介绍了如何使用 Olingo v4 实现 OData 服务:
https://templth.wordpress.com/2015/04/27/implementing-an-odata-service-with-olingo/
请参阅第 "Implementing a custom EdmProvider" 部分以了解如何使用 Olingo 实施 EDM 提供程序。
希望对您有所帮助,
蒂埃里
当我在 URL 中传递一个实体时,它说 ...
找不到 'Books' 的实体集或函数导入。
我正试图在 Java 中公开 "ODataService" 本书和出版商。代码很长。那么你能告诉我这可能是什么原因吗??
我猜您没有在 EDM 提供程序中为实体类型(例如 Book
)定义实体集 (Books
)。要检查这一点,您可以查看服务的根 URL(例如 http://services.odata.org/V4/OData/OData.svc/
)。我认为,在您的情况下,没有为 Books
定义集合条目:
<service xmlns="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"
xml:base="http://services.odata.org/V4/OData/OData.svc/"
m:context="http://services.odata.org/V4/OData/OData.svc/$metadata">
<workspace>
<atom:title type="text">Default</atom:title>
<collection href="Books">
<atom:title type="text">Books</atom:title>
</collection>
(...)
</workspace>
</service>
您还可以检查实体类型是否定义为 Book
类型。看到一个 link 这样的 http://services.odata.org/V4/OData/OData.svc/$metadata
.
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"
Version="4.0">
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"
Namespace="ODataDemo">
<EntityType Name="Book">
(...)
</EntityType>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
以下link为您全面介绍了如何使用 Olingo v4 实现 OData 服务:
https://templth.wordpress.com/2015/04/27/implementing-an-odata-service-with-olingo/
请参阅第 "Implementing a custom EdmProvider" 部分以了解如何使用 Olingo 实施 EDM 提供程序。
希望对您有所帮助, 蒂埃里