注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

widebright的个人空间

// 编程和生活

 
 
 

日志

 
 

SOAP和 坑爹的XML命名空间  

2014-07-04 00:03:57|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

参考

XML命名空间(XML namespace)

http://zh.wikipedia.org/zh/XML%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4

http://www.w3school.com.cn/xml/xml_namespaces.asp


比如下面这个 c#的SOAP模板里面,使用了

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 

这个名字空间,soap 是命名空间前缀。

xmlns="http:///wwidebright.c/"

这个命名空间未定义前缀的命名空间被用作缺省的命名空间。MessagePull 和后面的都是这个URI "http:///wwidebright.c/"表示的命名空间里面的了。


POST /MessagePullService.asmx HTTP/1.1

Host: localhost

Content-Type: text/xml; charset=utf-8

Content-Length: length

SOAPAction: "http://wwidebright.cn/MessagePull"

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <MessagePull xmlns="http:///wwidebright.c/">

      <Text>string</Text>

      <ID>string</ID>

    </MessagePull>

  </soap:Body>

</soap:Envelope>



xml是一种非常坑爹东西了,就这个命名空间来说,C#的 自己的模式示例是用soap 命名空间,但实际调用时,http协议里面使用是另外一个 <s:Envelope   s:Body 的 s 命名空间。c++写代码自己解析xml就要同时支持 soap  和s两个命名空间了。

老实说之前还没听说过 xml 的命名空间。 这么恶心的东西,解析起来非常麻烦,怪不得没人用。也不是每个xml都支持这个东西吧。

xml的解析效率又低,SOAP这种协议估计也是没人用的了吧。随便搞个RPC框架都比这个容易和高效啊。

都什么年代了,不知道公司里面的定义接口怎么还这么喜欢用SOAP。这个C#这些写起来是方便,但应该是运行时非常低效率的吧,像c++ 语言这些跨语言也不容易。


  评论这张
 
阅读(525)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017