SOAP webserviceを呼び出そうとしていますが、次のエラーが表示されます。追加情報:ユーザー名が指定されていません。ClientCredentialsでユーザー名を指定してください。
だから、client.ClientCredentialsをNetworkCredentialsの新しいインスタンスに設定できると思った。ただし、ClientCredentialsは読み取り専用です。それでは、この情報をWebサービスにアクセスするためにどのように渡すことができますか?
myService.ServiceClient client = new myService.ServiceClient();
// This won't work since its read only.
client.ClientCredentials = new System.Net.NetworkCredential("username", "password", "domain");
string version = client.getData();
編集:バインド:
<binding name="VersionHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
このMSDNの記事 のように、クライアントに資格情報を設定する必要があります。
client.ClientCredentials.UserName.UserName = "my_user_name"; client.ClientCredentials.UserName.Password = "my_password";