java - Sharepoint 2010 oData Atom 提要内容属性在 Java 中解析

标签 java sharepoint-2010 odata restlet atom-feed

我正在使用 Java 使用 Sharepoint 2010 oData 列表。到目前为止,使用 SSL 和 NTLMv2 的连接运行良好,我收到了 Atom 格式的响应。 Sharepoint 似乎禁用了 JSON 格式。下一步是有效地解析响应以获取 Java 中的列表条目内容属性。

我有几个选项,比如使用:

  • Rome 来解析提要响应,但这并不容易让我解析我需要的内容属性。
  • oData4J - 但它似乎不支持基于 NTLM 的身份验证(基于文档和 Unresolved 问题)。
  • ReSTLet 框架 - 是否有人使用它来使用安全且经过身份验证的 Sharepoint oData 服务?
  • XML 解析

对上述任何内容有任何见解或经验,以及推荐的有效方法是什么?

我要解析或获取的内容属性是:

<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
 <d:ContentTypeID xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">0x01005FC9ED59F2FC4842B6D</d:ContentTypeID>
 <d:Activity xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">Activity 1</d:Activity>
 <d:StartDate xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-04-16T00:00:00</d:StartDate>
 <d:EndDate xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-04-16T06:00:00</d:EndDate>
 <d:ActivityTypeValue xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:null="true" />
 <d:CreatedById xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.Int32">193</d:CreatedById>
 <d:ModifiedById xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.Int32">193</d:ModifiedById>
 <d:Id xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.Int32">357</d:Id>
 <d:ContentType xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">Item</d:ContentType>
 <d:Modified xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-03-30T13:07:18</d:Modified>
 <d:Created xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-03-30T11:35:42</d:Created>
 <d:Version xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">1.0</d:Version>
</m:properties>

最佳答案

JSON其实是可以的,只是不能用$format=json url参数来获取而已。

您必须使用“接受” header 。

httppost.setHeader("Accept", "application/json");

刚刚完成了一个项目,在该项目中我必须使用 ODATA 与 SharePoint 2010 Enterprise 交互,我很同情你的目的:)

我使用 ODATA JSON 将数据推送到 SharePoint。最后,尽管事实证明 SOAP 接口(interface)包含更多实际从 List 中读取的信息。解析从 SOAP 返回的 XML 也非常容易。

关于java - Sharepoint 2010 oData Atom 提要内容属性在 Java 中解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126565/

相关文章:

Java GUI - 将来自其他 if 语句的值调用到 getSource() 事件中

sharepoint - 用于列出所有 sharepoint 2010/2007 页面及其布局的 Powershell 脚本

c# - Web API 2 中的 OData 具有可嵌入的资源链接

java - 如何在我的 Java 小程序中使用 paint() 方法之外的图形?

java - Curl 对象到 URL 生成

java - 数据库 View 与选择查询?

sharepoint - 将用户添加到 SharePoint 的 Web 服务(如 SPWeb.EnsureUser)

sharepoint-2010 - 将 Entity Framework 4.1 与 SharePoint 2010 一起使用?

odata - 如何将身份验证 header 传递给 OData 服务

c# - 在 OData URL 查询上启用延迟加载