我正在使用CakePHP编写一个使用来自Web服务的数据的应用程序。 webservice API告诉我需要将我的POST DATA作为XML发送,如下所示:
<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 :(得分:0)
使用CakePHP中的HttpSocket将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);