Я успешно использую следующий код с HTTP, но я бы хотел использовать SSL. Когда я изменяю адрес конечной точки на https и изменяю режим безопасности на Transport в файле web.config, я получаю сообщение об ошибке: «Предоставленная схема URI« https »недействительна, ожидается« http ».Настройка WCF через SSL
Это тестовая форма VB.net.
Imports WindowsApplication1.WCFService
Imports System.ServiceModel
Public Class Form1
Private WCFConnection As Service1Client 'Class reference from the ServiceReference
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
If WCFConnection Is Nothing Then
WCFConnection = New Service1Client(New System.ServiceModel.BasicHttpBinding(), New EndpointAddress("https://www.mysite.com/Service1.svc?wsdl"))
End If
Dim NParray As String = WCFConnection.GetNP("8")
TextBox1.Text = NParray
End Sub
End Class
Тогда вот web.config,
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://www.mysite.com/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="WCFService.IService1"
name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Является ли это web.config вы используете, когда вы получаете сообщение об ошибке? Адрес конечной точки должен быть https, а не http. Если это не настройка для https, укажите, что вместо того, что работает. –
Это рабочий. Я изменил адрес конечной точки на https и режим безопасности для транспорта в файле web.config. Затем в форме i изменился на https и получим ошибку. – sonicbabbler
Получаете ли вы ошибку в клиенте или услуге? –