2013-01-18 54 views
0

我正在使用CakePHP編寫從Web服務中使用數據的應用程序。該Web服務API告訴我,我需要把我的POST數據作爲XML,像這樣:如何將XML格式的POST數據發送到CakePHP的外部URL

<Request> 
    <Key>abcd123</Key> 
    <Param1>myval</Param1> 
</Request> 

我如何使用CakePHP做到這一點嗎?我曾嘗試這樣的事情:

echo $this->Form->create(Model, array('url' => 'https://myprovider/API/myuserid')); 
echo $this->Form->input('Key', array('value'=> 'abcd123')); 
echo $this->Form->input('Param1', array('value'=> 'myval')); 
echo $this->Form->end('Submit'); 

但我怎麼能在我提交之前將POST數組轉換爲xml?

提前許多感謝,

克里斯

+0

你要找的關鍵谷歌的詞是 「Web服務客戶端」。我希望您需要爲特定的Web服務找到/提供WSDL。 – Gus

回答

0

使用HttpSocket CakePHP中發送POST數組作爲XML

App::uses('HttpSocket', 'Network/Http'); 
App::uses('Xml', 'Utility'); 
$http = new HttpSocket(); 
$http->configAuth('Basic', 'user', 'password'); //optional, if needs authentication 
$xml_data = Xml::fromArray($this->request->data); 
$xml_string = $xml_data->asXML(); 
$http->post('https://myprovider/API/myuserid', $xml_string); 
+0

謝謝,這解決了我的問題 – user1988877

相關問題