PHP のビルトイン SOAP クライアントにはとてつもなくイライラしています。私がインターネットで読んだすべての投稿は、私が試したコードのすべてのバリエーションが機能するはずだと示唆しているようですが、どれも機能しません。これは私のコードの単純化されたバージョンの現在の状態ですが、他にもたくさんあります。
$soapClient = new SoapClient("uReachWebServices.wsdl", array(
"trace" => true,
"soap_version" => SOAP_1_2,
));
$auth = array(
"PartnerId" => "hidden_from_StackOverflow",
"Password" => "hidden_from_StackOverflow",
);
$parameters = array(
phoneNumber => array("PIN" => "XXXX", "_" = "XXXXXXXXXXX"),
);
$header = new SoapHeader("http://schemas.xmlsoap.org/soap/envelope", "Authentication", (object) $auth, false);
$soapClient->__setSoapHeaders($header);
try {
$soapClient->GetMailboxInfo((object) $parameters);
} catch (SoapFault $ex) {
ChromePhp::error($ex->getMessage());
ChromePhp::log($ex->getTraceAsString());
}
ChromePhp::log($soapClient->__getLastRequest());
ChromePhp::log($soapClient->__getLastResponse());
パラメータの次の出力を取得しようとしています...
<phoneNumber ns1:PIN="XXXX">XXXXXXXXXX</phoneNumber>
...しかし、私が試みるすべては、次のいずれかのようになります...
<phoneNumber />
...また...
<key>phoneNumber</key>
<value>xxxxxxxxxx</value>
...また...
<phoneNumber ns1:PIN="XXXX" />
...または私の個人的なお気に入り...
<param1><phoneNumber ns1:PIN="XXXX">XXXXXXXXXX</phoneNumber></param1>