From: Ross M K. <ros...@gm...> - 2004-12-14 05:02:05
|
Great work on getting WP to work on Postgres-- Thank you! I was wondering if someone on the list could point me to what needs to be fixed to get the metaWeblog.getRecentPosts XML-RPC call to work. I'm hoping it's just a matter of tweaking a query written for MySQL. Here is a trace of the XML-RPC transaction (sorry-- it's long): Great work on getting WP to work on Postgres-- Thank you! I was wondering if someone on the list could point me to what needs to be fixed to get the metaWeblog.getRecentPosts XML-RPC call to work. I'm hoping it's just a matter of tweaking a query written for MySQL. Here is a trace of the XML-RPC transaction (sorry-- it's long): XML-RPC message sent: 2004-12-13 23:57:06 -0500 URL: http://karchner.com/wp/xmlrpc.php Method name: metaWeblog.getRecentPosts Request text: <?xml version="1.0" encoding="utf-8"?> <methodCall> <methodName>metaWeblog.getRecentPosts</methodName> <params> <param> <value><string>0</string></value> </param> <param> <value><string>myusername</string></value> </param> <param> <value><string>[password]</string></value> </param> <param> <value><int>5</int></value> </param> </params> </methodCall> XML-RPC reply received: 2004-12-13 23:57:08 -0500 URL: http://karchner.com/wp/xmlrpc.php Method name: metaWeblog.getRecentPosts Status code: 200 Succeeded: NO --Parse Error-- Parse Error Title: XML-RPC Response Parsing Failed Parse Error Message: The XML parser could not parse the data. Response text: <blockquote><font face=arial size=2 color=ff0000><b>SQL/DB Error --</b> [<font color=000077>ERROR: invalid input syntax for integer: ""</font>]<pre>Array ( [0] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/wp-includes/wp-db.php [line] => 198 [function] => print_error [class] => wpdb [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/wp-includes/wp-db.php [line] => 326 [function] => query [class] => wpdb [type] => -> [args] => Array ( [0] => SELECT * FROM wp_posts WHERE id = '' ) ) [2] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/wp-includes/functions.php [line] => 381 [function] => get_row [class] => wpdb [type] => -> [args] => Array ( [0] => SELECT * FROM wp_posts WHERE id = '' ) ) [3] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/xmlrpc.php [line] => 259 [function] => get_postdata [args] => Array ( [0] => ) ) [4] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/xmlrpc.php [line] => 1560 [function] => post_permalink [args] => Array ( [0] => ) ) [5] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/wp-includes/class-xmlrpcs.php(280) : eval()'d code [line] => 1 [function] => mwrecentposts [args] => Array ( [0] => xmlrpcmsg Object ( [payload] => [methodname] => metaWeblog.getRecentPosts [params] => Array ( [0] => xmlrpcval Object ( [me] => Array ( [string] => 0 ) [mytype] => 1 ) [1] => xmlrpcval Object ( [me] => Array ( [string] => myusername ) [mytype] => 1 ) [2] => xmlrpcval Object ( [me] => Array ( [string] => mypassword ) [mytype] => 1 ) [3] => xmlrpcval Object ( [me] => Array ( [int] => 5 ) [mytype] => 1 ) ) [debug] => 0 ) ) ) [6] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/wp-includes/class-xmlrpcs.php [line] => 280 [function] => eval ) [7] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/wp-includes/class-xmlrpcs.php [line] => 177 [function] => parserequest [class] => xmlrpc_server [type] => -> [args] => Array ( ) ) [8] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/wp-includes/class-xmlrpcs.php [line] => 163 [function] => service [class] => xmlrpc_server [type] => -> [args] => Array ( ) ) [9] => Array ( [file] => /usr/home/karchner.com/htdocs/wp/xmlrpc.php [line] => 2201 [function] => xmlrpc_server [class] => xmlrpc_server [type] => -> [args] => Array ( [0] => Array ( [blogger.newPost] => Array ( [function] => bloggernewpost [signature] => Array ( [0] => Array ( [0] => string [1] => string [2] => string [3] => string [4] => string [5] => string [6] => boolean ) ) [docstring] => Adds a post, blogger-api like ) [blogger.editPost] => Array ( [function] => bloggereditpost [signature] => Array ( [0] => Array ( [0] => boolean [1] => string [2] => string [3] => string [4] => string [5] => string [6] => boolean ) ) [docstring] => Edits a post, blogger-api like ) [blogger.deletePost] => Array ( [function] => bloggerdeletepost [signature] => Array ( [0] => Array ( [0] => boolean [1] => string [2] => string [3] => string [4] => string [5] => boolean ) ) [docstring] => Deletes a post, blogger-api like ) [blogger.getUsersBlogs] => Array ( [function] => bloggergetusersblogs [signature] => Array ( [0] => Array ( [0] => array [1] => string [2] => string [3] => string ) ) [docstring] => returns the user's blogs - this is a dummy function, just so that BlogBuddy and other blogs-retrieving apps work ) [blogger.getUserInfo] => Array ( [function] => bloggergetuserinfo [signature] => Array ( [0] => Array ( [0] => struct [1] => string [2] => string [3] => string ) ) [docstring] => gives the info about a user ) [blogger.getPost] => Array ( [function] => bloggergetpost [signature] => Array ( [0] => Array ( [0] => struct [1] => string [2] => string [3] => string [4] => string ) ) [docstring] => fetches a post, blogger-api like ) [blogger.getRecentPosts] => Array ( [function] => bloggergetrecentposts [signature] => Array ( [0] => Array ( [0] => array [1] => string [2] => string [3] => string [4] => string [5] => int ) ) [docstring] => fetches X most recent posts, blogger-api like ) [blogger.getTemplate] => Array ( [function] => bloggergettemplate [signature] => Array ( [0] => Array ( [0] => string [1] => string [2] => string [3] => string [4] => string [5] => string ) ) [docstring] => returns the default template file's code ) [blogger.setTemplate] => Array ( [function] => bloggersettemplate [signature] => Array ( [0] => Array ( [0] => boolean [1] => string [2] => string [3] => string [4] => string [5] => string [6] => string ) ) [docstring] => saves the default template file's code ) [metaWeblog.newPost] => Array ( [function] => mwnewpost [signature] => Array ( [0] => Array ( [0] => string [1] => string [2] => string [3] => string [4] => struct [5] => boolean ) ) [docstring] => Add a post, MetaWeblog API-style ) [metaWeblog.editPost] => Array ( [function] => mweditpost [signature] => Array ( [0] => Array ( [0] => boolean [1] => string [2] => string [3] => string [4] => struct [5] => boolean ) ) [docstring] => Edit a post, MetaWeblog API-style ) [metaWeblog.getPost] => Array ( [function] => mwgetpost [signature] => Array ( [0] => Array ( [0] => struct [1] => string [2] => string [3] => string ) ) [docstring] => ) [metaWeblog.getRecentPosts] => Array ( [function] => mwrecentposts [signature] => Array ( [0] => Array ( [0] => array [1] => string [2] => string [3] => string [4] => int ) ) [docstring] => ) [metaWeblog.getCategories] => Array ( [function] => mwgetcats [signature] => Array ( [0] => Array ( [0] => array [1] => string [2] => string [3] => string ) ) [docstring] => Get a post, MetaWeblog API-style ) [metaWeblog.newMediaObject] => Array ( [function] => mwnewmedia [signature] => Array ( [0] => Array ( [0] => struct [1] => string [2] => string [3] => string [4] => struct ) ) [docstring] => Upload image or other binary data, MetaWeblog API-style (unimplemented) ) [mt.getCategoryList] => Array ( [function] => mwgetcats [signature] => Array ( [0] => Array ( [0] => array [1] => string [2] => string [3] => string ) ) [docstring] => Get a post, MetaWeblog API-style ) [mt.getPostCategories] => Array ( [function] => mt_getPostCategories [signature] => Array ( [0] => Array ( [0] => array [1] => string [2] => string [3] => string ) ) [docstring] => Returns a list of all categories to which the post is assigned. ) [mt.setPostCategories] => Array ( [function] => mt_setPostCategories [signature] => Array ( [0] => Array ( [0] => boolean [1] => string [2] => string [3] => string [4] => array ) ) [docstring] => Sets the categories for a post ) [mt.publishPost] => Array ( [function] => mt_publishPost [signature] => Array ( [0] => Array ( [0] => boolean [1] => string [2] => string [3] => string ) ) [docstring] => Publish (rebuild) all of the static files related to an entry. Equivalent to saving an entry in the system (but without the ping). ) [mt.supportedMethods] => Array ( [function] => mt_supportedMethods [signature] => Array ( [0] => Array ( [0] => array ) ) [docstring] => Retrieve information about the XML-RPC methods supported by the server. ) [mt.supportedTextFilters] => Array ( [function] => mt_supportedTextFilters [signature] => Array ( [0] => Array ( [0] => array ) ) [docstring] => Retrieve information about the text formatting plugins supported by the server. (not implemented) ) [mt.getRecentPostTitles] => Array ( [function] => mt_getRecentPostTitles [signature] => Array ( [0] => Array ( [0] => array [1] => string [2] => string [3] => string [4] => int ) ) [docstring] => Returns a bandwidth-friendly list of the most recent posts in the system. ) [mt.getTrackbackPings] => Array ( [function] => mt_getTrackbackPings [signature] => Array ( [0] => Array ( [0] => array [1] => string ) ) [docstring] => Retrieve the list of Trackback pings posted to a particular entry. (not implemented) ) [b2.newPost] => Array ( [function] => b2newpost [signature] => Array ( [0] => Array ( [0] => string [1] => string [2] => string [3] => string [4] => string [5] => string [6] => boolean [7] => string [8] => string [9] => string ) ) [docstring] => Adds a post, blogger-api like, +title +category +postdate ) [b2.getCategories] => Array ( [function] => b2getcategories [signature] => Array ( [0] => Array ( [0] => string [1] => string [2] => string [3] => string ) ) [docstring] => given a blogID, gives a struct that list categories in that blog, using categoryID and categoryName. categoryName is there so the user would choose a category name from the client, rather than just a number. however, when using b2.newPost, only the category ID number should be sent. ) [b2.ping] => Array ( [function] => b2ping [signature] => [docstring] => ) [pingback.ping] => Array ( [function] => pingback_ping [signature] => Array ( [0] => Array ( [0] => string [1] => string [2] => string ) ) [docstring] => Gets a pingback and registers it as a comment prefixed by <pingback /> ) [b2.getPostURL] => Array ( [function] => pingback_getPostURL [signature] => Array ( [0] => Array ( [0] => string [1] => string [2] => string [3] => string [4] => string [5] => string ) ) [docstring] => Given a blog ID, username, password, and a post ID, returns the URL to that post. ) ) ) ) ) </pre></font></blockquote> |