2013-02-28 5 views
1

Я потребляю список oData 2010 SharePoint, используя Java. Соединение с использованием SSL и NTLMv2 работает до сих пор, и я получаю ответ в формате Atom. Кажется, что формат JSON отключен для Sharepoint. Следующий шаг - эффективно проанализировать ответ, чтобы получить свойства содержимого записи списка в Java.Sharepoint 2010 oData Atom свойства содержимого содержимого контента в Java

У меня есть несколько вариантов, как использование:

  • Рим для разбора ответа фида, но это не легко, дайте мне разобрать свойства контента, которые мне нужны.
  • oData4J - но, похоже, он не поддерживает аутентификацию на основе NTLM (на основе документации и открытых проблем).
  • Restlet framework - кто-нибудь использовал это, чтобы использовать сервисы 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> 

ответ

1

В РИМЕ вы можете создать собственный модуль (Defining a Custom Module) для dataservices пространства имен. Это может быть и то, что другие люди хотели бы использовать.

+0

Это выглядит многообещающим. Я дам ему попробовать. Благодаря! – VC1

2

JSON на самом деле возможно, вы просто не можете использовать параметр $ format = json url, чтобы получить его.

Вы должны использовать заголовок «Принять».

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

Только что закончил проект, в котором я должен был взаимодействовать с SharePoint 2010 Enterprise, используя OData сочувствую, что вы находитесь в :)

Я использовал OData JSON, чтобы передавать данные в SharePoint. В конце концов, хотя оказалось, что интерфейс SOAP содержит намного больше информации для фактического чтения из списка. Также очень легко разобрать XML, который вы возвращаете из SOAP.

+0

Спасибо за отзыв о JSON. Из-за ограничений по времени - я пошел с разбором XML на данный момент. Мое приложение просто пошло вживую, и все хорошо. – VC1

Смежные вопросы