How can I transfer SOAP with attachment from one CLIENT to another CLIENT using a Web service where the Web service will reside on a server which is separate from both clients.Basically I am looking for following the architecture: CLIENT1--->SOAP--->SERVER--->SOAP--->CLIENT2. CLIENT2 will not invoke any service. It should be the job of a Web service to send a message that it gets from CLIENT1 to CLIENT2. Can you give me any suggestions on how to achieve the above functionality?
In order for CLIENT2 to receive an unsolicited message (based on product implementations available today), you need to set up CLIENT2 as a SOAP service. It should expose a WSDL document that defines an interface that supports a one-way message exchange pattern. In other words, the operation has an input message, but no output message. Keep in mind that you really don't need to have a server in the middle of this scenario. CLIENT1 can send the message directly to CLIENT2. There are reasons why you may want to use a mediator, though, such as asynchronous delivery, persistent storage of the attachment, audit trail of the exchange, routing of the attachment, etc. (Although many of these functions can be accomplished without a third party server, also.)
In the not-too-distant future you will be able to use a Web services subscription/notification service to facilitate this type of interaction. WS-Eventing defines a lightweight subscription service. WS-Notification defines a more comprehensive subscription service. Note that even with WS-Eventing and WS-Notification, CLIENT2 will still need to be set up as a server. These specifications define facilities that allow you to create topics and manage subscriptions and notifications for any number of applications. In your scenario, with only two applications, it would be simpler and easier just to connect the applications directly through a dedicated SOAP interface.
Dig Deeper on Service-oriented architecture (SOA)
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.