Web Services Make Connection – what it actually means

I had a conversation yesterday that reminded me how confusing I found WS Make Connection the first time I saw it in action. It’s a really simple specification designed to do something really simple, but the names used in the messages can cause no end of confusion.

Though Make Connection can be used standalone, it’s currently primarily used to provide retransmission capability for WS-Reliable Messaging 1.1, so I’ll focus on that scenario.

When providing reliability in an environment where the service provider cannot open a connection to the client (e.g. because it’s behind a NAT device), the service provider still needs a way to send messages to that client.

An example would be retransmitting a response message to a client because the original transmission of it failed.

In this case the client needs to connect to the service provider to provide a connection for the service provider to use to send the response. That’s what Make Connection is. It’s a specification which defines a single one-way message which a client can send to a server, which allows a server to send a message to the client using the HTTP response channel.

i.e MakeConnection message=’Hi, I’m client xxx, and here’s an HTTP connection you can use to send me a message if you want to’.

The confusion: People used to session oriented technologes (including WS-RM of all things) see a ‘MakeConnection’ message and assume it’s setting up a long running connection that will be used later on. This is not the case. A MakeConnection message only has meaning for the length of the HTTP request/response interaction it is sent in. For subsequent messages from the server, additional MakeConnection messages must be sent by the client.


0 Responses to “Web Services Make Connection – what it actually means”



  1. Leave a Comment

Leave a Reply




About

I’m David Illsley, I work in Web Services development at IBM Hursley, which involves work on the Apache WS Project, where I am a committer and PMC member. When not working with technology, I spend a lot of time on the backstage aspects of theatre, and a sadly decreasing amount of time reading.

Archives

c

Disclaimer

The postings on this site solely reflect the personal views of the author and do not necessarily represent the views, positions, strategies or opinions of IBM or IBM management.

Twitter Updates

  • @katshann methinks someone's playing referrer games... (not me)... I'm barely in the top 30 search terms for my blog in the last 30 days 2 hours ago
  • @goodgravy Good luck! Sounds hopeful... 14 hours ago
  • Struggling to 'Open Link in New Tab' in recent Firefox nightlies. Muscle memory is just too strong 3 days ago
  • Dice games... what's the worst that can happen... #fb 5 days ago
  • Apparently one of my colleagues is 'prepared for DELETION'. That's a little more Logan's Run than I think he's expecting. 6 days ago