Der Nachrichtenknoten in der wsHttpBinding Konfiguration SOAP-Nachricht Sicherheits Header über die Konfiguration, deshalb ist es nicht gültig für webHttpBinding ist, die auf SOAP basiert nicht für REST-Service
Die entsprechende Sicherheit (es REST ist) ist wahrscheinlich Transport Ebene - das ist HTTPS.
Wenn Sie Sicherheit auf Nachrichtenebene verwenden möchten, müssen Sie zu SOAP wechseln, aber Nachrichtenebene ist ziemlich spezialisiert und in den meisten Fällen nicht erforderlich.
Wenn Sie ein Zertifikat für webHttpBinding (dh die Verwendung von gegenseitigem SSL) benötigen, müssen Sie den securityMode auf Transport und die Eigenschaft clientCredentialType auf Certificate setzen. In Config sieht es aus wie diese auf der Serverseite
<webHttpBinding>
<binding name="ClientCertServerSide">
<security mode="Transport" >
<transport clientCredentialType="Certificate"/>
</security>
</binding>
</webHttpBinding>
Auf der Client-Seite können Sie das Zertifikat in Code angeben (mit der HttpWebRequest.ClientCertificates
Eigenschaft) oder in Config. In der Konfiguration sieht es aus wie
<endpointBehaviors>
<behavior name="ClientCertClientSide">
<clientCredentials>
<clientCertificate findValue="put the cert name here" storeLocation="put the store here" />
</clientCredentials>
</behavior>
</endpointBehaviors>