none
Unterschied basicHttpBinding und wsHttpBinding

    Frage

  • Hallo,

    ich habe mit Visual Studio 2013 (Version 12.0.31101.00 Update 4 Microsoft .NET Framework Version 4.7.02053) eine Servicereferenz erstellt, um auf einen Non-Microsoft-Webservice zuzugreifen.

    Dazu habe ich ein Zertifikat im Zertifikatsspeicher (Eigene Zertifikate) von Windows gespeichert und möchte der Anwendung nun mitteilen, dass die Authentifizierung über Zertifikat erfolgt und wo das Zertifikat zu finden ist.

    Bei der Konfiguraton der app.config habe ich unter bindings nun 2 Möglichkeiten. Ich kann basicHttpBinding oder wsHttpBinding verwenden. Was davon ist richtig?

    Mit freundlichen Grüßen

    Peter

    P.S.: die App.config sieht im Fall von basicHttpBinding anoniymisiert so aus:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <startup>
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
        </startup>
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="WEBSERV-Binding">
                        <security mode="Transport">
                          <transport clientCredentialType="Certificate"/>
                        </security>
                      </binding>
                    <binding name="WEBSERV-Binding1" />
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="https://zieldienst.net/services" binding="basicHttpBinding"
                    bindingConfiguration="WEBSERV-Binding" contract="ServiceReference1.WEBSERVPortType"
                    behaviorConfiguration="endpointCredentialBehavior"  
                    name="WEBSERV-ServicePort" />
            </client>
          <behaviors>
            <endpointBehaviors>
              <behavior name="endpointCredentialBehavior">
                <clientCredentials>
                  <clientCertificate findValue="Organisation1 Root-CA"
                                     storeLocation="CurrentUser"
                                     storeName="My"
                                     x509FindType="FindByIssuerName" />
                </clientCredentials>
              </behavior>
            </endpointBehaviors>
          </behaviors>
        </system.serviceModel>
    </configuration>

    Donnerstag, 9. November 2017 11:34

Alle Antworten

  • Hallo Peter,

    da gibt es ein paar Unterschiede in der Funktionalität, hauptsächlich in der Security siehe hier.

    Grüße

    Roland

    Donnerstag, 9. November 2017 12:31