Bonjour à tous! J'ai un problème des plus curieux qui me tient tête depuis maintenant plusieurs jours. J'ai un serveur avec Windows Server 2003 où toutes les mises-à-jours ont été installées. J'ai créé un site Web dans IIS pour me permettre d'accéder aux fonctionnalités d'un service WCF. J'ai donc créé un .svc pour me permettre d'utilisé mon WCF tout en bénéficiant de la sécurité de IIS. La connexion au site est effectuée par SSL sur le port par défaut et j'ai même un beau certificat dans la config de mon site pour permettre à tout ça de fonctionner correctement.
Pour ce qui est du client, c'est bien simple, c'est un programme console qui utilise les fonctions décrites dans le .svc. Jusqu'ici TOUT fonctionne. Je peux utiliser toutes les fonctions et je n'ai aucune erreur. L'une de mes fonctions possède un byte[] en paramètre et c'est ce qui cause mon problème si mystérieux. Je passe dans mon byte[] le contenu d'un fichier .pdf.
Cas 1: Fichier de 15 koDans un premier thread, je fais l'appel à ma fonction Test(byte[] _file). _file continent l'array de byte d'un fichier pdf de 15 ko Le programme me demande de choisir le certificat que je souhaite utiliser, ensuite il fait l'appel à ma fonction. Tout fonctionne comme un charme, et le fichier et créé sur mon poste serveur.
Cas 2: Fichier de 100koJe ferme mon application de test, et je recommence EXACTEMENT le même test, sauf que je remplace le fichier par un fichier de 100ko. Ça ne passe pas, il y a une erreur qui est générée:
{"An error occurred while making the HTTP request to https://trucchose/PubSub.svc. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server."}Cas 3 : Fichier de 15ko suivi d'un fichier de 100ko Encore une fois je ferme mon application, et je fais un test qui me parrait farfelu à première vue. Je fais mon premier appel avec mon fichier de 15ko, et le tout fonctionne. DANS LE MÊME THREAD, je fais ensuite l'appelle avec un fichier de 100ko et ça fonctionne!!!!
C'est ce troisième cas qui fait que je m'interroge, pourquoi le fichier de 100ko passe si une requête a été effectuée juste avant (dans le même thread).
Merci de votre aide!