Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : passer un type Stream comme paramère dans un Service Web [ Mono / Général ] (Verrisan)

mercredi 31 octobre 2007 à 15:07:53 | passer un type Stream comme paramère dans un Service Web

Verrisan

Membre Club
Bonjour tout le monde,

j'ai un Service Web A dans lequel j'ai une méthode "put" qui a les paramètres suivants:

put(Stream param1, string param2, string param2)

J'ai un autre Service Web B qui fait référence au Service Web A et dans lequel j'utilise la méthdoe put(....). dans laquelle je passe les paramètres suivants:
----------

System.IO.

FileStream file = new System.IO.FileStream(@"C:\test.xml", FileMode.Open, FileAccess.Read);

XmlNode

res = A.put(file,"","");
---------

Lorsque je compile, j'ai les erreurs suivantes qui apparaît:

Erreur 1 La méthode surchargée correspondant le mieux à 'refA.A.put(refA.FileStream, string, strig)' possède des arguments non valides...
Erreur 2 Argument '1' : impossible de convertir de 'System.IO.FileStream' en 'refA.FileStream'...

Est-ce que quelqu'un sait comment je peux faire que FileStrem de la méthode put du Service Web A, soit consiféré comme un System.IO.FileStream et non comme refA.FileStream?

Par avance merci pour votre aide!

Cédric

mercredi 31 octobre 2007 à 15:31:59 | Re : passer un type Stream comme paramère dans un Service Web

TheSaib

Administrateur CodeS-SourceS
Passe un table de byte[] pour envoyer un fichier par webservice.

Un binaryReader sur ton filestream te renverra un tableau de byte ensuite dans ton webservice tu utilise un memorystream qui remplira ton FileStream.

::|The S@ib|::
MVP C#.NET

jeudi 1 novembre 2007 à 10:13:54 | Re : passer un type Stream comme paramère dans un Service Web

Verrisan

Membre Club

Salut TheSaib,

J'ai suivi ton conseil et j'ai écris ceci dans mon code:

FileStream st = File.OpenRead(@"C:\test.xml");
byte[] stByte = new byte[st.Length];
st.Read(stByte, 0, int.Parse(st.Length.ToString()));

XmlNode res = A.put(stByte,"","");

Le problème est que j'ai le message d'erreur suivant qui apparaît:

System.Web.Services.Protocols.SoapException: Une exception s'est produite lors de l'exécution des extensions spécifiées dans le fichier de configuration. ---> System.Web.HttpException: Longueur maximale de la demande dépassée. à System.Web.HttpRequest.GetEntireRawContent() à System.Web.HttpRequest.get_InputStream() à System.Web.Services.Protocols.SoapServerProtocol.Initialize() --- Fin de la trace de la pile d'exception interne --- à System.Web.Services.Protocols.SoapServerProtocol.Initialize() à System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)

Cela signifie que mon fichier XML est trop grand, est-ce que tu saurais comment on peut déclarer un paramètre Stream de type System.IO dans une méthode d'un Service Web?

Par avance, je te remercie pour ton aide!

Cédric


jeudi 1 novembre 2007 à 14:04:45 | Re : passer un type Stream comme paramère dans un Service Web

TheSaib

Administrateur CodeS-SourceS
Celà n'a pas de sens de passer un stream dans un webservice.

Pour passer des data plus grandes tu peux soit augmenter le maxRequestLength dans ton web.config :
<httpRuntime>maxRequestLength ="8192"</httpRuntime>
Soit utiliser WSE 3.0 :

[ Lien ]


::|The S@ib|::
MVP C#.NET

mardi 6 novembre 2007 à 00:06:21 | Re : passer un type Stream comme paramère dans un Service Web

TheSaib

Administrateur CodeS-SourceS
So ?

::|The S@ib|::
MVP C#.NET

mardi 6 novembre 2007 à 08:02:24 | Re : passer un type Stream comme paramère dans un Service Web

Verrisan

Membre Club
Salut TheSaib,

Désolé, mais j'ai quelques autres problème urgents ces derniers jours, mais j'espère ou demain au plus tard, que j'aurai du temps pour tester ton conseil.
Dans tous les cas, je te redonnerai des nouvelles,..

A+

Cédric

mardi 6 novembre 2007 à 18:04:53 | Re : passer un type Stream comme paramère dans un Service Web

TheSaib

Administrateur CodeS-SourceS
No problème, c'est simplement pour pouvoir clôturer les threads, afin que ceux qui cherchent la même info sachent que le problème à été résolu.


::|The S@ib|::
MVP C#.NET

mardi 13 novembre 2007 à 07:54:23 | Re : passer un type Stream comme paramère dans un Service Web

Verrisan

Membre Club
Réponse acceptée !
Salut TheSaib,

oui je n'ai plus de message d'erreur, lorsque j'ajouter le paramètre <httpRuntime maxRequestLength=9000></httpRuntime>

Je te remercie beaucoup pour ton aide!

Cédric



Cette discussion est classé dans : web, system, service, io, filestream


Répondre à ce message

Sujets en rapport avec ce message

Web Service et problème de type [ par nicoloyo ] Bonjour, J'ai créé un web service "MonWebService" et une méthode "System.IO.Stream GetMonStream()" Dans le client j'y accède de cette façon: localh récupérer des infos sur un site [ par trezegol ] Bonjour,je voudrais faire un web service qui retourne des informations sur un site web donné à partir de son adresse IP un peu ccomme le fait ce site Problème d'acces aux fichiers dans mes documents à partir d'un Serice Web [ par maximelamure ] Bonjour,J'ai développé un service web qui permet d'acceder aux fichiers present sur  mon disque. Le pb est que je ne peux acceder aux fichiers present XML, XSL et Date [ par creanova2000 ] Bonjour ,J'essaye de faire une xml transormation en utilisant un fichier xsl Tout Fonctionne sauf une chose qui n'est pas bien C'est que les date sont info sur le web service [ par loyba ] Bonjour a tous,Voila, je dois faire une application qui reccupere le nombre d'utilisateurs connecter a un web service et l'utilisation en memoire de c Ouvrir un document Word avec C# [ par virgul ] Bonjour,J'ai lu avec attention tout vos article sur comment ouvrir word mais je ne trouve pas comment faire avec un Webservice.En faite j'ai un fichie problème dans la décompression d'un répertoire compressé [ par mohamed_bn ] med belhassenj'ai utilisé ce petit programme que j'ai trouvé sur ce site dans mon application web. il permet de décompresser les fichiers zips.mais le Problème connexion base de données ACCESS [ par adomarle ] Bonjour,Je cherche à me connecter à ma base de données ACCESS, de cette manière : protected void Ses [Web Service] syncronisation entre listbox et dataset [ par zelastwarrior ] bonjour, j'ai développé un web service qui me retourne un dataset dans mon application locale (une liste de contacts). Une fois le dataset recu, je récupérer un dataset d'un web service dans form [ par habbouba ] Bonjour à vous tous, mon prob c que je vous manipuler une base de données on utilisant les webservices, alors j’ai créé mon application sur Windows fr


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.