Hello, everybody. I`ve started to work with xml-rpc, just want to public results of desktop programm in auto mode. I have create an xml-rpc server:



include("xmlrpcutils/utils.php");

// Change these to match your configuration
$host = "site.ru";
$uri = "/xmlrpc.php";

$result = xu_rpc_http_concise(
    array(
    	'method'	=> "system.connect",
	'host'  => $host,
    	'uri'  => $uri,
    	'port'  => 80	
    )
);

$result = xu_rpc_http_concise(
    array(
    	'method'	=> 'system.listMethods',
	'host'  => $host,
    	'uri'  => $uri,
    	'port'  => 80	
    )
);

for ($i = 0; $i < count($result); $i++){
	echo $result[$i]."<br>";
}

$new_node = array(
     'type' => "story",
     'uid' => 1,
     'name' => "mcnet",
     'title' => 'TITLE ' . date('Y-m-d H:i:s',time()),
     'body' => 'BODY ' . date('Y-m-d H:i:s',time()),
);

$result = xu_rpc_http_concise(
    array(
    	'method'	=> 'node.save',
	'args'  => $new_node,
	'user' => 'admin', 
	'pass' => 'pass',
	'host'  => $host,
    	'uri'  => $uri,
    	'port'  => 80	
    )
);

for ($i = 0; $i < count($result); $i++){
	echo $result[$i]."<br>";
}

And I have such problem: calling of system.listMethods is working as result I get such list:
system.multicall
system.methodSignature
system.getCapabilities
system.listMethods
system.methodHelp

I have found an example of creating node, paste it in my source, but it doesn`t work. Can anybody help my with advice?

Comments

sphinks’s picture

I don`t belive that nobody knows.

sphinks’s picture

Hmmm. I have some news, found such methods:

system.multicall
system.methodSignature
system.getCapabilities
system.listMethods
system.methodHelp
blogger.getUsersBlogs
blogger.getUserInfo
blogger.newPost
blogger.editPost
blogger.getPost
blogger.deletePost
blogger.getRecentPosts
metaWeblog.newPost
metaWeblog.editPost
metaWeblog.getPost
metaWeblog.newMediaObject
metaWeblog.getCategories
metaWeblog.getRecentPosts
mt.getRecentPostTitles
mt.getCategoryList
mt.getPostCategories
mt.setPostCategories
mt.supportedMethods
mt.supportedTextFilters
mt.publishPost

It`s new list of methods that I obtained by my xmlrpc-client. So as far as I understand to post new blog message I should call blogger.newPost. So do I:


...

$result = xu_rpc_http_concise(
    array(
        'method'    => 'system.listMethods',
        'host'  => $host,
        'uri'  => $uri,
        'port'  => 80    
    )
);

for ($i = 0; $i < count($result); $i++){
    echo $result[$i]."<br>";
}

$content = array(
     'title' => '123',
     'description' => 'Test',
);

$new_node = array(
     'appkey' => '123',
     'blogid' => 2,
     'username' => 'user',
     'password' => 'pass',
     'content' => $content,
     'publish' => TRUE,
);

$result = xu_rpc_http_concise(
    array(
        'method'    => 'blogger.newPost',
        'args'  => $new_node,
        'user' => 'user', 
        'pass' => 'pass',
        'host'  => $host,
        'uri'  => $uri,
        'port'  => 80    
    )
);

echo $result;

Nothing happens. :-( What do I do wrong? Module blogger is included in standartdrupal package or should I insatall it separetly?