I'm calling a service reference using WCF, but the service requires plain-text passwords, which WCF does not natively support, so I'm using Yaron Naveh's ClearUsernameBinding implementation. This is getting me half the way there. The service I'm calling is firing (because I can see it insert records into a database), but it's failing on the return message. I'm using Fiddler to see the responses, and I can see Success responses from the service (or other messages if there are data issues), but it's causing an exception when WCF tries to tries to interpret it. The error is:
Security processor was unable to find a security header in the message. This might be because the message is an unsecured fault or because there is a binding mismatch between the communicating parties. This can occur if the service is configured for security and the client is not using security.
I need the response message to know if the operation was successful or not (I have to run this particular service in a loop many times). Any ideas on how to get WCF to accept the return message?
Here's my app.config settings:
<system.serviceModel>
<extensions>
<bindingExtensions>
<add name="clearUsernameBinding" type="WebServices20.BindingExtenions.ClearUsernameCollectionElement, ClearUsernameBinding"/>
</bindingExtensions>
</extensions>
<bindings>
<clearUsernameBinding>
<binding name="myClearUsernameBinding" messageVersion="Soap11" >
</binding>
</clearUsernameBinding>
</bindings>
<client>
<endpoint address="http://tcaretrain:8080/trucare-ws/authorizations/"
binding="clearUsernameBinding" bindingConfiguration="myClearUsernameBinding"
contract="AuthorizationService.trucare" name="trucareSoap11" />
</client>
</system.serviceModel>