使用多個 SOAP 標頭時,如果使用 SoapVar 建立 SoapHeader,PHP 程式碼會直接終止(指令終止)。我不確定這是否為錯誤。
沒有 SoapVar 的情況下,程式碼對我來說可以正常運作。
建立 SoapHeader 有不同的方法,我使用的是 SoapVar,但程式碼無法運作。我對 SOAP 的東西仍然是新手。
嘗試使用一般的字串,它可以正常運作。SoapHeader 可以接受 SoapVar 或字串作為第三個參數。
我的程式碼
<?php
$var = new SoapVar($header, XSD_ANYXML);
$soapHeader = new SoapHeader(NAME_SPACE, "Security", $var);
$var2 = new SoapVar($header2, XSD_ANYXML);
$soapHeader2 = new SoapHeader(DIFF_NAME_SPACE, "ID", $var2);
$client = new SoapClient($wsdl, array("location" => $location));
$headers = array();
$headers[] = $soapHeader;
$headers[] = $soapHeader2;
$client->__setSoapHeaders($headers);
?>