如果我需要一个Web服务来回传递一个复杂的对象,我是否应该选择SOAP over REST?以下是可能的SOAP消息的示例:
<soap:Envelope>
<soap:Header>
<Credentials>
<User>Joe</User>
<Password>abc123</Password>
</Credentials>
</soap:Header>
<soap:Body>
<MyComplexBusinessObject>
<Search>
<First>Joe</First>
<Last>Smith</Last>
</Search>
...
...
</MyComplexBusinessObject>
</soap:Body>
</soap:Envelope>
使用REST,我会要求客户端POST以下xml并使用基本身份验证进行身份验证:
<MyComplexBusinessObject>
<Search>
<First>Joe</First>
<Last>Smith</Last>
</Search>
...
...
</MyComplexBusinessObject>
SOAP消息稍微复杂一点,但不是很多。它们仍然是XML,但SOAP带有WSDL,大多数编程环境都会为您生成代理类。但是,与我交谈的大多数人都说我应该使用REST,因为它更容易使用。但我不知道SOAP如何更难使用。
我错过了什么吗?