IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Envoyer un tableau de double depuis une google app sur un web service


Sujet :

APIs Google

  1. #1
    Membre régulier
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Points : 77
    Points
    77
    Par défaut Envoyer un tableau de double depuis une google app sur un web service
    Bonjour,

    Je souhaite donc envoyer un vecteur de double depuis une application google spreadsheet pour en faire la somme :

    Le web service:

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <WebMethod()> _
        Public Function SumMat(iMat() As Double, n As Double, p As Double) As Double
            Dim i As Long
            SumMat = 0
            For i = 0 To n
                SumMat = iMat(i) + SumMat
            Next
        End Function

    Le prototype du message :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      <soap:Body>
        <SumMat xmlns="...">
          <iMat>
            <double>double</double>
            <double>double</double>
          </iMat>
          <n>double</n>
          <p>double</p>
        </SumMat>
      </soap:Body>

    Mon code google :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    function RunSum()
    {   
      var value1 = [[1],[2]];
     
      var n = 1;
      var p = 0;
     
      var wsdl = SoapService.wsdl("...");
     
      var xlFunction = wsdl.getService1();
     
      var param = Xml.element("SumMat", [
        Xml.attribute("xmlns", "..."),
        Xml.element("iMat", value1),
        Xml.element("n", [n]),
        Xml.element("p", [p])
      ]);
     
      var envelope = xlFunction.getSoapEnvelope("SumMat", param)
      Logger.log(envelope);
     
      var result = xlFunction.SumMat(param);
     
      Logger.log(result.Envelope.Body.SumMatResponse.SumMatResult.Text);
    }
    Et le log que j'obtiens :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <SOAP-ENV:Body><SumMat xmlns="...">
    <iMat>1.02.0</iMat>
    <n>1.0</n>
    <p>0.0</p>
    </SumMat>
    </SOAP-ENV:Body>

    J'ai remplacer le nom du serveur et autre par "...".

    Je bloque sur ça. Pourriez-vous m'aider s'il vous plaît ?

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Points : 77
    Points
    77
    Par défaut
    Finalement j'ai trouvé (par chance en essayant différentes combinaisons )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      var param = Xml.element("SumMat", [
        Xml.attribute("xmlns", "http://wsxl.cloudapp.net/"),
        Xml.element("iMat", [Xml.element("double",value1[0]), Xml.element("double",value1[])]),
        Xml.element("n", [n]),
        Xml.element("p", [p])
      ]);
    Voilà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/11/2012, 19h21
  2. Réponses: 6
    Dernier message: 16/08/2010, 11h12
  3. Réponses: 7
    Dernier message: 07/01/2009, 08h53
  4. Réponses: 3
    Dernier message: 18/07/2006, 13h37
  5. Réponses: 11
    Dernier message: 16/05/2006, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo