0

我正在使用 CakePHP 编写一个使用来自 web 服务的数据的应用程序。网络服务 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?

提前谢谢了,

克里斯

4

1 回答 1

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); 
于 2013-01-18T05:46:56.600 回答