406 Недопустимо при выполнении публикации на ODATA4j

Я новичок в концепциях odata4j. Использование библиотеки odata4j odata4j-0.5-nojpabundle.jar запустил производителя на tomcat по ссылке http://code.google.com/p/odata4j/wiki/Tomcat. Мой производитель изменен, чтобы предоставить большой список целых чисел в виде набора сущностей, называемого «Целые числа». Я мог бы получить сервисный документ, коллекцию и применить фильтры. Теперь пытаемся опубликовать этот служебный документ [пытаемся добавить еще одну запись с той же схемой].

Выполнение публикации для http://localhost:8080/OData/example.svc/Integers с тело поста:

    <?xml version="1.0" encoding="utf-8" ?>  <edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"> <entry>   <id>http://localhost:8080/OData/example.svc/Integers(100)</id>  
<title type="text" />   
<updated>2011-12-29T10:50:33Z</updated>
<author>   <name />    </author>
<link rel="edit" title="Integers" href="Integers(100)" />  
<category term="example.Integers" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> 
<content type="application/xml"> 
 <m:properties>  
 <d:EntityId m:type="Edm.Int32">100</d:EntityId>    </m:properties>  
 </content>  
 </entry>

я получаю 406 неприемлемо Неизвестный тип контента application/xml;charset=UTF-8. Тип содержимого коллекции Int — application/xml. До сих пор не удалось выяснить, почему такой ответ получается. Кто-нибудь знает, что мне здесь не хватает.

Заранее спасибо.


person kshama    schedule 30.12.2011    source источник


Ответы (1)


  1. Используйте application/atom+xml в качестве Content-Type
  2. Запись должна быть элементом документа (вышеприведенный xml не имеет правильного формата)

См.: http://www.odata.org/developers/protocols/operations#CreatingnewEntries

Надеюсь, это поможет,
- john

person John Spurlock    schedule 08.01.2012