`
foodyi
  • 浏览: 7644 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

AS3基于XMLRPC实现博客客户端

阅读更多

本来想用air写一个,但是自己实在有点懒而且还有一些优先级高一些的东西需要搞一搞,日后又怕自己忘了找不到资料

就写篇博客记录一下。

 

首先你的博客要支持 Blogger 或者MetaWeblog api, api的源程序

他们都是基于xmlrpc进行通信的,所以客户端也需要遵循这个协议,XMLRPC for AS3.0 在这里 .

 

好的 现在客户端和服务器端的准备工作都做好了,coding

 

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="absolute" creationComplete="postIt();">
	<mx:Script>
		<![CDATA[
			import com.mattism.http.xmlrpc.Connection;
			import com.mattism.http.xmlrpc.ConnectionImpl;
			import com.mattism.http.xmlrpc.util.XMLRPCDataTypes;

			import flash.system.Security;
				
			private var blog_url:String="http://localhost:8080/roller/roller-services/xmlrpc";
			var BLOG_ID:String="blog";
			var USERNAME:String="foodyi";
			var PASSWORD:String="your password";

			private function postIt():void
			{
				
				
				var rpc:Connection=new ConnectionImpl(blog_url);
				rpc.addEventListener(Event.COMPLETE,onPostComplete);
				rpc.addParam(" ",XMLRPCDataTypes.STRING);
				rpc.addParam(BLOG_ID,XMLRPCDataTypes.STRING);  // Blog Id
				rpc.addParam(USERNAME,XMLRPCDataTypes.STRING); // Username
				rpc.addParam(PASSWORD,XMLRPCDataTypes.STRING); // Password
				rpc.addParam({title:"haha",content:"next"}, XMLRPCDataTypes.STRING);  // Post contents
				rpc.addParam(1,XMLRPCDataTypes.BOOLEAN); // Post right away
				rpc.call('blogger.newPost');
				
				
			}

			function onPostComplete(event:Event):void
			{
				trace("post OK!");
			}
		]]>
	</mx:Script>
</mx:Application>

 

以上程序是我连接本地的apache roller. 如果需要获得返回值,需要修改XMLRPC AS3的程序,将返回值放到Event中返回。

分享到:
评论
6 楼 leisure 2009-07-30  
httpservice webservice remoteobject够用了吧?
5 楼 momoko8443 2009-07-07  
只要Service提供了xmlrpc实现都能用。还是挺不错的东西
4 楼 foodyi 2009-07-07  
这个东西不知道还适合什么场合使用。
3 楼 momoko8443 2009-07-06  
有发现一个反序列化时候的bug....等我把bug抓完,我会发布一个可用的版本。
这玩意儿毛病不是一点点
2 楼 momoko8443 2009-07-03  
又发现一个严重bug....不知道这个作者测试过没有。。
如果Object里含有名为value的key值。。。会序列化错误。

算了,自己写用得放心
1 楼 momoko8443 2009-07-03  
使用过程中发现一个严重bug.
当element type是String的Array,进行序列化时会报空指针。
我把源码修改了一下。在附件中替换同名文件即可。

相关推荐

Global site tag (gtag.js) - Google Analytics