Greetings,
I'm using drupal 4.7rc2 as well as 4.6.6 on two different sites. I'm trying to get a relatively new service. gabcast.com to publish audio files recorded through their service on my cell phone to publish to my drupal sites. I have blogapi and blog enabled. I can publish blog and postcast content locally through the drupal server. gabcast is supposed to be able to publish to other servers, including individuals through a custom settings field.

The fields they ask for are:

username and password [check]
blog server address [check]
app path

and here is where I get tripped up. According to their website, which gives using a personal WordPress account as an example "Enter your server in the blog server field and provide the app path (e.g. /wordpress/xmlrpc.php)."

My drupal setups take you directly to the server by using only the FQDN, like www.technology4teachers.com or www.americatalks.us There's no need to use /drupal so...I used xmlrpc.php in the app field. When I visit either www.technology4teachers.com/xmlrpc.php or www.americatalks.us/xmlrpc.php I get a message that reads "XML-RPC server accepts POST requests only."

Does this look kosher to the blogapi folks? I spent a few minutes searching this site and found relatively little in the way of documentation. Perhaps I didnt look deep enough.

Comments

JymBrittain’s picture

I am getting the following error in my apache2 log:

[Tue Apr 11 15:03:30 2006] [error] [client 209.5.171.162] Invalid URI in request POST xmlrpc.php HTTP/1.0

if that helps

technology4teachers.com

dmitrig01’s picture

Here is a patch on the xmlrpc.inc in 4.7RC2. since I cannot post attachments, here is the contents pf the file:

*** xmlrpc.inc	Tue Dec 27 10:42:49 2005
--- xmlrpc_new.inc	Tue Apr 11 13:46:11 2006
***************
*** 377,383 ****
      $method = array_shift($args);
    }
    $xmlrpc_request = xmlrpc_request($method, $args);
!   $result = drupal_http_request($url, array("Content-Type" => "text/xml"), 'POST', $xmlrpc_request->xml);
    if ($result->code != 200) {
      xmlrpc_error(-$result->code, $result->error);
      return FALSE;
--- 377,383 ----
      $method = array_shift($args);
    }
    $xmlrpc_request = xmlrpc_request($method, $args);
!   $result = drupal_http_request($url, array("Content-Type" => "text/xml"), 'GET', $xmlrpc_request->xml);
    if ($result->code != 200) {
      xmlrpc_error(-$result->code, $result->error);
      return FALSE;

Note that it is not for the xmlrpc.php, but xmlrpc.inc
Hope it works!

::::::::::::::::::::::::::
My opinion of drupal:
The best of the best
What I have to say about drupal:

Drupal, my hero

::::::::::::::::::::::::::

JymBrittain’s picture

Thanks for the code. I replaced the section in question in the .inc file and still get the exact same error in the apache error logs. Anyone have a fix?

technology4teachers.com

JymBrittain’s picture

Okay, I've applied the patch and still no luck with gabcast. So...just out of curiosity I tried to publish to my site using w.blogger and the blogger settings in drupal. Success! Therefore, I am thinking the problem is on the gabcast end and have fired off an email to their tech support. I will post their reply when it's received.

Jym

technology4teachers.com

JymBrittain’s picture

I received a note from gabcast.com's tech support. The problem was solved by using /xmlrpc.php in the requested path instead of just xmlrpc.php

While the service may be great for some, in the end it did not do what I wanted. Having the ability to record a podcast from a cell phone is a wonderful idea. Unfortunately, if you choose to "publish" using the gabcast method to your own server you end up with a link back to the gabcast site, not an attachment. Thus, rendering it useless for podcasting from your own server.

Wouldnt it be nice to have the 5 hours of my life I spent on this project back. Oh well, I learned a little.

Jym
technology4teachers.com

ajwwong’s picture

Have you checked out the new drupal phoneblogz module?

I'm trying to get it to work myself, but we'll see how it goes.

Good luck!

Albert
Esalen Alumni Group