Pré authentifier demande de service web en C#

Je vais avoir un problème avec l'appel d'une demande de service web en C#.

Le service et la demande fonctionnent très bien dans le Savon de l'INTERFACE utilisateur avec l'option "s'Authentifier de manière préventive" enabled (Fichier, Préférences, Paramètres HTTP). Sans ce paramètre est activé, le service retourne un 'Java.Lang.NullPointerException'.

Le problème que je rencontre est que je ne sais pas comment faire pour activer ce paramètre en C# contexte.

J'ai un .NET 3.5 bibliothèque de classe qui détient une référence de service pour le service spécifique. C'est un simple extrait de code;

try
{
    CatalogService.CatalogChangeClient service = new CatalogService.CatalogChangeClient();
    service.ClientCredentials.UserName.UserName = "fancydress";
    service.ClientCredentials.UserName.Password = "47fda9cb4b51a9e";
    service.ClientCredentials.SupportInteractive = true;

    ProductUpdate[] products = new ProductUpdate[1];
    products[0] = new ProductUpdate();
    products[0].ProductCode = "00001";
    products[0].ProductDescription = "TestProduct";

    string result = service.UpdateProducts(products);
}
catch (Exception exception)
{
    Console.WriteLine(exception.Message);
}

Mise à jour après la première réponse.

La CatalogService.CatalogChangeClient classe semble pour mettre en œuvre la WCF classe abstraite

System.ServiceModel.ClientBase<TChannel>

Mise À Jour De Fin

Quelqu'un pourrait-il m'aider à définir cette propriété?

s'il vous plaît montrer plus de code esp. l'interface CatalogService.CatalogChangeClient met en œuvre
Il semble être la mise en œuvre du Système.ServiceModel.ClientBase classe à partir de la WCF: public partial class CatalogChangeClient : Système.ServiceModel.ClientBase<Fancydress.ResourceAccess.MCSF.CatalogService.CatalogChange>, Fancydress.ResourceAccess.MCSF.CatalogService.CatalogChange
De ce que je comprends c'est un problème dans la .NET mise en œuvre, il envoie la demande et uniquement quand il fait un 401 de services renvoie à des informations d'Identification... votre WebService Java ne semble pas envoyer 401 - même si vous devez d'abord confirmer que c'est vraiment le cas (WireShark)... SI c'est le cas: pour contourner cela, je soupçonne que vous aurez à utiliser un autre client (proxy) qui peut être "trompé" en envoyant les informations d'identification de toujours...
Yahia, vous êtes sur place. À l'aide de WireShark, j'ai été en mesure de confirmer que le java webservice ne pas envoyer un 401. Donc oui, j'ai besoin d'un proxy qui va envoyer les informations d'identification toujours. Merci!

OriginalL'auteur Rob Maas | 2011-08-17