I just figured out why I don’t like developing WCF adapters for BizTalk.
WCF was created to support a common set of protocols based mostly around SOAP and it’s descendents. Fine and dandy if that’s what you’re faced with.
However, if you’ve determined you need to write a custom adapter, you’ve pretty much already ruled out those common protocols. At this point, forcing your solution to work around WCF just feels wrong, and takes a lot more code and config goop to implement (remember, custom protocol implementations).
Envision a meticulously architected airport counter*. The traveler is faced with two options, navigate an empty maze of stanchions with expediters strategically place to branch the flow based on unnecessarily complicated attributes, or, walk directly up the elite lane.
The maze becomes especially silly when you realize that every counter position, every terminal and every agent can handle every type of transaction.
But, but…At busy stations, avoid all the complexity and just use the httpBinding…err, uh…the kiosk. Or better yet, go REST and call res.
*At a small to mid-size station where most system travellers enter the system.