Hin*_*nek 6 .net https wcf mex
我使用HTTPS运行我的WCF服务,它显示了Infopage,但下面的URL"要测试此服务,...使用以下语法:"是:
svcutil.exe https://servername.group.service.com/MyService.svc?wsdl
(服务器的完整地址)
而不是正确的URL https://my.service.com/MyService.svc?wsdl(指定的hostheader),我如何让它显示正确的URL(<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>
Run Code Online (Sandbox Code Playgroud)
我已经试图改变<serviceMetadata httpsGetEnabled="true"/>
成<serviceMetadata httpsGetEnabled="true" httpsGetUrl="https://my.service.com/MyService.svc"/>
,但它只是说:"一个注册已经存在URI https://my.service.com/MyService.svc "
您指定已设置主机标头。是设置为 SSL 还是只是 Http。请记住,IIS UI 没有用于设置 SSL 主机标头的字段。对于更高版本的 IIS,您需要使用管理脚本 (IIS 6.0) 或 netsh.exe。