While soapUI is a really useful tool for web service unit testing, it doesn’t work with WCF.
In particular, with the default "wsHttpBinding", you get the message "BadContextToken".
Mr. Google comes back with tons of results about why soapUI doesn’t play nicely with WCF and recommends WCF Storm which looks good but it’s not free.
So a whack of investigation later:
Add the following binding into the <bindings> section of your web.config:
<!-- soapUI -->
<transport clientCredentialType="None" />
<message establishSecurityContext="false" />
Add the following "bindingConfiguration” parameter to your <endpoint> section:
The WCF service has an endpoint like:
For soapUI you need to change this to blahblah.svc?wsdl when you “Add WSDL”.
Once you’ve added the service to soapUI, click the default operation and then click the “WS-A” tab at the bottom.
Click “Enable/disable WS-A addressing”.
Click “Add default wsa:Action”.
Click “Add default wsa:To”.
And (finally) success!
REMEMBER: Every time you change the web.config, you need to right-click the soapUI service and “Update Definition” or F5!