首页 > 其他分享 >TR-069第一期第六修正版-7

TR-069第一期第六修正版-7

时间:2022-10-24 16:23:11浏览次数:49  
标签:XML ACS HTTP 069 TR CPE 修正版 响应 SOAP

从今天开始进入HTTP阶段,可能会涉及会话的主要部分,本周计划把HTTP部分分析完。

3.4 使用HTTP

CPE和ACS之前使用HTTP1.1 发送 SOAP消息,其中CPE是HTTP Client,ACS则是HTTP server。

注意-CWMP也用HTTP来实现Connection Requests。在这种情况下CPE是HTTP server,ACS则是HTTP Client。章节3.2.2 中描述了这种用法。

3.4.1 基于HTTP的SOAP编码

HTTP上SOAP的编码扩展了SOAP的HTTP绑定。这在[12]中的章节6中有如下定义:

从ACS到CPE的SOAP请求通过HTTP响应发送,而CPE对ACS请求的SOAP响应通过后续HTTP POST发送。

当HTTP Request中存在SOAP响应时或者SOAP错误响应时,HTTP Request中的SOAPAction头必须没有值(也不带引号),这表明该头不提供有关消息意图的信息。也就是说,它必须如下所示:

SOAPAction:

当HTTP请求或响应包含SOAP 信封(Envelope)时,HTTP内容类型标头的类型/子类型必须为“text/xml”。

空HTTP POST不能包含SOAPAction头。

空HTTP POST不得包含Content-Type头。

包含任何CPE WAN管理协议有效内容的HTTP响应,必须使用HTTP状态代码200(OK)。有效内容包括:对CPE的SOAP请求、对CPE的成功SOAP响应或包含第3.5节中定义的SOAP故障响应。

在XML文档中传输字符串值时,必须按照XML规范[7]的规定对XML专用的任何字符进行转义。此外,除可打印ASCII字符以外的任何字符,即十进制ASCII表示超出(包括)范围9-10和32-126的任何字符,都应按照XML规范的规定进行转义。

Kevin:TR069后面给出了例子, 基本上和抓包的内容相近。在后面处理交互问题时,这部分是基础。另外,SOAP包是比较常见的,模拟SOAP消息有时候可以考虑用SoapUI,也可以考虑用Jmeter、Postman等等。

下面是来自包含SOAP请求的ACS的HTTP响应示例:

HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: xyz

<soap:Envelope
 	xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
 	xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
 		<soap:Body>
 			<cwmp:Request>
 				<argument>value</argument>
 			</cwmp:Request>
 		</soap:Body>
</soap:Envelope>

注意-在上面的例子中,XML 名称空间(namespace)前缀只是一个例子。实际的名称空间前缀值是任意的,仅用于引用名称空间声明

注意-在上面的示例中,CWMP名称空间标识符“urn:dslforum org:CWMP-1-0”只是一个示例,不一定是本规范定义的名称空间。

标签:XML,ACS,HTTP,069,TR,CPE,修正版,响应,SOAP
From: https://www.cnblogs.com/kevin4X/p/16821809.html

相关文章

  • C++中的try和catch
    程序运行时常会碰到一些异常情况,例如:做除法的时候除数为0;用户输入年龄时输入了一个负数;用new运算符动态分配空间时,空间不够导致无法分配;访问数组元素时,下标越界;打......
  • Apache Struts2远程代码执行【S2-001】
    Struts2Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是St......
  • Metro风格XAML应用程序性能技巧
    微软发布了一篇名为《Metro风格XAML应用程序性能技巧》的白皮书,其中包含一些关于保持响应、确保流畅动画、改善启动时间、消耗较少资源等方面的建议。我......
  • Treating HTML like XML using HtmlAgilityPack, and doing it inside of an XSLT too
    IwasnotabletopostthisonSimonMourier'sblogduetotheHTMLandXSLTtags,sohereitisonmine:Maybesomeonehasdonethisalready,butIdon'tseeit......
  • "Ascend.Net" Windows Forms Controls
    在微软的开源网站上http://www.codeplex.com有一个WinformControl项目Ascend.NET,非常不错.做Winform程序的兄弟可以关注一下.在微软的开源网站上......
  • CF 883D(Packmen Strike Back-吃豆人)
    一条序列上有n个空位,上面要么是吃豆人,要么是豆,要么是空位。现在给每个吃豆人指定一个方向,游戏开始后每个吃豆人同时向前移动直到遇到边界后不动。问吃豆人最多能吃几个豆子,......
  • dameware(dameware mini remote control)
    如何清除远程控制软件DameWareMiniRemoteControl在XP下可以使用SC这个命令开始菜单运行输入CMDscdeletedwmrcs这个可能是别的网段用户他关闭了那个远程所以你进......
  • 我的ImageIO.write ByteArrayOutputStream为什么这么慢?
    File.createTempFile(prefix,suffix),创建一个临时文件,再使用完之后清理即可。但是遇到如下两个坑:Stringprefix="temp";Stringsuffix=".txt";FiletempFile=File.cr......
  • java 修改HttpServletRequest的参数或请求头
     场景:过滤器中获取参数Token并添加到请求头(用户认证兼容老系统)请求头和请求参数是不能直接修改,也没有提供修改的方法,但是可以在过滤器和拦截器中使用​​​HttpServletReq......
  • getOutputStream() has already been called for this response
     错误日志里偶尔会有getOutputStream()hasalreadybeencalledforthisresponse这个错误最近发现了高概率复现条件,所以顺手解决了一下: 首先根据这个错误关键信息,得知......