Hi Mark,

this is a FAQ. Please refer to:
http://www.xwiki.org/xwiki/bin/view/FAQ/How+to+create+an+Object+using+the+RESTful+API

Thanks,
Fabio

On Mon, Jul 25, 2011 at 9:53 PM, Mark Wallace
<[email protected]> wrote:
> Hi all.
>
> Short version of my question:  Can anyone point me to an example of adding
> object of a custom class to a page via the ReSTful API?
>
> And now for the long version of my question:
>
> I can successfully create a page using REST, but can't add an object.
>  Here is the problem step by step.
>
> 1) Using this XML definition in a file called AlinaPage.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xwiki:page xmlns:xwiki="http://www.xwiki.org";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://www.xwiki.org C:\Users\mwallace\
> Desktop\xwiki_rest_model.xsd">
> <xwiki:link
> href="http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/Alina+Frey/objects/XWiki.PersonClass/0";
> rel="http://www.xwiki.org/rel/o
> bject"></xwiki:link>
> <xwiki:id/>
> <xwiki:fullName/>
> <xwiki:wiki/>
> <xwiki:space>Main</xwiki:space>
> <xwiki:name>Alina Frey</xwiki:name>
> <xwiki:title/>
> <xwiki:parent/>
> <xwiki:parentId/>
> <xwiki:xwikiRelativeUrl/>
> <xwiki:xwikiAbsoluteUrl/>
> <xwiki:translations/>
> <xwiki:syntax/>
> <xwiki:language/>
> <xwiki:version/>
> <xwiki:majorVersion>1</xwiki:majorVersion>
> <xwiki:minorVersion>0</xwiki:minorVersion>
> <xwiki:created>2011-07-02T12:32:00-04:00</xwiki:created>
> <xwiki:creator>XWiki.mwallace</xwiki:creator>
> <xwiki:modified>2011-07-02T12:32:00-04:00</xwiki:modified>
> <xwiki:modifier/>
> <xwiki:content>{{include document="XWiki.PersonSheet"/}}</xwiki:content>
> </xwiki:page>
>
> 2) I do the following command, which adds the page successfully:
>
> C> curl -u mwallace:password -X PUT --data-binary "@AlinaPage.xml"  -H
> "Content-Type: application/xml"
> http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/Alina+Frey
>
> 3) The resulting page from a HTTP GET is:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <page xmlns="http://www.xwiki.org";>
> <link href="http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main";
> rel="http://www.xwiki.org/rel/space"/>
> <link
> href="http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/Alina%20Frey/history";
> rel="http://www.xwiki.org/rel/history"/>
> <link href="http://localhost:8080/xwiki/rest/syntaxes";
> rel="http://www.xwiki.org/rel/syntaxes"/>
> <link
> href="http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/Alina+Frey";
> rel="self"/>
> <link
> href="http://localhost:8080/xwiki/rest/wikis/xwiki/classes/Main.Alina%20Frey";
> rel="http://www.xwiki.org/rel/class"/>
> <id>xwiki:Main.Alina Frey</id>
> <fullName>Main.Alina Frey</fullName>
> <wiki>xwiki</wiki>
> <space>Main</space>
> <name>Alina Frey</name>
> <title>Alina Frey</title>
> <parent/>
> <parentId/>
> <xwikiRelativeUrl>http://localhost:8080/xwiki/bin/view/Main/Alina+Frey</xwikiRelativeUrl>
> <xwikiAbsoluteUrl>http://localhost:8080/xwiki/bin/view/Main/Alina+Frey</xwikiAbsoluteUrl>
> <translations/>
> <syntax>xwiki/2.0</syntax>
> <language/>
> <version>4.1</version>
> <majorVersion>4</majorVersion>
> <minorVersion>1</minorVersion>
> <created>2011-07-02T12:45:12-04:00</created>
> <creator>XWiki.mwallace</creator>
> <modified>2011-07-02T21:33:48-04:00</modified>
> <modifier>XWiki.mwallace</modifier>
> <content>{{include document="XWiki.PersonSheet"/}}</content>
> </page>
>
>
> 4)  But then, using this definition of an object in file AlenaObject.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xwiki:object xmlns:xwiki="http://www.xwiki.org";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://www.xwiki.org C:\Users\mwallac
> e\Desktop\xwiki_rest_model.xsd">
> <xwiki:id/>
> <xwiki:guid/>
> <xwiki:pageId>Main.Alina Frey</xwiki:pageId>
> <xwiki:wiki/>
> <xwiki:space>Main</xwiki:space>
> <xwiki:pageName>Alina Frey</xwiki:pageName>
> <xwiki:className>XWiki.PersonClass</xwiki:className>
> <xwiki:number>0</xwiki:number>
> <xwiki:headline/>
> <xwiki:property name="_knows">
> <xwiki:value>Main.Alena</xwiki:value>
> </xwiki:property>
> <xwiki:property name="_knows">
> <xwiki:value>Main.Judi Wallace</xwiki:value>
> </xwiki:property>
> <xwiki:property name="name">
> <xwiki:value>Alina Frey</xwiki:value>
> </xwiki:property>
> </xwiki:object>
>
> 5) I try the following command, which does NOT insert the object properly:
>
> C> curl -u mwallace:password -X PUT --data-binary "@AlinaObject.xml"  -H
> "Content-Type: application/xml"
> http://localhost:8080/xwiki/rest/wikis/xwiki/spaces/Main/pages/Alina+Frey/objects/XWiki.PersonClass/0
>
> 6) Rather, I get this error message:
>
> <html>
> <head>
> <title>Status page</title>
> </head>
> <body>
> <h3>The server has not found anything matching the request URI</h3><p>You
> can get technical details <a
> href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5";>here</a>.<br>
> Please continue your visit at our <a href="/">home page</a>.
> </p>
> </body>
> </html>
>
>
> What am I doing wrong?
>
> --
> Mark Wallace
> Principal Engineer, Semantic Applications
> Modus Operandi, Melbourne, FL, USA
>
>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to