F# WSDL Type Provider の使用を検討しています。使用している Web サービスを呼び出すには、クライアント資格情報をSystem.ServiceModel.Description.ClientCredentials
.
これは私が持っているC#コードです:
var serviceClient = new InvestmentServiceV1Client.InvestmentServiceV1Client();
foreach (ClientCredentials behaviour in serviceClient.Endpoint.Behaviors.OfType<ClientCredentials>())
{
(behaviour).UserName.UserName = USERNAME;
(behaviour).UserName.Password = PASSWORD;
break;
}
これは私がこれまでに持っているF#コードです:
let client = new service.ServiceTypes.InvestmentServiceV1Client()
let xxx = client.Endpoint.Behaviors
|> Seq.choose (fun p ->
match box p with
:? System.ServiceModel.Description.ClientCredentials as x -> Some(x)
_ -> None)
|> (System.ServiceModel.Description.ClientCredentials)p.UserName.UserName = USERNAME
F# に相当するものはありますか、それともSystem.Linq.Enumerable.OfType<T>
raw を使用する必要がありOfType<T>
ますか?