begin process at 2012 05 28 10:02:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

Service web - Renvoyer plusieurs VARIABLES


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

Service web - Renvoyer plusieurs VARIABLES

lundi 9 mai 2005 à 13:38:12 | Service web - Renvoyer plusieurs VARIABLES

cyberice67

Bonjour,

J'ai créé une procedure à l'intérieur de mon service web qui recoit plusieurs variables (byval) et j'aimerai pouvoir renvoyer ces variables modifiée a l'application utilisant ce service. (J'ai essayé un passage par référence mais ca n'a rien donné... en gros ce qu'il me faut c'est mettre mes variable en entrée/sortie).

Voici le code de mon service:


    <WebMethod()> Public Sub PSCAvaleur(ByVal i As Integer, ByVal PrenP As String, ByVal Sexe As String, ByVal Classe As String, ByVal Autorise As Integer)
        Dim cmdset As New SqlClient.SqlCommand
        Dim compteur As Integer

        cmdset.Connection = cnn
        cmdset.CommandType = CommandType.StoredProcedure
        cmdset.CommandText = "PSCAvaleur"
        cnn.Open()

        Dim Reader As SqlClient.SqlDataReader = cmdset.ExecuteReader

        compteur = 0
        While compteur <> i
            Reader.Read()
            PrenP = Reader.GetString(0)
            Sexe = Reader.GetString(1)
            Classe = Reader.GetString(2)
            Autorise = Reader.GetInt32(3)
            compteur = compteur + 1
            Reader.Read()
        End While


    End Sub





Et voici l'appel à partir de mon application web :

MonService.PSCAvaleur(1,PrenP.Text,Sexe.Text,Classe.Text,0);




MERCI D'AVANCE


Cyberice
lundi 9 mai 2005 à 14:00:44 | Re : Service web - Renvoyer plusieurs VARIABLES

jesusonline

Membre Club Administrateur CodeS-SourceS
<WebMethod>public function add(i as integer, j as integer) as double 
   return i + j
end function


ca va pas ca ?

par ByRef, c'est possible que ca merde, mais je suis pas sur de moi, peut etre du à la facon, dont un service web est géré en SOAP


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
lundi 9 mai 2005 à 14:10:23 | Re : Service web - Renvoyer plusieurs VARIABLES

Yopyop

Réponse acceptée !
re,

tu as le choix pour ca.... tu peux par example faire une fonction qui te renvoie un dataset .. ou autre...
dans l'example qui suit, je renvoie une arraylist

<WebMethod()> Public Function PSCAvaleur(ByVal i As Integer, ByVal PrenP As String, ByVal Sexe As String, ByVal Classe As String, ByVal Autorise As Integer) as Arraylist
        Dim sResults as Arraylist = new Arraylist()
        Dim cmdset As New SqlClient.SqlCommand
        Dim compteur As Integer

        cmdset.Connection = cnn
        cmdset.CommandType = CommandType.StoredProcedure
        cmdset.CommandText = "PSCAvaleur"
        cnn.Open()

        Dim Reader As SqlClient.SqlDataReader = cmdset.ExecuteReader

        compteur = 0
        While compteur <> i
            Reader.Read()
            arrResults(0) = Reader.GetString(0)
            arrResults(1) = Reader.GetString(1)
            arrResults(2) = Reader.GetString(2)
            arrResults(3) = Reader.GetString(3)
            compteur = compteur + 1
            Reader.Read()
        End While

      return arrResults
    End Function


Att. je ne mets que des string dans l'arraylist..
...
je ne comprends pas trop l'intérêt de ta boucle ..??
yopyop
lundi 9 mai 2005 à 14:11:41 | Re : Service web - Renvoyer plusieurs VARIABLES

Yopyop

Dim sResults as Arraylist = new Arraylist()
=>
Dim arrResults as Arraylist = new Arraylist()


yopyop
lundi 9 mai 2005 à 19:01:09 | Re : Service web - Renvoyer plusieurs VARIABLES

cyberice67

Merci Jesusonline et YopYop pour votre aide, je vais testé ça ce soir :)

ta réponse m'a fait rire Jesus, ca parait si évident quand j'la lis :D Faudra que je test...

Pour répondre à ta question Yep Yep la boucle sert à aller sur l'enregistrement numéro X (X étant la valeur de la variable INDEX que l'on passe en parametre). Si t'as un système D plus simple ?
j'ai pensé à faire :

while compteur < i
  MonReader.read()
wend

puis affecter les valeurs...

MERCI ENCORE

Cyberice

lundi 9 mai 2005 à 19:51:20 | Re : Service web - Renvoyer plusieurs VARIABLES

cyberice67

JesusOnline,

J'ai un petit problème avec ta solution... Voici ce que j'ai tenté :


<WebMethod()> Public Function PSCAvaleur(ByVal i As Integer, ByVal PrenP As String, ByVal Sexe As String, ByVal Classe As String, ByVal Autorise As Integer) As double

Dim cmdset As New SqlClient.SqlCommand
Dim compteur As Integer

cmdset.Connection = cnn
cmdset.CommandType = CommandType.StoredProcedure
cmdset.CommandText = "PSCAvaleur"
cnn.Open()

Dim Reader As SqlClient.SqlDataReader = cmdset.ExecuteReader

compteur = 0
While compteur <> i
   Reader.Read()
   PrenP = Reader.GetString(0)   'renvoie CHRIS
   Sexe = Reader.GetString(1)     'renvoie M
   Classe = Reader.GetString(2) ' renvoie 2TIGD
   Autorise = Reader.GetInt32(3) 'renvoie 1
   compteur = compteur + 1
   Reader.Read()
End While

Return PrenP + Sexe + Classe + Autorise

End Function



Quand j'execute il me dit :



System.InvalidCastException: Cast de la chaîne "CHRISm2tigd" en type 'Double' non valide. ---> System.FormatException: Le format de la chaîne d'entrée est incorrect.
   at Microsoft.VisualBasic.CompilerServices.DoubleType.Parse(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.DoubleType.FromString(String Value, NumberFormatInfo NumberFormat)
   --- Fin de la trace de la pile d'exception interne ---
   at Microsoft.VisualBasic.CompilerServices.DoubleType.FromString(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.DoubleType.FromString(String Value)
   at AP4.Service1.PSCAvaleur(Int32 i, String PrenP, String Sexe, String Classe, Int32 Autorise) in d:\inetpub\wwwroot\AP4\Service1.asmx.vb:line 153



Cyberice
lundi 9 mai 2005 à 20:00:43 | Re : Service web - Renvoyer plusieurs VARIABLES

jesusonline

Membre Club Administrateur CodeS-SourceS
t'as compris ma solution ???

l'erreur vient de cette ligne et c'est évident !

Return PrenP + Sexe + Classe + Autorise

PrenP, Sexe, Classe, sont de type string tu lui rajoutes un integer

heureusement VB.net est trés gentil !!!

mais aprés le type de la fonction est double, et on peut pas, caster des string en double ...

pour faire comme je t'ai dit, il faut changer le type, mettre comme l'a dit YopYop, un arraylist, ou un dico ou meme une string concatené ...  


petite remarque, niveau optimisation, t'as mis Sexe as string, jusqu'a preuve du contraire, il n'y a que deux cas possible, donc met plutot un boolean, ou au pire un integer ...



Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
lundi 9 mai 2005 à 20:47:39 | Re : Service web - Renvoyer plusieurs VARIABLES

cyberice67

Oui maintenant je vois c'que tu voulais dire :)

Ce que j'avais en tete de faire c'est l'entrée/sortie => modifié les valeur qui sont pointées par les variable transmisent en parametre directement en mémoire... mais j'pense pas qu'un service web accepte ca...

Sinon comme tu me l'as conseillé j'ai essayé de mettre en place un ArrayList et ca marche très bien sauf que lorsque je recupére l'arraylist de ma fonction (contenu ds les service web), il ne veut pas me l'affectée. En clair ca donne :



                //appel de PSCAvaleur => Renvoie un ArrayList
                    ArrayList MonArray = new ArrayList();
                    MonArray = MonService.PSCAvaleur(1);

Il me met "Impossible de convertir implicitement le type 'object[]' en 'System.Collections.Arraylist'

Un peu con comme truc vu que j'affecte une fonction retournant un arraylist à une variable local de mon application web qui se trouve etre aussi une Arraylist..
Ps : mon service web est en vb.net et mon application web en ASP.net (mais bon ca doit pas venir de là vu qu'y'a SOAP entre les deux...)

Une idée ?
Merci pour ton aide antérieure...


Cyberice
lundi 9 mai 2005 à 20:49:46 | Re : Service web - Renvoyer plusieurs VARIABLES

cyberice67

Au fait sorry pour les fautes d'ortho-gramm, j'ai pas dormis depuis 24 heures et j'ai des alumettes dans les yeux pour pas m'endormir... :)

Cyberice
lundi 9 mai 2005 à 21:07:19 | Re : Service web - Renvoyer plusieurs VARIABLES

jesusonline

Membre Club Administrateur CodeS-SourceS
asp.net n'est pas un langage, mais une technologie, on peut utiliser asp.net avec tout les langages .net C# etc...

ton problème à l'air un problème de casting donc en C# ca donne 

                    ArrayList MonArray = new ArrayList();
                    MonArray = [ArrayList]MonService.PSCAvaleur(1);


normalement c'est bon.

PS : pour les fautes, t'inquietes meme moi au réveil, j'en fait ;)


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr

1 2

Cette discussion est classée dans : web, compteur, service, reader, cmdset


Répondre à ce message

Sujets en rapport avec ce message

Consommer Web Service [ par hermes84 ] Bonjour,je voudrais pouvoir consommer un web service en ASP. Je dois transférer des données d'une page ASP vers un service web tournant sous JBoss. Je Tester le fonctionnement d'un web service SOAP [ par Quiddit ] Bonjour à tous,J'ai une petite question, j'utilise un web service soap depuis une page ASP. J'aurais aimé savoir si il y a moyen de contrôler si le se executer um .exe dans um web service [ par nborges ] hello,j´essaye d´executer un .exe à partir d´un web service, je ne sais pas quelle est la fonction a uliser..j´ai essayer call...start..mais cela ne f Comment accèder à une classe sur un serveur (Web Service) ? [ par digital3d ] J'ai donc un Web Service sur le serveur, le web service s'appelle "toto.asmx", à côté du web service, j'ai créer une classe appelé "tutu.cs". (désolé [vb.net + web service] Achitecture de l'application ? [ par gregorian ] Bonjour, Voila je vais commencer une application qui utilise les web services. Cette appli se fait en plusieures couches 1 graphique utilisateur qui a Fonctionnement des Services Web [ par matlocker ] Bonjour à tous,Je decouvre actuellement les services Web et il y a un point que je ne comprends. Je m'explique. Par exemple je souhaite créer un servi ajout reference web [ par kikoff ] bon j'ai un soucis au niveau d'un ajout de reference web sousvisual studio .NET 2002 (FrameWork 1.0 MDAC 2.8)j'ai une solution comprenant deux projet Comment ajouter pour une WebMethod d'un Web Service d'autre paramètres ? [ par digital3d ] Bonjour,Je ne sais pas si je m'exprime bien mais je viens du monde C# WinForms et je débute en Web Service, je ne trouve pas et ne comprends pas pourq Acces au Web Service [ par urchon ] je veux developper un Web Services pour un Intranet j'ai donc Créé un fichier asmx  qui marche tres bien lorsque je le teste localment j'ai donc créer ASP et Web Services [ par jlesausse ] Bonjour,Un Web Service me permet de récupérer un flux au format XML via un Web Service.Je n'ai que l'URL me permettant d'accéder au service.Methode po


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,638 sec (4)

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