2014-07-01 1 views
4

Je peux trouver la dernière API d'Atlassian.Comment mettre à jour une page dans Confluence 5.5.1 via appel de repos

https://docs.atlassian.com/atlassian-confluence/REST/5.5.3/#d2e120

Je vois que je devrais être en mesure de mettre à jour une page via l'appel "/ content/{id}" PUT.

Mais quand j'essaie de mettre en place, je récupère juste un 500 du serveur. Si j'essaie un exemple simple comme ceci ...

Exemple de code pour essayer de mettre à jour une page.

String json = 
    " {               "+ 
    "  \"body\":{            "+ 
    "   \"view\":{           "+ 
    "    \"value\":\"<p>main updated</p>\",    "+ 
    "   }             "+ 
    "   }             "+ 
    " }               "; 

    Client client = Client.create(); 
    WebResource webResource = client.resource("http://x.x.x.x/rest/api/content/[email protected]&os_password=xxx"); 

     webResource.setProperty("Content-Type", "application/json"); 
     ClientResponse response = webResource.accept("application/json").put(ClientResponse.class, json); 

     System.out.println("Output from Server .... statusCode ["+response.getStatus()+"]"); 
     System.out.println(response.getEntity(String.class)); 

Je reçois toujours une erreur 500 retour.

Output from Server .... statusCode [500] 
{"statusCode":500,"message":"javax.ws.rs.WebApplicationException: null"} 

Quelqu'un peut-il me donner quelques conseils?

Ci-dessous le stacktrace des fichiers journaux de Confluence ...

2014-07-02 10:15:57,856 WARN [http-bio-80-exec-15274] [atlassian.confluence.cache.TransactionalCacheFactory] warning Transactional cache update outside transaction. All updates to this cache should be performed from a thread with a valid transaction context. 
2014-07-02 10:15:57,856 ERROR [http-bio-80-exec-15274] [rest.api.model.ExceptionConverter] convertServiceException No status code found for exception, converting to internal server error : 
-- url: /rest/api/content/8226411 | userName: [email protected] 
javax.ws.rs.WebApplicationException 
       at com.sun.jersey.server.impl.uri.rules.TerminatingRule.accept(TerminatingRule.java:66) 
       at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) 
       at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) 
       at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) 
       at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469) 
       at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400) 
       at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349) 
       at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339) 
       at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) 
       at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537) 
       at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178) 
       at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:795) 
       at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilterInternal(RestServletUtilsUpdaterFilter.java:26) 
       at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilter(RestServletUtilsUpdaterFilter.java:40) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.arsenale.plugins.lockpoint.LifecycleFilter.doFilter(SourceFile:53) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.plugins.cors.CorsFilter.doFilter(CorsFilter.java:65) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) 
       at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) 
       at com.atlassian.confluence.util.profiling.ProfilingPageFilter.doFilter(ProfilingPageFilter.java:44) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.cache.TransactionalCacheFactoryCleanupFilter.doFilter(TransactionalCacheFactoryCleanupFilter.java:68) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.util.LoggingContextFilter.doFilter(LoggingContextFilter.java:40) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.util.UserNameHeaderFilter.doFilter(UserNameHeaderFilter.java:26) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.web.filter.ConfluenceTimeoutFilter.doFilter(ConfluenceTimeoutFilter.java:63) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:211) 
       at com.atlassian.confluence.web.filter.ConfluenceSecurityFilter.doFilter(ConfluenceSecurityFilter.java:27) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.web.filter.ThreadLocalCacheFilter.doFilter(ThreadLocalCacheFilter.java:28) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) 
       at com.atlassian.confluence.util.AbstractBootstrapHotSwappingFilter.doFilter(AbstractBootstrapHotSwappingFilter.java:34) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:150) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:61) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:44) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:42) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) 
       at com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29) 
       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:99) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:80) 
       at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:51) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter(AbstractCachingFilter.java:33) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.confluence.web.filter.ConfluenceTimingFilter.doFilter(ConfluenceTimingFilter.java:79) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) 
       at com.atlassian.confluence.extra.webdav.servlet.filter.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:427) 
       at com.atlassian.confluence.extra.webdav.servlet.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:34) 
       at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) 
       at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) 
       at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.web.filter.validateparam.RequestParamValidationFilter.doFilter(RequestParamValidationFilter.java:58) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.web.filter.TranslationModeFilter.doFilter(TranslationModeFilter.java:43) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.plugin.servlet.filter.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:71) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.web.filter.LanguageExtractionFilter.doFilter(LanguageExtractionFilter.java:53) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.util.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.web.filter.ResponseOutputStreamFilter.doFilter(ResponseOutputStreamFilter.java:25) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.servlet.FourOhFourErrorLoggingFilter.doFilter(FourOhFourErrorLoggingFilter.java:65) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at com.atlassian.confluence.web.filter.DebugFilter.doFilter(DebugFilter.java:50) 
       at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) 
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
       at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
       at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
       at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
       at java.lang.Thread.run(Thread.java:722) 

charge utile dans Wireshark qui ne fonctionne pas ...

PUT/repos/api/content /? Os_username = jp @ com & os_password = modèles HTTP/1.1 \ r \ n Type de contenu: application/json Accepter: application-json User-Agent: Java/1.7 Hôte: xxxx Connection: keep-alive Content-Length: 141

Répondre

5

Je dois donner le crédit à Joseph Clark Atlassian pour sa réponse ...

Voici quelques exemples de code que j'ai écrit ce qui démontre comment mettre une nouvelle version d'une page en utilisant l'API Confluence REST:

https://bitbucket.org/jaysee00/confluence-rest-api-example/src/master/src/main/java/com/atlassian/api/examples/Main.java

https://answers.atlassian.com/questions/312039/how-to-update-a-page-in-confluence-5-5-3-via-rest-call

Je vais mettre le Main.code Java ici pour garder la réponse en un seul endroit.

public class Main 
{ 
    private static final String BASE_URL = "http://x.x.x.x/"; 
    private static final String USERNAME = "[email protected]"; 
    private static final String PASSWORD = "pat"; 
    private static final String ENCODING = "utf-8"; 

    private static String getContentRestUrl(final Long contentId, final String[] expansions) throws UnsupportedEncodingException 
    { 
     final String expand = URLEncoder.encode(StringUtils.join(expansions, ","), ENCODING); 

     return String.format("%s/rest/api/content/%s?expand=%s&os_authType=basic&os_username=%s&os_password=%s", BASE_URL, contentId, expand, URLEncoder.encode(USERNAME, ENCODING), URLEncoder.encode(PASSWORD, ENCODING)); 
    } 

    public static void main(final String[] args) throws Exception 
    { 
     final long pageId = 8226411; 

     HttpClient client = new DefaultHttpClient(); 

     // Get current page version 
     String pageObj = null; 
     HttpEntity pageEntity = null; 
     try 
     { 
      HttpGet getPageRequest = new HttpGet(getContentRestUrl(pageId, new String[] {"body.storage", "version"})); 
      HttpResponse getPageResponse = client.execute(getPageRequest); 
      pageEntity = getPageResponse.getEntity(); 

      pageObj = IOUtils.toString(pageEntity.getContent()); 

      System.out.println("Get Page Request returned " + getPageResponse.getStatusLine().toString()); 
      System.out.println(""); 
      System.out.println(pageObj); 
     } 
     finally 
     { 
      if (pageEntity != null) 
      { 
       EntityUtils.consume(pageEntity); 
      } 
     } 

     // Parse response into JSON 
     JSONObject page = new JSONObject(pageObj); 

     // Update page 
     // The updated value must be Confluence Storage Format (https://confluence.atlassian.com/display/DOC/Confluence+Storage+Format), NOT HTML. 
     page.getJSONObject("body").getJSONObject("storage").put("value", "hello, world"); 

     int currentVersion = page.getJSONObject("version").getInt("number"); 
     page.getJSONObject("version").put("number", currentVersion + 1); 

     // Send update request 
     HttpEntity putPageEntity = null; 

     try 
     { 
      HttpPut putPageRequest = new HttpPut(getContentRestUrl(pageId, new String[]{})); 

      StringEntity entity = new StringEntity(page.toString(), ContentType.APPLICATION_JSON); 
      putPageRequest.setEntity(entity); 

      HttpResponse putPageResponse = client.execute(putPageRequest); 
      putPageEntity = putPageResponse.getEntity(); 

      System.out.println("Put Page Request returned " + putPageResponse.getStatusLine().toString()); 
      System.out.println(""); 
      System.out.println(IOUtils.toString(putPageEntity.getContent())); 
     } 
     finally 
     { 
      EntityUtils.consume(putPageEntity); 
     } 
    } 
} 
+0

Merci. Cela fonctionne très bien localement (mac). Mais sur les boîtes de linux je reçois l'erreur suivante: 09: 45: 43,718 [principal] DEBUG BasicClientConnectionManager: 201 - Libérer la connexion [email protected] javax.net.ssl.SSLHandshakeException: sun.security .validator.ValidatorException: Échec de la construction du chemin PKIX: sun.security.provider.certpath.SunCertPathBuilderException: impossible de trouver le chemin de certification valide vers la cible demandée sur sun.security.ssl.Alerts.getSSLException (source inconnue) Avez-vous des exemples prenant en charge SSL ou certificats ??? – Mick

1

Vous avez écrit que vous essayez de créer une page, mais l'API Confluence REST nécessite un POST pour créer un nouveau contenu, pas un PUT (qui est pour la mise à jour du contenu existant). En d'autres termes, remplacez la méthode de requête par POST et assurez-vous que vous n'avez pas spécifié d'ID de contenu dans l'URL. c'est à dire. utilisez "xxxx/rest/api/content" et non "xxxx/rest/api/content/8226411"

Si cela ne fonctionne pas, regardez aussi votre code PUT (-> POST) existant et vérifiez que vous J'ai fourni l'ensemble des en-têtes inclus dans mon exemple "curl" sur la réponse au related question.

+0

vous avez raison, j'aurais dû utiliser "mise à jour" pas "créer" dans ma question. Dans les deux cas, il en résulte une erreur 500. –

+0

OK. Pouvez-vous poster votre code PUT alors? En outre, ce qui est dans le corps de la réponse d'erreur 500? Les applications Atlassian utilisent souvent ce qui indique ce qui ne va pas avec l'appel de l'API. –

+0

J'ai ajouté l'exemple de code et le corps de la réponse. merci d'avoir pris le temps de regarder par-dessus. –

0

Vous devez ajouter le nouveau numéro de version à votre appel de mise à jour. J'ai eu exactement le même problème jusqu'à ce que je commence à ajouter cela. Notez la dernière partie de ceci:

{"id": "4096014", "type": "page", "titre": "NC-1", "espace": {"clé": "OTF" }, "body": {"storage": {"value": "Mike Test d'une mise à jour", "représentation": "stockage"}}, "version": {"number": "3"}}

Questions connexes