Alpha version of ssdl.exe available

I spent some time today on SSDL.exe so I can make it available through ssdl.org. This is a very alpha version, so please be advised… you’ll probably get exceptions here and there :-)

Given an SSDL contract document, ssdl.exe will validate it against one of the four protocol framework schemas and then send the validated document to all the plugins. This version of ssdl.exe comes only with one plugin, the WSE code generator.

WSE Code Generator

For each declared message in an SSDL document, you’ll get a class with the header and body elements represented as properties. The generated class for each message gives you access to the message’s SoapEnvelope representation so you can directly manipulate it if you so wish.

You’ll also find an SsdlReceiver class which is used in the same way as a SoapReceiver but it also provides events for each of the declared messages in the SSDL contract. You can register methods to handle the arrival of specific messages, provided you have associated the receiver with an endpoint as you normally do with SoapReceivers.

You send messages using the SsdlSender class, in a similar way you use the SoapSender class. Note, however, that while the use of SsdlReceiver is optional, you have to use SsdlSender because otherwise the runtime will not populate the SOAP message with the appropriate XML representation of the header and body elements.

There is an example of the above in the SSDL white paper.

Finally, if you want to use the generated VB or CS code, you’ll have to reference the Ssdl.Wse.dll in your code and make sure that Ssdl.Document.dll and XmlNodeWriter.dll can be found or directly reference those as well.

Example

I have included the WS-Streaming.xml file with the installation for you to play with. I’ll try to release some more contracts in the future.

Let me know of any problems/questions you may have. Enjoy.