网络编程:使用XML库进行SOAP与DIY编组?

Wan*_*oon 3 c++ rest soap wsdl gsoap

我知道有很多关于SOAP,膨胀,XML和REST等替代机制的讨论.

这是情况.一个新的团队成员真正在谈论SOAP,这是基于手工实现协议的难度.他推荐使用gSOAP(项目全部是用C++编写的.)他说明了像WSDL这样的东西清理了大量乱码的手工编写的C++.

现在我正在使用基于XML的文本消息和expat XML库来处理大多数网络.所以我有一些编程工作(不多)与消息格式的修改或参数列表的添加相关联.在发送方端,我打包XML请求并通过普通的旧TCP套接字发送它.在接收器处,我使用DOM或SAX解析XML.等等到目前为止它工作得很好.XML消息非常紧凑,平均最多只有几百个字符.我理解这些消息中的每个项目.

我们希望使用PHP编码的网站可以访问产品的一部分(服务器).这部分推动了这一想法,对于脚本编写者来说,SOAP接口将"更容易".这个项目的每个人都认为SOAP就是他们的救赎.

我看到像gSOAP这样的新大型图书馆的推出对成熟项目的势头具有高度破坏性.

我想知道的是,如果有一种不同的,更紧凑的方式来做SOAP给我们的东西.如何平衡gSOAP或其他SOAP工具的要求,使开发生活更容易对抗硬实际.

IE,我被告知WSDL比使用XML库手动编码C++更好,更容易,更像工作.它将C++对象的语义直接放入网络消息的声明中.问题是,我定义的许多XML消息都没有将一对一映射到接收端的单个不同对象.

或者,我可能无所事事.

但是我在这里扫描信息的现实似乎与我在当地被告知的内容相矛盾.

duf*_*ymo 5

我不买SOAP.

Don Box的简单对象访问协议的原始愿景现在变得非常简单.它变得臃肿,由委员会混乱设计.

抛出膨胀库的所有其他依赖项,你手上可能会有一些混乱.

工具供应商喜欢SOAP,但我对其他人的看法并不多.