You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Dave <sn...@gmail.com> on 2009/08/04 05:12:51 UTC

Re: XML-RPC interface

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<Sa...@intuit.com> 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:levine_brian@hotmail.com]
> Sent: Thursday, July 30, 2009 5:17 PM
> To: dev@roller.apache.org
> 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: Saravanan_Coimbatore@intuit.com
>> To: dev@roller.apache.org; dev@roller.apache.org
>>
>> 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:levine_brian@hotmail.com]
>> Sent: Thu 7/30/2009 5:44 AM
>> To: dev@roller.apache.org
>> 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: levine_brian@hotmail.com
>> > To: dev@roller.apache.org
>> > 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: Saravanan_Coimbatore@intuit.com
>> > > To: dev@roller.apache.org
>> > >
>> > > 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
>