Windows アプリケーションで WSDL を使用して Web サービスを使用しています。メソッドを使用しようとすると、次のエラーが表示されます:-
HTTP 要求は、クライアント認証スキーム「匿名」では許可されていません。サーバーから受信した認証ヘッダーは「」でした
{"リモート サーバーがエラーを返しました: (401) Unauthorized."}
ユーザー資格情報はありますが、Windows アプリケーションで C# コードを使用して渡す方法がわかりません。
Windows アプリケーションで WSDL を使用して Web サービスを使用しています。メソッドを使用しようとすると、次のエラーが表示されます:-
HTTP 要求は、クライアント認証スキーム「匿名」では許可されていません。サーバーから受信した認証ヘッダーは「」でした
{"リモート サーバーがエラーを返しました: (401) Unauthorized."}
ユーザー資格情報はありますが、Windows アプリケーションで C# コードを使用して渡す方法がわかりません。
これが私にとってどのように機能するかです:-
構成ファイルの設定は次のようになります:-
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="bindingName" >
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://10.10.10.10:1880/testpad/services/Testwebservice"
binding="basicHttpBinding" bindingConfiguration="bindingName"
contract=testService.GetData" name="test_Port1" />
</client>
</system.serviceModel>
</configuration>
そしてここで私はユーザー資格情報を渡しています:-
var ser = new GetDataClient();
ser.ClientCredentials.UserName.UserName = "userid";
ser.ClientCredentials.UserName.Password = "Pa$$word1";
ここに記載されている方法を使用して、サービス クライアント プロキシの生成を試みることができます。WCF クライアント プロキシのインスタンスを取得ClientCreditials
すると、必要に応じて設定できるプロパティが作成されます。お役に立てれば。