복잡한 객체를 앞뒤로 전달할 웹 서비스가 필요한 경우 SOAP over REST를 선호해야하는 이유가 있습니까?SOAP보다 REST를 선호하는 이유는 무엇입니까?
<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를 사용하여, 나는 다음과 같은 XML을 게시하고 기본 인증을 사용하여 인증하도록 클라이언트를 요청하는 것입니다 :
이<MyComplexBusinessObject>
<Search>
<First>Joe</First>
<Last>Smith</Last>
</Search>
...
...
</MyComplexBusinessObject>
SOAP 메시지가 약간 더 여기 가능한 SOAP 메시지의 예입니다 복잡하지만,별로. 그것들은 여전히 XML이지만 SOAP에는 WSDL이 있으며 대부분의 프로그래밍 환경은 프록시 클래스를 생성합니다. 그러나 대부분의 사람들은 사용하기 쉽기 때문에 대신 REST를 사용해야한다고 말합니다. 하지만 SOAP를 사용하는 것이 더 힘들지는 않습니다.
이 나는 뭔가를 놓치고 있습니까?
왜 XML *이 중요한지. JSON은 (프로그래밍의 관점에서 보면) 훨씬 깔끔하고 컴팩트합니다. '[{ '첫': '조', '마지막': '스미스'}, ...]' –
당신은 어떻게 복잡한 객체를 전달하겠습니까? 물론 JSON을 사용할 수는 있지만 REST 용 SOAP를 포기하는 것을 정당화하기에 충분하지 않습니다. 개체에 중첩 된 필드가있을 수 있으며 URL로 잘 변환되지 않을 수 있습니다. – Books
실제로,이 경우, 더 나은 일치는 표준 POST 변수로'/ search'에 게시됩니다. '1 = Joe, Smith & 2 = John, Citizen & ... '예를 들면. 검색 이외의 다른 검색을 원한다면 SOAP은 한 URL에서 모든 것을 취할 수 있지만 REST는 그렇지 않습니다 (한 줄에 하나의 URL이 있습니다.)/검색을 할 수만 있다면/joe + smith' 또는 그보다 더 좋을 것 같은). –