2015-06-10 11 views
0

我想送一個頁面錯誤而寄來HTTP PUT,以創造在XWiki實現了新的一頁與REST API

$捲曲-u管理員XWiki實現:管理-X PUT --data二進制「@newPage。 XML」 -H 「的Content-Type:application/xml進行」 http://localhost:8082/xwiki/rest/wikis/xwiki/spaces/Main/pages/NewPage

我的XML頁面是這樣的:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<page xmlns="http://www.xwiki.org"> 
    <title>Hello world</title> 
    <syntax>xwiki/2.0</syntax> 
    <content>This is a new page</content></page> 

但這命令返回一個巨大的錯誤代碼,任何人都知道泰豐的原因,只是只發送內容的信息沒有問題

錯誤:

org.restlet.ext.jaxrs.internal.exceptions.ConvertRepresentationException: Could not convert the message body to a org.xwiki.rest.model.jaxb.Page at org.restlet.ext.jaxrs.internal.exceptions.ConvertRepresentationExcept ion.object(ConvertRepresentationException.java:58)at org.restlet.ext.jaxrs.internal.wrappers.params.EntityGetter.getValue(EntityGetter.java:115)at org.restlet.ext.jaxrs.internal.wrappers.params.ParameterList.get(ParameterList.java:1090)at org.restlet.ext.jaxrs.internal.wrappers.AbstractMethodWrapper.internalInvoke(AbstractMethodWrapper.java:169)at org.restlet.ext.jaxrs.internal.wrappers.ResourceMethod.invoke(ResourceMethod.java:291)at org.restlet.ext.jaxrs.JaxRsRestlet.invokeMethod(JaxRsRestlet.java:1043) 
    at org.restlet.ext.jaxrs.JaxRsRestlet.handle(JaxRsRestlet.java:792) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Router.doHandle(Router.java:500) 
    at org.restlet.routing.Router.handle(Router.java:740) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:154) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.engine.ChainHelper.handle(ChainHelper.java:114) 
    at org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:75) 
    at org.restlet.Application.handle(Application.java:391) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Router.doHandle(Router.java:500) 
    at org.restlet.routing.Router.handle(Router.java:740) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.routing.Router.doHandle(Router.java:500) 
    at org.restlet.routing.Router.handle(Router.java:740) 
    at org.restlet.routing.Filter.doHandle(Filter.java:159) 
    at org.restlet.routing.Filter.handle(Filter.java:206) 
    at org.restlet.engine.ChainHelper.handle(ChainHelper.java:114) 
    at org.restlet.Component.handle(Component.java:391) 
    at org.restlet.Server.handle(Server.java:491) 
    at org.restlet.engine.ServerHelper.handle(ServerHelper.java:74) 
    at org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java:153) 
    at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1031) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1667) 
    at org.xwiki.wysiwyg.server.filter.XWikiContextInitializationFilter.doFilter(XWikiContextInitializationFilter.java:85) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 
    at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 
    at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 
    at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 
    at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 
    at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:137) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) 
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) 
    at org.eclipse.jetty.server.Server.handle(Server.java:497) 
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) 
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) 
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539) 
    at java.lang.Thread.run(Unknown Source)Caused by: java.io.IOException: Could not unmarshal to org.xwiki.rest.model.jaxb.Page 
    at org.restlet.ext.jaxrs.internal.provider.JaxbProvider.readFrom(JaxbProvider.java:197) 
    at org.restlet.ext.jaxrs.internal.wrappers.provider.SingletonProvider.readFrom(SingletonProvider.java:304) 
    at org.restlet.ext.jaxrs.internal.wrappers.params.EntityGetter.getValue(EntityGetter.java:109) 
    ... 75 more 

感謝大家

+0

爲我工作沒有問題。錯誤信息中的相關信息會有幫助 –

+0

我改變了帖子,你現在可以看到錯誤 –

+0

我忘了問:這是哪個XWiki的版本?這是運行在像tomcat一樣的容器內,還是「獨立」(即嵌入式碼頭)? –

回答

0

最後用做

$捲曲-X PUT -u管理:管理員-T 「@ newPage.xml」 -H「內容類型:應用程序/ xml「http://localhost:8080/xwiki/rest/wikis/xwiki/ 空格/ Main/pages/newpPage

+0

任何想法什麼改變解決了這個問題?對我來說,curl命令實際上不起作用,我需要使用'-T「newPage.xml」'而不是'-T「@ newPage.xml」'(將'@'留出) –

+0

我剛換了--data -binary by -T,如果你在文件的路徑中,你可以只做「newPage.xml」,但如果不是這種情況,你必須指定文件的路徑,這就是你想知道的? –

+0

我只是想知道是什麼修復了這個問題 - 例如,它可能是從'-u Admin:admin'到'-u admin:admin'(即小寫)的變化 - 在這種情況下,它可能是XWiki中一個易於修復的錯誤。但是這個'-T'而不是'--data-binary'使我困惑。好吧,很高興它修復:) –