Tôi đã nhận Dịch vụ WCF chạy bằng HTTPS, Nó hiển thị Infopage, nhưng URL bên dưới "Để kiểm tra dịch vụ này, ... với cú pháp sau:" là:URL sai trong siêu liên kết WSDL khi sử dụng WCF (https)
svcutil.exe https://servername.group.service.com/MyService.svc?wsdl
(địa chỉ đầy đủ của máy chủ)
Thay vì URL đúng https://my.service.com/MyService.svc?wsdl (hostheader giao), làm thế nào tôi có thể lấy nó để hiển thị các URL đúng (<URL of the Service> + ?wsdl
)?
<services>
<service name="MyService" behaviorConfiguration="MyServer.MyServiceBehavior">
<endpoint binding="basicHttpBinding" bindingConfiguration="basicHttpBigStrings" contract="IMyService">
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyService.MyServiceBehavior">
<serviceCredentials>
<serviceCertificate findValue="my.service.com" x509FindType="FindBySubjectName"/>
</serviceCredentials>
<serviceMetadata httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBigStrings">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
<readerQuotas maxStringContentLength="1048576" />
</binding>
</basicHttpBinding>
</bindings>
Tôi đã cố gắng để thay đổi <serviceMetadata httpsGetEnabled="true"/>
vào <serviceMetadata httpsGetEnabled="true" httpsGetUrl="https://my.service.com/MyService.svc"/>
nhưng nó chỉ nói: "Một đăng ký đã tồn tại cho URI https://my.service.com/MyService.svc"
Tôi cũng gặp vấn đề tương tự. Bạn đã tìm thấy một giải pháp về điều này? – Turrau
Không, không cho đến nay, xin lỗi ... – Hinek
Bạn có đang lưu trữ dịch vụ này trong IIS không? Nếu có thì IIS xác định URL đó chứ không phải WCF. –