Appel d'un service web qui requiert des informations d'identification: Erreur: Un jeton de sécurité est nécessaire

Quand j'essaie d'appeler un [Java] web service à partir d' .NET, je suis arriver à ce qui semble être une informations d'identification de sécurité problème.

CWWSS5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.

Est-il même de ramasser les informations d'identification que je suis en train de passer? À ce stade, je veux juste prendre contact avec le service web et l'accès. Dans mon exemple, ServiceReference1 est généré classe proxy Web.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    Dim myLocateProfileBySourceSystemId As New ServiceReference1.locateProfileBySourceSystemId

    Dim myLocateProfileBySourceSystemIdRequestType As New ServiceReference1.LocateProfileBySourceSystemIdRequestType

    myLocateProfileBySourceSystemIdRequestType.includeEmailAddress = True

    myLocateProfileBySourceSystemId.locateProfileBySourceSystemId1 = myLocateProfileBySourceSystemIdRequestType

    System.Net.ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf ValidateRemoteCertificate)

    Dim myNetworkCredential As New System.Net.NetworkCredential
    myNetworkCredential.UserName = "MyUsernameGoesHere"
    myNetworkCredential.Password = "MyPasswordGoesHere"

    Dim myWebProxy As New WebProxy()
    myWebProxy.Credentials = myNetworkCredential
    WebRequest.DefaultWebProxy.Credentials = myNetworkCredential

    Dim myIndividualProfileSoapClient As New ServiceReference1.IndividualProfileSoapClient
    Dim myLocateProfileBySourceSystemIdResponse As ServiceReference1.locateProfileBySourceSystemIdResponse = myIndividualProfileSoapClient.locateProfileBySourceSystemId(myLocateProfileBySourceSystemId)

End Sub

Private Shared Function ValidateRemoteCertificate(ByVal sender As Object,
                                              ByVal certificate As X509Certificate,
                                              ByVal chain As X509Chain,
                                              ByVal policyErrors As SslPolicyErrors) As Boolean    
     ' allow any old dodgy certificate...
     Return True

End Function

Ce que mon Application.Paramètres de configuration de l'être?

            <security mode="Transport">
                <transport clientCredentialType="None" proxyCredentialType="None"
                    realm="" />
                <message clientCredentialType="UserName" algorithmSuite="Default" />
            </security>
  • Vous devriez être en mesure d'ajouter les informations d'identification comme une propriété de l'objet myIndividualProfileSoapClient
  • Cet objet a un ClientCrdedentials propriété est de type System.ServiceModel.Description.ClientCredentials. Il dispose d'un constructeur sans paramètre, mais le nom d'utilisateur et le mot de passe des propriétés de cet objet sont en lecture seule. Comment puis-je créer cet objet?
InformationsquelleAutor ChadD | 2011-12-20