Re: Windows Communication Foundation You could try a more simplistic approach:
GetDocumentResponse GetDocument(GetDocumentRequest request)
GetDocumentRequest would have everything you need to call the service (input parameters, service/application parameters, etc.)
GetDocumentResponse would have the data you want to retrieve and the execution status.
You should leave SOAP as transport only. That way you can easily consume/expose services using other "protocols" (like REST, RSS, etc.).
This suggestion doesn't invalidate anything Udi said about the publisher/subscribe model. It's just a simplier and not so generic service contract. |