实习就这样开始了。今天是第一天,下小雨。骑上自行车感觉空气很新鲜,心情也不错。
到公司先简单认识了一下各位同事,然后领导给指了个座儿我就开始工作了。
首先是环境配置。公司的研究对象是Apache开源软件联盟下的顶级项目——ERP系统ofbiz。这是一个挺特别的公司,一群有开源精神的人,公司的主要目的是发展开源软件。他们帮助企业定制和安装ofbiz,收费的同时为开源社区做贡献。开发环境是Ubuntu,依次安装了Sun jdk,ant,svn,eclipse,ofbiz等等,然后就可以通过浏览器访问ofbiz了。我的任务是为ofbiz开发android客户端。所以另外安装了android sdk和相应的eclipse。到此为止环境配完了。
然后开始做第一步——从android客户端与主服务器连接并显示接受到的信息。此处遇到了一些困难。因为连接是https,我没有处理过,所以第一次运行就收到了连接被拒绝(connection refused)的异常。狂查资料一小时,试过各种方法还是解决不了。后来发现大家遇到的普遍问题是(not trusted server certificate)也就是证书有效性的问题,而不是连接被拒绝。再进一步寻找才发现令我哭笑不得的bug:在连接url里我使用了localhost,这代表什么!?这代表的是客户端所在手机的本地地址!无语了,各位引以为鉴。
再之后……我终于得到了not trusted server certificate的异常……没办法慢慢查吧,谁让我对https不太了解呢。最终选择的方法是不再验证服务器,也就是说接受所有证书。首先重写了SSLSocketFactory类,使得其中的验证方法直接返回true。然后主要的部分应用了HttpClient。具体代码就先不贴了,有需要的留言。
最终在快下班的时候实现了与服务器端的通信。任务勉强完成了,明天继续。加油。