node-soap 在结果中包含 nil 值

node-soap Including nil values in result

我正在使用 node-soap 连接到 SOAP API,并调用一个查询方法,该方法 returns 具有请求中指定字段的对象数组。但是,node-soap 返回的结果对象缺少字段具有空值的记录的属性,这些属性出现在原始响应中,如下所示:

<records>
    <x:Name>ABC Limited</x:Name>
    <x:Phone xsi:nil="true"/>
    <x:Website xsi:nil="true"/>
    <x:BillingCity xsi:nil="true"/>
</records>

...结果对象将包含:

{
    "Name": "Hyatt"
}

是否有一个选项或我可以用 node-soap 做些什么来将这些作为具有空值的属性包含在结果中?我正在考虑在之后传递对象数组并填充缺少的属性,但这似乎远非理想。

我刚刚向 node-soap 提交了一个 PR 以添加此功能。 https://github.com/vpulim/node-soap/pull/952

如果它被合并,你只需要在创建你的客户端时在你的wsdlOptions中传入returnNilAsNull: true。