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