使用 node-soap 传递一个整数数组

Passing an array of ints with node-soap

本文关键字:一个 整数 数组 node-soap 使用      更新时间:2023-09-26

我正在将node-soap与服务一起使用并且一切正常,但是我需要发送一个整数数组,但我发现我只能发送第一个,因为我找不到构建JS对象来表示此数组的正确方法。

我一直在看类似的问题,但我找不到问题的答案。

我需要生成如下所示的 XML 属性:

<ns1:ArrayOfInts>
          <!--Zero or more repetitions:-->
          <arr:int>2904</arr:int>
          <arr:int>3089</arr:int>
          <arr:int>4531</arr:int>
</ns1:ArrayOfInts>

通过传递包含数组的对象:

soapObject = {
              somefields,
              "ns1:ArrayOfInts": {
                 Something goes here
              },
             };

知道如何创建JS对象吗?

我遇到了同样的问题,并使用$xml属性将原始XML添加到请求中,并attributes设置arr命名空间:

var fields = [2904, 3089, 4531];
soapObject.arrayOfInts = {
    attributes: {
        'xmlns:arr': 'http://schemas.microsoft.com/2003/10/Serialization/Arrays'
    },
    $xml: fields.map(function(value) {
        return '<arr:int>' + value + '</arr:int>';
    }).join('')
};

此代码将生成以下请求:

<ns1:arrayOfInts xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <arr:int>2904</arr:int>
    <arr:int>3089</arr:int>
    <arr:int>4531</arr:int>
</ns1:arrayOfInts>