Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

WCF and CoffeeScript, Who Says That Opposites Don't Attract?

DZone's Guide to

WCF and CoffeeScript, Who Says That Opposites Don't Attract?

· Web Dev Zone ·
Free Resource

Bugsnag monitors application stability, so you can make data-driven decisions on whether you should be building new features, or fixing bugs. Learn more.

At first look Wcf and CoffeeScript are very different: Wcf is chatty on the config side and bloated on the wire. CoffeeScript is just a "little language".

Look at this:
wcf = require 'wcf.js'
fs = require 'fs'

binding = new wcf.WSHttpBinding
	SecurityMode: "Message"
	MessageClientCredentialType: "Certificate"	
	MessageEncoding: "Mtom"

proxy = new wcf.Proxy binding, "http://localhost:7171/Service/"
proxy.ClientCredentials.ClientCertificate.Certificate = 
	fs.readFileSync("client.pem").toString()

message = "<Envelope xmlns='http://schemas.xmlsoap.org/soap/envelope/'>
                <Header />
                  <Body>
                    <GetData xmlns='http://tempuri.org/'>
                      <value>123</value>
                    </GetData>
                  </Body>
              </Envelope>"

proxy.send message, "http://tempuri.org/IService/GetData", 
		    (message, ctx) -> console.log ctx
So while Wcf still can't make coffee, CoffeeScript sure does make these fine custom bindings!

This magic is done via Wcf.js, the first ws-* implementation for Node.js. Wcf.js is written in pure coffeescript javascript. What's next, will Microsoft build a tablet?

Monitor application stability with Bugsnag to decide if your engineering team should be building new features on your roadmap or fixing bugs to stabilize your application.Try it free.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}