We've already got blog, user and blog-membership provisioning built-into the Roller Admin Protocol (RAP). I'd much rather see the RAP extended (and made AtomPub compliant) that have the XML-RPC API expanded.
- Dave On Thu, Jul 30, 2009 at 8:41 PM, Coimbatore, Saravanan<[email protected]> wrote: > I would like to add the functionality to admin a blog for our project. > Would this be something that I can contribute back to the code base? > > Thanks > Saravanan > > -----Original Message----- > From: Brian Levine [mailto:[email protected]] > Sent: Thursday, July 30, 2009 5:17 PM > To: [email protected] > Subject: RE: XML-RPC interface > > > > Saravanan, > > I've only used the metaweblog API not the blogger one, but that's weird > it's not working. > > I don't believe there's a way to admin a blog the way you want to using > the xml-rpc. > > /B > >> Subject: RE: XML-RPC interface >> Date: Thu, 30 Jul 2009 09:08:54 -0700 >> From: [email protected] >> To: [email protected]; [email protected] >> >> Hey Brian, >> >> I installed it under roller, and in the course of testing various > options after posting the question, what I noticed is that the call for > metaWebLog.getCategories works, while the call to blogger.getCategories > does not work. >> >> Also, while on the XML-RPC topic, is there a way I can create a blog > using the XML-RPC interface layer. I see the APIs for operating on a > blog, but I cannot find the APIs for operating on a site (to create a > blog/weblog), or to configure parameters of a blog / site level using > XML-RPC. Is there any other place that I should be looking for? >> >> thanks >> Saravanan >> >> -----Original Message----- >> From: Brian Levine [mailto:[email protected]] >> Sent: Thu 7/30/2009 5:44 AM >> To: [email protected] >> Subject: RE: XML-RPC interface >> >> >> >> Oh wait, I just realized I have roller as the root webapp. >> >> Did you select "Enable weblog client support" on the settings page? I > believe that's necessary to activate the webservice. >> >> >> > From: [email protected] >> > To: [email protected] >> > Subject: RE: XML-RPC interface >> > Date: Thu, 30 Jul 2009 08:28:34 -0400 >> > >> > >> > >> > For me, this url works: >> > >> > http://localhost:8180/roller-services/xmlrpc >> > >> > /Brian >> > >> > > Subject: XML-RPC interface >> > > Date: Thu, 30 Jul 2009 01:05:59 -0700 >> > > From: [email protected] >> > > To: [email protected] >> > > >> > > Hi all, >> > > >> > > I have installed Apache roller 4.0.1 and Tomcat 5.x. I have a test > program that I am trying to retrieve the categories of the roller using > the XML-RPC interface exposed in roller. The method in the sample > program is given below. >> > > >> > > The log file states that the WebLogRequestMapper is skipping the > roller-services handle. I also tried with > http://localhost:8080/roller/xmlrpc. Even that was giving the same > results. >> > > >> > > Can any of you please give me some suggestions as to what I am > doing wrong? >> > > >> > > Thanks >> > > Saravanan >> > > >> > > private Hashtable getAllCategories() >> > > { >> > > Hashtable result = null; >> > > try { >> > > XmlRpcClientConfigImpl config = new > XmlRpcClientConfigImpl(); >> > > config.setServerURL(new > URL("http://localhost:8080/roller/roller-services/xmlrpc")); >> > > XmlRpcClient client = new XmlRpcClient(); >> > > client.setConfig(config); >> > > >> > > Object[] params = new Object[]{"RishiBlog", > "scoimbatore", "password"}; >> > > result = (Hashtable) > client.execute("blogger.getCategories", params); >> > > } catch (Exception exception) { >> > > System.err.println("JavaClient: " + exception); >> > > } >> > > return result; >> > > } >> > > >> > > >> > > Log File details: >> > > DEBUG 2009-07-30 00:56:40,257 CharEncodingFilter:doFilter - Set > request character encoding to UTF-8 >> > > DEBUG 2009-07-30 00:56:40,257 BootstrapFilter:doFilter - Entered > /roller/roller-services/xmlrpc >> > > DEBUG 2009-07-30 00:56:40,257 PersistenceSessionFilter:doFilter - > Entered /roller/roller-services/xmlrpc >> > > DEBUG 2009-07-30 00:56:40,257 RequestMappingFilter:doFilter - > entering >> > > DEBUG 2009-07-30 00:56:40,257 RequestMappingFilter:doFilter - > trying mapper > org.apache.roller.weblogger.ui.rendering.WeblogRequestMapper >> > > DEBUG 2009-07-30 00:56:40,257 WeblogRequestMapper:handleRequest - > evaluating [/roller/roller-services/xmlrpc] >> > > DEBUG 2009-07-30 00:56:40,257 WeblogRequestMapper:handleRequest - > potential weblog handle = roller-services >> > > DEBUG 2009-07-30 00:56:40,257 WeblogRequestMapper:isWeblog - > checking weblog handle roller-services >> > > DEBUG 2009-07-30 00:56:40,257 WeblogRequestMapper:handleRequest - > SKIPPED roller-services >> > > DEBUG 2009-07-30 00:56:40,257 RequestMappingFilter:doFilter - > request not mapped >> > > DEBUG 2009-07-30 00:56:40,257 XmlRpcStreamServer:execute - > execute: -> >> > > ERROR 2009-07-30 00:56:40,273 XmlRpcStreamServer:execute - > execute: Error while performing request >> > > org.apache.xmlrpc.server.XmlRpcNoSuchHandlerException: No such > handler: blogger.getCategories >> > > at > org.apache.xmlrpc.server.AbstractReflectiveHandlerMapping.getHandler(Abs > tractReflectiveHandlerMapping.java:195) >> > > at > org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.j > ava:42) >> > > at > org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:83) >> > > at > org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.j > ava:182) >> > > at > org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletSer > ver.java:103) >> > > at > org.apache.xmlrpc.webserver.XmlRpcServlet.doPost(XmlRpcServlet.java:120) >> > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >> > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:290) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher > .java:413) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContex > tCleanUp.java:99) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.roller.weblogger.ui.rendering.filters.RequestMappingFilter.do > Filter(RequestMappingFilter.java:140) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.roller.weblogger.ui.core.filters.InitFilter.doFilter(InitFilt > er.java:71) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.roller.weblogger.ui.core.filters.PersistenceSessionFilter.doF > ilter(PersistenceSessionFilter.java:60) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.roller.weblogger.ui.core.filters.BootstrapFilter.doFilter(Boo > tstrapFilter.java:65) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:264) >> > > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterS > ecurityInterceptor.java:107) >> > > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(Filte > rSecurityInterceptor.java:72) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTransl > ationFilter.java:110) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter > (AnonymousProcessingFilter.java:125) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilt > er(SecurityContextHolderAwareRequestFilter.java:81) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(Channel > ProcessingFilter.java:138) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Reme > mberMeProcessingFilter.java:135) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessin > gFilter.java:217) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(H > ttpSessionContextIntegrationFilter.java:229) >> > > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Filt > erChainProxy.java:274) >> > > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:1 > 48) >> > > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java > :98) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.roller.weblogger.ui.core.filters.SchemeEnforcementFilter.doFi > lter(SchemeEnforcementFilter.java:121) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.roller.weblogger.ui.core.filters.CharEncodingFilter.doFilter( > CharEncodingFilter.java:77) >> > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tionFilterChain.java:235) >> > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erChain.java:206) >> > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv > e.java:233) >> > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv > e.java:191) >> > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java > :128) >> > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java > :102) >> > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. > java:109) >> > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2 > 93) >> > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84 > 9) >> > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( > Http11Protocol.java:583) >> > > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) >> > > at java.lang.Thread.run(Unknown Source) >> > > DEBUG 2009-07-30 00:56:40,273 XmlRpcStreamServer:execute - > execute: <- >> > > DEBUG 2009-07-30 00:56:40,273 RequestMappingFilter:doFilter - > exiting >> > > DEBUG 2009-07-30 00:56:40,273 PersistenceSessionFilter:doFilter - > Releasing Roller Session >> > > DEBUG 2009-07-30 00:56:40,273 WebloggerConfig:getProperty - > Fetching property [planet.aggregator.enabled=false] >> > > DEBUG 2009-07-30 00:56:40,273 PersistenceSessionFilter:doFilter - > Exiting /roller/roller-services/xmlrpc >> > > DEBUG 2009-07-30 00:56:40,273 BootstrapFilter:doFilter - Exiting > /roller/roller-services/xmlrpc >> > > >> > > >> > > >> > > >> > > >> > > >> > >> > _________________________________________________________________ >> > Windows LiveT Hotmail(r): Celebrate the moment with your favorite > sports pics. Check it out. >> > > http://www.windowslive.com/Online/Hotmail/Campaign/QuickAdd?ocid=TXT_TAG > LM_WL_QA_HM_sports_photos_072009&cat=sports >> >> _________________________________________________________________ >> Windows LiveT SkyDriveT: Store, access, and share your photos. See > how. >> > http://windowslive.com/Online/SkyDrive?ocid=TXT_TAGLM_WL_CS_SD_photos_07 > 2009 >> >> Checked by AVG - www.avg.com >> Version: 8.5.392 / Virus Database: 270.13.16/2240 - Release Date: > 07/29/09 18:07:00 >> > > _________________________________________________________________ > Windows Live(tm) Hotmail(r): Search, add, and share the web's latest > sports videos. Check it out. > http://www.windowslive.com/Online/Hotmail/Campaign/QuickAdd?ocid=TXT_TAG > LM_WL_QA_HM_sports_videos_072009&cat=sports >
