我已经生成了一些保存到文件中的XML。
Dummy_Order.xml
在下面的代码中,我想打开XML并在方法'ImpOrders'
中使用它这是我的代码
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$proxy = new SoapClient('http://soapclient/wsdl/Web?wsdl', array ('trace' => 1));
if (file_exists('Dummy_Order.xml')) {
$xml = file_get_contents('Dummy_Order.xml');
} else {
exit('Failed to open XML.');
}
$xmlstring = new SimpleXMLElement($xml);
$result = $proxy->ImportOrders($xmlstring);
var_dump($result);
echo "REQUEST:\n" . $proxy->__getLastRequest() . "\n";
?>
我在$ 0导入的0结果中获得了响应。所以我然后做了getLastRequest()并且它添加了Method中的代码但没有添加我的XML。它希望我的XML在一个字符串中 - 它当前所处的并且不是在抱怨它(如果我使用它就会呻吟 - &gt; asXML)。
我试过了
$result = $proxy->ImportOrders();
和
$result = $proxy->ImportOrders($xmlstring);
两者都在_getLastRequest中显示相同的结果,这让我相信我的字符串没有被插入。
当我使用_getFunctions检查函数时,它提供了这个...的信息。
ImportResult ImportOrders(string $Orders)
任何帮助都会很棒!
答案 0 :(得分:0)
好的,所以我解决了。我需要做的就是将我的答案包装在&lt;&lt;
如下所示。
$teststring = <<<XML
$xml
XML;
$result = $proxy->ImportOrders($teststring);
希望这可以帮助其他人使用PHP,SoapClient和XML。