2017-09-19 17 views
0

ASP.NETコアライブラリプロジェクトからSOAP Webサービスを使用しようとしています。ASP.NETコアでSOAPサービスを認証できません

プロキシクラスを作成したMictosoft WCF Webサービスリファレンスプロバイダをインストールしましたが、認証に問題があります。

私のコードは、現在、次のようになります。

var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential); 

var address = new EndpointAddress(@"https://myserviceaddress.asmx"); 
var client = new TestApiClient(binding, address); 
client.ClientCredentials.UserName.UserName = "testusername"; 
client.ClientCredentials.UserName.Password = "testpassword"; 
var result = await client.GetDataAsync(params); 

私はいくつかの異なるアプローチを試してみましたが、私のどちらかが不正な取得、またはこれの変種:The value 'TransportWithMessageCredential' is not supported in this context for the binding security property 'securityMode'.

私はbinding.Security.Messageにいくつかのプロパティを設定するはずですが、binding.Securityに存在する唯一のプロパティはTransportModeです。

誰もがこれを正しく設定する方法を知っていますか?

ASP.NETコアからSOAPサービスを使用する他の方法はありますか?私はプロキシクラスを作成する必要がない動的な方法が大好きですが、必要ならばプロキシーと一緒に暮らすことができますが、ユーザーとパスワードで認証できる必要があり、httpsを使用する必要があります。

+0

「TransportWithMessageCredential」は.NET Coreではサポートされていないようです:https://github.com/dotnet/wcf/issues/8 –

答えて

0

IISでSSLを有効にしましたか? SSLを有効にすると、HTTP & HTTPSの両方でサービスが待機します。あなたのクライアントはSSL証明書を購入する必要があります。このため

+0

これは私のサービスではありません。それは私が消費したい外部サービスなので、これは私を助けません。 –

関連する問題