6

WCFサービスをHTTPSで実行しました。情報ページが表示されますが、「このサービスをテストするには、次の構文で...」の下のURLは次のとおりです。

svcutil.exe https://servername.group.service.com/MyService.svc?wsdl(サーバーの完全なアドレス)

正しいURLhttps ://my.service.com/MyService.svc ?wsdl(割り当てられたホストヘッダー)の代わりに、正しい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>

私はすでにに変更しようとし<serviceMetadata httpsGetEnabled="true"/>ましたが、「URIhttps ://my.service.com/MyService.svc<serviceMetadata httpsGetEnabled="true" httpsGetUrl="https://my.service.com/MyService.svc"/>の登録はすでに存在します」とだけ表示されます。

4

2 に答える 2

4

ホストヘッダーを設定したことを指定しました。SSLに設定されていますか、それともHttpに設定されていますか。IIS UIには、SSLのホストヘッダーを設定するためのフィールドがないことに注意してください。それ以降のバージョンのIISには、管理スクリプト(IIS 6.0)またはnetsh.exeを使用する必要があります。

于 2010-11-23T16:40:19.183 に答える
0

次のStackOverflowリンクでこれに関する背景を見つけることができます-私が最初に試みること(もう少し複雑ないくつかの異なるシナリオを提供します)は、サービスエンドポイント定義にリッスンURIを設定することです。アプリでWSDLアドレスを正しく取得する際に問題が発生した場合、それを修正するように設定できました。その場合、私は単にスキームを修正しようとしていました(BIGIPの背後にあり、SSLを終了していたため、サーバー側のWCFがhttpを取得していると思っていてもスキームはhttpsである必要がありました)。

<endpoint address="https://www.sslloadbalancer.com" binding="someBinding" contract="IMyServiceInterface" listenUri="http://www.servicehost.com" ...  />

これでWSDLが修正されると思います

于 2010-11-12T18:42:44.837 に答える