2016-05-09 19 views
6

私はSOAP Webサービスを呼び出そうとしていますが、エラーが発生しています: 追加情報:ユーザー名は提供されていません。 ClientCredentialsでユーザー名を指定します。SOAP Webサービスに資格情報を渡すには?

だから、私は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(); 

EDIT: バインディング:

<binding name="VersionHttpBinding"> 
    <security mode="TransportCredentialOnly"> 
     <transport clientCredentialType="Basic" /> 
    </security> 
    </binding> 
+0

の認証方法は何ですかWebサービス?基本認証など? – mikey

+0

リクエストに応じて更新されます。 – PrivateJoker

答えて

9

をあなたはin this MSDN articleを示すようにように、クライアントに証明書を設定する必要があります:

client.ClientCredentials.UserName.UserName = "my_user_name"; client.ClientCredentials.UserName.Password = "my_password";

+0

私は99%確信しています。私は過去にこれを正確に行っています。この例のように、オブジェクト全体を置き換えようとしましたか(私は*読み取り専用です)、またはオブジェクトの個々のプロパティを設定しましたか? –

+0

ありがとうございます。それがうまくいって、リンクに感謝します! – PrivateJoker

+0

。ユーザー名。パスワード。陽気 – Gaspa79

関連する問題