Does the XMLRPC functionality work in a multi-site environment? I’m having a lot of trouble getting it to function properly, specifically with MS LiveWriter Wave 4 Beta.
I get the message that I “signed in successfully with a blog account, but you do not have a blog with this service provider. $#xA; Check with the blog service provider and then try again.”
I put http://blog.tld/blog1/ as the blog address to use, and selected WordPress 2.2+ as the API to use when prompted. I’ve tried multiple different combinations including using the MoveableType and MetaWeb APIs with no success.
I have some very non-technical users who love using LiveWriter, and I’m testing a move away from b2evolution to meet some of their ease of use needs. LiveWriter compatibility is a deal breaker for WP, though.
Any troubleshooting or configuration advice is well appreciated.
Yes XML-RPC works for multi-site setups. Make sure you activate it under the Settings->Writing: Remote Publishing section.
Good to know that it is supported.
I’ve already activated it for each of the sites in my network, including the main site.
Any other thoughts?
Oh. Yes, it works but plugging it into other apps, like using the iPhone/iPad app, DON’T work. It has something to do with how the multiple blogs are held in an array, I think. And i don’t know of a workaround. 🙁
Well that’s great to know, as I had intended to expose my users to the iPhone app.
Just to be clear, when configuring LiveWriter, I should be using http://blog.tld.com/blog1/ as my URL, correct? That’s the way I had to do it for b2evo, but I know the API usage is different, and the XMLRPC files are quite different, so I’m double checking.
This isn’t supposed to be that tough, but I had issues with it on b2evo at first as well.
If you have something specific with the WP mobile apps please contact them.
I’ve got a multi-site install with domain mapping that I’ve connected to WLW and so far it’s working fine. Yes, you enter in the blog URL when WLW asks for it, then it goes and looks for the RSD link in the HTML source. The RSD file contains information about the XML-RPC end point that WLW needs to talk with your WP install. You could double check those to make sure they are all working correctly.
They already know about the mobile app.
That said, I have NEVER, since I started using the 3.0 branch in MultiSite, EVER been able to get it to work with any external app. Th iPhone one, hooking it up with form spring. Nothing. Anything that uses XMLRPC for communication has failed, 100%, since 3.0
And yes, I submitted a trac ticket about it.
If you can help pin down what is going on so that others can reproduce it that will go a long ways towards finding a solution. So far I haven’t been able to reproduce this with my tests with WLW so I’m not sure what’s happening.
Forgive my ignorance here, I don’t know the internal workings of WP yet nearly like I do b2evo, so I may be asking a rudimentary question (I didn’t find anything about it in the Codex, however). I don’t find an RSD file in my setup. I have a wp-rdf.php file, which is the closest thing I see. I’ve grep’d the directory structure and while I find refernce to rsd_link in the default-filters and general-template php files, I’m not clear on what it’s doing yet, but those are the only relevant places I found that string.
I’d love to help with the iPhone issue, too, since I just installed the WordPress app on my 4.0.2 iPhone 4 and I’m able to connect to the first two test blogs I’ve been using. Still can’t connect via WLW, though.
One thing I haven’t found in the docs thus far is anything about logging mechanisms. I log my PHP errors, and I’ve got access and error logs setup for WP, but I’m not getting any errors in either of those spots, so if there’s something to turn on I haven’t found yet, please tell me and I’ll go digging myself. That’s my most tried and true way of learning a new system (break it, read the logs, Google how to fix the error message). I’m not trying to leech off anyone’s time, just so you know.
On the WLW side you can go to Help -> About Windows Live Writer: Show log file. That will show you the file that WLW uses to log errors to.
What’s the URL for the site you are trying to connect to?
This is the LiveWriter code from my most recent attempt:
WindowsLiveWriter,1.3872,Fail,00010,07-Sep-2010 20:12:03.969,"WindowsLive.Writer.BlogClient.Detection.BlogAccountDetector+NoAccountsOnServerException: Error in the application. at WindowsLive.Writer.BlogClient.Detection.BlogAccountDetector.ValidateService()"," at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at WindowsLive.Writer.CoreServices.Diagnostics.LogFileTraceListener.Fail(String message) at System.Diagnostics.TraceInternal.Fail(String message) at System.Diagnostics.Trace.Fail(String message) at WindowsLive.Writer.BlogClient.Detection.BlogAccountDetector.ReportError(Exception ex, MessageId errorMessageType, Object errorMessageParams) at WindowsLive.Writer.BlogClient.Detection.BlogAccountDetector.ValidateService() at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.AttemptRsdBasedDetection(IProgressHost progressHost, RsdServiceDescription rsdServiceDescription) at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.DetectBlogService(IProgressHost progressHost) at WindowsLive.Writer.CoreServices.Progress.ProgressWorker.DoWork() at WindowsLive.Writer.CoreServices.Progress.MultipartAsyncOperation.DoWork() at WindowsLive.Writer.CoreServices.AsyncOperation.InternalStart() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()" WindowsLiveWriter,1.3872,Fail,00011,07-Sep-2010 20:12:03.970,"WindowsLive.Writer.BlogClient.Detection.BlogServiceDetectorBase+BlogAccountDetectorException: Blog account detector did not succeed at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetectorBase.ReportErrorAndFail(MessageId errorMessageType, Object errorMessageParams) at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.AttemptRsdBasedDetection(IProgressHost progressHost, RsdServiceDescription rsdServiceDescription) at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.DetectBlogService(IProgressHost progressHost)"," at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at WindowsLive.Writer.CoreServices.Diagnostics.LogFileTraceListener.Fail(String message) at System.Diagnostics.TraceInternal.Fail(String message) at System.Diagnostics.Trace.Fail(String message) at WindowsLive.Writer.BlogClient.Detection.BlogServiceDetector.DetectBlogService(IProgressHost progressHost) at WindowsLive.Writer.CoreServices.Progress.ProgressWorker.DoWork() at WindowsLive.Writer.CoreServices.Progress.MultipartAsyncOperation.DoWork() at WindowsLive.Writer.CoreServices.AsyncOperation.InternalStart() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()" WindowsLiveWriter,1.3872,None,00012,07-Sep-2010 20:12:11.198,"Creating a writable ribbon istream for C:\Users\xxxxxx\AppData\Roaming\Windows Live Writer\Ribbon.dat","" WindowsLiveWriter,1.3872,None,00013,07-Sep-2010 20:12:14.871,"Creating a writable ribbon istream for C:\Users\xxxxxx\AppData\Roaming\Windows Live Writer\Ribbon.dat",""
The error “No Account Error on Setup” is bizarre for a couple of reasons. First, I know the account exists, I can log in with it from wp-login. Second, the same account works for the iPhone app and logs me just fine. Third, the error box that pops up when WLW tries to connect says not that the account doesn’t exist, but that the account exists and signed in but I don’t have a blog with this service. I don’t see anything else here that means anything to me, really, so if there’s something to point me to, let me know.
Hmmm, would have been helpful if WLW included the raw XML when it failed.
Your best bet at this point may be to provide this info to the WLW folks and see if they can determine what is going on.
As I investigate this further, I’ve discovered that BlogDesk doesn’t seem to have any issues with posting to my WP blog space. It specifically asks for the blog-id of the various blogs, which none of the other clients I’ve tried do. It seems that clients are having an issue with the .htaccess redirection required to get to xmlrpc.php for my different sites.
What I discovered with WLW is that it IS connecting, and it is executing a number of ‘GET’ statements to pull information, but then it suddenly stops and I get the error message about logging in successfully with a blog account but not having a blog on this service. I don’t have any information in my apache error log, php error log, or messages. All I have is successful ‘GET’ statements in my access log.
I can probably convince my users to go with BlogDesk, but the lose a lot of the richer formatting capabilities WLW provides. Does anyone out there in WP land have any ideas?
Has this ever been sorted? I am trying to access a WP Multisite blog through WLW and getting the error message referred to by chashock above. This also happens when I try to post to my blog via the Flickr blog feature…
Many thanks for any help
No resolution. I’ve submitted logs to what passes for Windows Live Writer support and gotten nothing back. It’s clearly something in the way that WP and WLW interact at the XMLRPC level, but I’m not skilled enough at coding to track it down to that level.
I moved my users to BlogDesk. Not a very feature rich implementation as far as formatting is concerned, but it seems to work really, really well, and they like the process for using it better than that of WLW. It seems to be lighter code, so it runs faster and produces far fewer errors than my WLW/b2evo combo ever did.
If you DO find an answer to this issue, I’d love to hear it, since some of my users would like to get a few formatting options back they don’t have with BlogDesk and they don’t like using the backend.
- The topic ‘LiveWriter/XMLRPC and multi-site’ is closed to new replies.