4 votes

Comment consommer des services web via https ?

J'essaie de consommer un service web qui se trouve à l'adresse suivante https://TestServices/ServiceList.asmx . Lorsque j'essaie d'ajouter une référence de service à mon projet de classe de bibliothèque C#, mon fichier app.config ressemble à ce qui suit :

<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="TestServicesSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="50000000" maxBufferPoolSize="524288" maxReceivedMessageSize="50000000"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="">
                        </transport>
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://TestServices/ServiceList.asmx"
                binding="basicHttpBinding" bindingConfiguration="TestServicesSoap"
                contract="TestServices.TestServicesSoap" name="TestServicesSoap" />
        </client>
    </system.serviceModel>

Même lorsque j'ai essayé d'ajouter une référence de service à l'élément https://TestServices/ServiceList.asmx pour une raison quelconque, l'adresse du point final pointe toujours vers http://TestServices/ServiceList.asmx . J'ai essayé de remplacer http par https mais j'obtiens l'erreur suivante :

Le schéma URI fourni "https" n'est pas valide ; on attendait "http". Nom du paramètre : via

Quelle est la bonne façon de consommer les webservices sur https ?

2voto

1voto

David Gardiner Points 4907

Dans la reliure, vous avez <security mode="None" ..., alors que je pense que si vous voulez utiliser https, vous devez le mettre à <security mode="Transport" ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X