Any tips on implementing a "Web Services" client in Niagara (either R2 or G3)?

I need to communicate with an electrical utility service via a SOAP/1.1 compliant connection, to poll for command info about our zone.

They supplied us with a .wsdl file (and .NET code), but I don't know which Niagara module or framework I would base this off of. The Obix stuff is implemented in Web Services, but the utility isn't using Obix.

Searching Niagara Central only seems to show me ways to implement a Web Services server.

I could implement this in C#/VB.NET and use OPC to communicate the event with R2/G3, but it would be much cleaner if I could just do it all within Niagara.