2011-11-11 5 views
0

Webサービスを使用していますが、私が試してみても要求と一緒にクライアントの資格情報を送信することを拒否しています。WCF要求にClientCredentialsを添付することを拒否する

私のapp.configをでセキュリティブロックが

<security mode="Transport"> 
    <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> 
    <message clientCredentialType="UserName" algorithmSuite="Default" /> 
</security> 

のように見えるそして、私はこのようなサービスプロキシを使用します。

Dim MyUploadEvent As New EventUploadWSv1.EventUploadWSv1PortTypeClient("IEventUploadWSv1Port") 
Dim request As New EventUploadWSv1.webservice_source_event_FileUploadRequest 

' First Thing I tried 
MyUploadEvent.ClientCredentials.UserName.UserName = "..." 
MyUploadEvent.ClientCredentials.UserName.Password = "..." 

' Also Tried this based on a question here and a couple of blogs 
'Dim defaultCredentials As ClientCredentials 
'Dim loginCredentials As New ClientCredentials() 

'loginCredentials.UserName.UserName = "..." 
'loginCredentials.UserName.Password = "..." 

'defaultCredentials = MyUploadEvent.Endpoint.Behaviors.Find(Of ClientCredentials)() 
'MyUploadEvent.Endpoint.Behaviors.Remove(defaultCredentials) 
'MyUploadEvent.Endpoint.Behaviors.Insert(0, loginCredentials) 

' Configure Request Object 

' This throws an exception 
MyUploadEvent.fileUpload(request) 

私も他のすべてのClientCredentialsフィールドを使用して(MyUploadEvent.ClientCredentialsを試してみましたMyUploadEvent.ClientFactory.ClientCredentials)、サーバーはSOAP認証情報が添付されていないことを伝えるメッセージを返し続けます。私は、電信で送られてきたメッセージをチェックしました。どこにでもユーザ名やパスワードは書かれていません。私は明らかにここで何かを欠いているべきではない。

答えて

0

TransportWithMessageCredentialセキュリティモードを使用する必要があります。トランスポートは、Transport要素と要素に定義された構成のみを使用します。完全に無視されます。

関連する問題