Fehler: Nicht-abrufen von Metadaten aus http ...?wsdl
Ich habe in den Prozess der Umwandlung eine http-Anwendung auf https und ssl mit einem selbst signierten Zertifikat.
aus irgendeinem Grund habe ich zu gehen im browser auf localhost:##### um den Dienst zu starten.
Sobald der Dienst gestartet wird, Teste ich es mit dem folgenden Aufruf in visual studio 2012 comman-prompt:
svcutil.exe https://localhost:10201/?wsdl
kommt es zurück mit
Error: Cannot obtain Metadata from https://localhost:10201/?wsdl
If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address. For help enabling metadata publishing, please refer to the MSDN documentation at http://go.microsoft.com/fwlink/?LinkId=65455.
WS-Metadata Exchange Error
URI: https://localhost:10201/?wsdl
Metadata contains a reference that cannot be resolved: 'https://localhost:10201/?wsdl'.
Could not establish trust relationship for the SSL/TLS secure channel with authority 'localhost:10201'.
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The remote certificate is invalid according to the validation procedure.
HTTP GET Error
URI: https://localhost:10201/?wsdl
There was an error downloading 'https://localhost:10201/?wsdl'.
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The remote certificate is invalid according to the validation procedure.
If you would like more help, type "svcutil /?"
Ist diese detremental zu meinem Erfolg mit HTTPS?
Meine config sieht wie folgt:
<system.serviceModel>
<!--SERVICES-->
<services>
<service name="DuplexService.DuplexService"
behaviorConfiguration="sb">
<endpoint
address="basic"
binding="customBinding"
bindingConfiguration="customDuplexBinding"
contract="DuplexService.Interface.IDuplexServiceContract">
</endpoint>
<endpoint
address=""
binding="webHttpBinding"
behaviorConfiguration="webHttpEndpointBehavior"
bindingConfiguration="webHttpsBinding"
contract="Interface.IPolicyRetriever">
</endpoint>
<endpoint
address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange">
</endpoint>
<host>
<baseAddresses>
<add baseAddress="https://localhost:10201" />
</baseAddresses>
</host>
</service>
</services>
<!--BEHAVIOURS-->
<behaviors>
<!--Policy-->
<endpointBehaviors>
<!-- For Policy Service -->
<behavior name="webHttpEndpointBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<!--behaviour for all of the enpoints -->
<serviceBehaviors>
<behavior name="sb">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpsGetEnabled="true" httpsGetUrl="https://localhost:10201"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
<!-- This will solve a bug that happens if too many items are sent at once from the gateway to the client -->
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
<serviceThrottling
maxConcurrentCalls="200"
maxConcurrentSessions="200"
maxConcurrentInstances="200" />
</behavior>
</serviceBehaviors>
</behaviors>
<!-- BINDINGS-->
<bindings>
<webHttpBinding>
<binding name="webHttpsBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</webHttpBinding>
<customBinding>
<binding name="customDuplexBinding">
<pollingDuplex duplexMode="MultipleMessagesPerPoll"
maxOutputDelay="00:00:01"
serverPollTimeout="00:01:00"
inactivityTimeout="02:00:00"
maxPendingMessagesPerSession="2147483647"
maxPendingSessions="2147483647" />
<binaryMessageEncoding>
<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binaryMessageEncoding>
<httpsTransport
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647"
transferMode="StreamedResponse" />
</binding>
</customBinding>
</bindings>
<!-- Register the binding extension from the SDK. -->
<extensions>
<bindingElementExtensions>
<add name="pollingDuplex"
type="System.ServiceModel.Configuration.PollingDuplexElement, System.ServiceModel.PollingDuplex" />
</bindingElementExtensions>
</extensions>
</system.serviceModel>
Wie kann ich es loswerden? und die Metadaten der Arbeit und die Arbeit KOMMEN?
InformationsquelleAutor jordan | 2012-11-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denken kann 4 Wege um damit umzugehen.
Ich sah nicht ein svcutil option zum ignorieren der cert Fehler.
Ich hatte das gleiche Problem. Für mich habe ich gemerkt, dass die https nutzt ein weiteres Zertifikat wurde für ungültig in Bezug auf das Ablaufdatum. Nicht sicher, warum es passiert ist. Ich änderte den Https-port-Nummer und ein neues selbst signiertes Zertifikat. WCFtestClinet konnte die Verbindung zum server via HTTPS!