Serialisation et deserialisation

Bonjour a tous

J'arrive a voir la serialisation et la deserialisation coter serveur j ecris dans un fichier le texte mais coter client je ne sais pas comment faire.
Qqun a t il une idee???
merci d'avance a tout le monde.
seb

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Dans quel langage ?

    Qu'est-ce qui tourne côté client ?
    Une applications complète, un navigateur, une applet, un autre type de client ?
    1. bin pour l instant je suis en "mode test" lol
      je le fais en vb.net
      en fait voila:
      le client envoie un chiffre au serveur et le serveur repond en envoyant du texte et ce meme chiffre.
      j arrive a recuperer le texte serialiser avant que le serveur le recoive puis qd il le reserialise (la reponse.)
      moyennement clair!! dsl
      et de ce fait je souhaite recuperer les données identique coter client.
      apres que le client ai serialiser et au moment ou il le recoit avant de deserialiser.
      voila .
      j ai eu une info ou on me disait d utiliser le fichier reference.vb.

      coter serveur j ai fait un fichier qui permet d enregistrer dans un fichier les données.
      coter client j ai voulu faire le meme script mais il me dit "impossible d utiliser un attribut avec 'mafonction'"

      voila le pbm
      sais tu le resoudre ou passer outre???
      merci bien!!!

      Merci d'avance
      Séb
      1. Modérateur
        Le client est un EXE développé en VB.Net, c'est ça ?
        1. Modérateur
          Il ne devrait pas y avoir de soucis.

          Je veux dire: les méthodes utilisées pour sérialier et désérialiser est en principe la même sur le client et le serveur, non ?
          1. bin ouais je sais mais la ya pbm.
            voila comment je fais sur le serveur :
            le serveur web est donc sur une page. il s y trouve la fonction pour renvoyer le texte que je t avais dit.
            dans une autre classe j ai mis le code avec la fonction "ProcessMessage"
            qui appelle aussi SoapMessageStage.AfterSerialize et SoapMessageStage.BeforeDeserialize. ce sont les deux que j'utilise.

            et j appelle cet classe grace a :

            <SoapDisplayExtension( ), WebMethod(Description:="renvois du texte dans la reponse")> ......

            SoapDisplayExtension etant la page ou se trouve la nouvelle class.

            voila et en fait dans ce cas il y a une nouvelle class. chez le client cette nouvelle classe n y est pas le serveur "ne l envois pas" donc pas moyen de l'apeler chez le client tu sais comment faire toi???
            1. Modérateur
              Je n'ai jamais trop bricolé avec SOAP, désolé.

              Il faudrait googler un petit peu.
              1. ouais meme un peu bcp car j ai pas trop trouver d infos. mais bon ca vient petit a petit merci qd meme!!!
                1. sinon je pense que ca a un rapport tu connais bien les attributs???
                  c est quoi ca exactement???
                  c est bien ce qui permet d envoyer des fonctions aux clients???
                  peut tu m expliquer comment faire pour envoyer plusieurs class par ca???
                  ...
                  merci!!!
                  1. Modérateur
                    Salut.

                    Non désolé, je n'ai pas trop touché à SOAP, je ne pourrai pas te guider dans ce domaine.
                    1. alors dit moi as tu toucher aux attributs???

                      car en faite j ai reussi a recuperer les message serialiser avant la deserialisation et apres la serialisation coter serveur et client.
                      c est ok
                      le seul probleme c est que pour le cote client, il faut toucher au fichier reference.vb.
                      et ca je ne le souahite pas car il est generer automatiquement qd on on fait une mise a jour du service web.
                      alors voila ma fonction dans reference.vb

                      <SoapDisplayExtension(), System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://monserveur/GetMessage", RequestNamespace:="http://monserveur/", ResponseNamespace:="http://monserveur/", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)> _
                      Public Function GetMessage(ByVal ID As String) As String
                      Dim results() As Object = Me.Invoke("GetMessage", New Object() {ID})
                      Return CType(results(0), String)
                      End Function

                      voila la "bête" !!! lol
                      bon en faite c est juste soapdisplayextension que je souhaite bouger. c est juste ca que j ecris pour qu il soit executé avant d aller sur le serveur.

                      as tu une idee???? ou sais tu comment faire???
                      merci d avance.
                      seb