PHP SoapClient 请求 - 数组结构

PHP SoapClient Request - Array Structure

我已经成功地使用 PHP 和 SoapClient 将请求传递给使用数组的第三方 API。通过转储来自 SoapClient 的请求,将 XML 数据传递给 API.

现在我遇到了 <extendedData> 所需的 XML 结构,我在作为数组传递时遇到了问题;

<TypeID>int</TypeID>
<FooID>int</FooID>
<BarID>int</BarID>
<extendedData>
    <Service_CreateFields>
        <FieldName>my string 1</FieldName>
        <FieldValue>my string 2</FieldValue>
        <Comments>my string 3</Comments>
    </Service_CreateFields>
    <Service_CreateFields>
        <FieldName>my string 4</FieldName>
        <FieldValue>my string 5</FieldValue>
        <Comments>my string 6</Comments>
    </Service_CreateFields>
</extendedData>

我尝试了以下数组,但它无法生成包含两个或更多 <Service_CreateFields>

的 XML 请求
$data = array(
    "TypeID" => "11",
    "FooID" => "22",
    "BarID" => "33",
    "extendedData" => array(
        "Service_CreateFields" => array(
                "FieldName" => "my string 1",
                "FieldValue" => "my string 2",
                "Comments" => "my string 3",
            ),
            "Service_CreateFields" => array(
                "FieldName" => "my string 4",
                "FieldValue" => "my string 5",
                "Comments" => "my string 6",
            ),
    ),
);

有没有人有这方面的经验?

尝试将每个 child 包装在它自己的数组中:

$data = array(
    "TypeID" => "11",
    "FooID" => "22",
    "BarID" => "33",
    "extendedData" => array(
        "Service_CreateFields" => array(
            array(
                "FieldName" => "my string 1",
                "FieldValue" => "my string 2",
                "Comments" => "my string 3",
            ),
            array(
                "FieldName" => "my string 4",
                "FieldValue" => "my string 5",
                "Comments" => "my string 6",
            )
        )
    )
);