4

次のエラーの原因となっているサービス呼び出しがあります:「提供されたURIスキーム「http」は無効です。「https」が必要です。」

app.config値:

<basicHttpBinding>
<binding name="xx_xxxxx_spcName" closeTimeout="00:01:00"
              openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
              allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferSize="655360" maxBufferPoolSize="524288" maxReceivedMessageSize="655360"
              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" />
          </security>
        </binding>
</basicHttpBinding>


<client>
<endpoint address="http://server/serviceaddress_removed" 
                binding="basicHttpBinding" bindingConfiguration="xx_xxxxx_spcName" 
                contract="xx.xx_xxxxx_spcName" name="xx_xxxxx_spcName" />
</client>

私はHttps://を試しましたが、すべてが内部にあるため、これが必要になるとは思わないでしょう。さらに、クライアント/サーバーエラーも発生します。

バインディングタイプも変更してみました

また、こことasp.netの他のフォーラム投稿を調べましたが、すべてトランスポートを使用し、コードで次のように行っているクライアント資格情報を渡すことを指しているようです。

client.ClientCredentials.UserName.UserName = "XXXXX";
client.ClientCredentials.UserName.Password = "XXXXX";
4

2 に答える 2

13

<security mode="Transport">noneに変更する必要があります。輸送力https。

于 2013-10-10T20:37:32.827 に答える
1

WCF構成のトレーニングを覚えている場合、トランスポートセキュリティとは、HTTPSを使用していることを意味します。HTTPSを使用していない場合は、メッセージが暗号化されないことを認識して、セキュリティタイプを「なし」に設定する必要があります。

「メッセージ」を使って手動で証明書を提供することもできると思いますが、これまでに行ったことはありません。

于 2013-03-25T14:50:37.927 に答える