我不能专门谈论SOAP,但我曾经为一个必须与专有的第三方web服务通信的客户端构建了一个插件(私有)。在本例中,它是一个非RESTful接口,混合使用QueryString和XML POST请求来提交查询(取决于查询类型的复杂性),并以XML返回结果数据。
我构建了PHP类,以帮助将其服务抽象为一个API,我可以更轻松地处理它,并消除它们接口中的不一致性以及它们接受和返回的不同类型的XML文档。此外,通过创建自己的抽象,我希望保护我的代码不受将来更改的影响。例如,如果他们保持组织数据的基本结构不变,但切换到JSON编码,我的大部分业务逻辑将保持不变,我只需要重写用于编码/解码数据的请求和响应片段。
虽然并不是针对您的问题,但我过去使用SOAP的经验大多是负面的。关于SOAP是RPC服务还是文档传输,一直存在着长期的争论。再加上稍微非标准的实现(例如,搜索有关在Microsoft SOAP服务器上使用perl的SOAP::Lite模块的文章)、使用XML名称空间以及其他因素,您很快就会感到沮丧。
不过,我想知道,您的问题是否更具体地与构建客户端和服务器端SOAP部件的人类似?如果我正在构建一个web服务(以及相关的WordPress插件来访问它),那么SOAP肯定不会成为API RPC或数据传输的首选。