begin process at 2010 02 10 00:49:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

passer un type Stream comme paramère dans un Service Web


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

passer un type Stream comme paramère dans un Service Web

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales