My Aruba controller has been configured to be accessed via XML API. I am using a PHP script to get data from the controller via XML API.
I am referring this document to create my xml api request.
http://www.arubanetworks.com/techdocs/ArubaOS_63_Web_Help/Content/ArubaFrameStyles/XML_API/Using_the_XML_API_Server.htm
As per the document, I have created my request as follows: ---- But I am getting “504 Gateway timed out” error. Can you please validate my API request and please help me to troubleshoot the issue.
https://<controller-ip/auth/command.xml
$xml='<aruba command="user_query"> <macaddr>xx:xx:xx:xx:xx:xx</macaddr> <key>Key generated while setting up the controller
for XML API</key>
<version>1.0</version> </aruba>';
// Initialize cURL
$curl = curl_init();
$url = "https://<controller-ip/auth/command.xml";
// set URL and other appropriate options
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/xml','Authorization: Bearer XML API key generated while setting up XML API));
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
// This sets the number of fields to post
curl_setopt($curl,CURLOPT_POST, sizeof($xml));
// This is the fields to post in the form of an array.
curl_setopt($curl,CURLOPT_POSTFIELDS, $xml);
//execute the post
$result = curl_exec($curl);
$info = curl_getinfo($curl);
echo curl_getinfo($ch) . '<br/>';
echo curl_errno($curl) . '<br/>';
echo curl_error($curl) . '<br/>';
curl_close($curl);