欢迎来到天天文库
浏览记录
ID:46686400
大小:50.00 KB
页数:8页
时间:2019-11-26
《基于TR-069协议的开发(一)ACS的搭建》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、TR069是DSLFourm提出来的一种协议,即CWMP协议,主要是对用户终端设备的管理。英功能主要有两块组成ACS(AutoConfigServer)和CPE(CustomerPressionEqualment)o其具体功能(PPT)根据协议的描述CPE会定时呼叫ACS,ACS也可以呼叫CPE。ACS呼叫CPE的时候,其实是向CPE发送一个ConnectionRequest,经过授权认证等过程后,CPE会发个Inform给ACS,其屮包含了EventCode,根据EnventCode我们就可己知道是CPE主
2、动呼叫的胚是ACS呼叫后,CPE才建立的连接。TR-069规定响应ACS的呼叫后的InformEventCode是6ConnectionRequest□我也是笫一次进行通信方面的开发,以前没有接触过的东西。首先得要下个协议,在这里我冇个感受,就是要下个原版的TR-069协议,自己去慢慢的理解,不懂单词要查,虽然是全英文的,但是也是最权威的,也是原滋原味的。可能看了协议后会觉得很蒙,很多代名词都不懂。SOARRPC。SOAP和PRC感觉有点像WcbScrvicc,其实我也没冇wcbscrvicc的开发经验,但是
3、我觉得在TR-069协议中,ACS通过SOAP协议指定要调用CPE的哪些方法,以及需要的参数。然后通过RPC在CPE端执行指定的方法,返回方法执行后的结果。然后在通过SOAP协议返回执行后的结果给CPE。假如A系统有个查询手机号码的归屈地的功能,那么B系统屮也要实现这个功能,那么两个系统可以通过通信的方式进行数据交互。B系统通过SOAP协议指定需要执行的功能(方法)和参数(手机号码),然后发送给A系统。A系统接受了SOAP协议包含的XML,开始解析,然后调用口身的method,然后将执行后的结果封装成XML格
4、式的数据后发给B系统,B系统解析后获取执行的结果。总之,最重要的是通信。ACS和CPE都是支持HTTP协议,所有ACS只需要有HTTP容器就可以了。所以很H然的,我们就想到了Servlet来实现。我也不知道是啥格式的XML,但是公司催的紧,所有赶紧开工了。既然不知道怎么实现,但是CPE会定时呼叫的,所冇先把它呼叫后的东西接收过來看看,到底是什么。目前测试的CPE是H3C的APo第_,创建ACSServlet,准备接收消息。代码如下:Java代码」」importjava.io.BufferedReader;im
5、portjava.io」OException;importjava.io」nputStream;importjava.io」nputStreamReader;importjava.io.Outputstream;importjava.util.HashMap;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjav
6、ax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.seahigh.tyt.acs.util.AcslItil;*ACSserverimp**@author汪心利*@CreateTime2009-1-4F午04:34:42(c)copyrightseahigh20097publicclassACSServletextendsHttpServlet{publicvoiddoGet(HttpServl
7、etRequestrequest,HttpServletResponseresponse)throwsServletException{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//session记住已执彳亍的methodInputstreamin=request.getlnputStream();Stringip=request.getRe
8、moteAddr();InputStreamReaderir=newlnputStreamReader(request.getlnputStream());BufferedReaderinput=newBufferedReader(ir);Stringline;Stringxml=””;while((line=input.readLine())!=null){if(line.trim().lengt
此文档下载收益归作者所有