API Documentation RunningExamples server.get possible server items PHP

Aus EUserv Wiki

Wechseln zu: Navigation, Suche

back to API Documentation

server.get_possible_server_items

 
<?php
//includes the class library
include_once("lib/xmlrpc.inc");
$xmlrpc_internalencoding = 'UTF-8';
$host="api.test.euserv.net";
$port=443;
$username="<API_USER>";
$password="<API_USER_PASSWORD>";
$api_path="/";
//defines the function
function server_get_possible_server_items($host,$port,$username,$password,$api_path)
{
//creates the serverurl
$serverurl = 'https://'.$host.':'.$port.'/'.$api_path;
//----------creates the message which will be send to the server----------
//creates the request for the XML-RPC Server
$request = new xmlrpcmsg('server.get_possible_server_items');
//adds parameters to the request
$request->addParam
(
//creates a value of type struct which contains an array with the username and password
new xmlrpcval
(
array
(
//creates a value of type string which contains the "$username"
'login' => new xmlrpcval($username, 'string'),
//creates a value of type string which contains the "$password"
'password' => new xmlrpcval($password, 'string'),
)
,'struct'
)
);
//----------creates the XML-RPC client which represent a client of an XML-RPC server----------
//creates the client
$client = new xmlrpc_client($serverurl);
//disable SSL Keycheck
$client->setSSLVerifyPeer(0);
//----------sends the request to the server and gets the response----------
//sends the request via https and writes it into $response. timeout is set to 0
$response = $client->send($request,0,'https');
//generates a storable representation of $response and writes it into $result_xml
//echo $response->serialize();
//checks the response. if the method "faultCode" returns zero, the response was succesfull
if (0==$response->faultCode())
{
//returns the value sent by the server
$value = $response->value();
//returns the actual PHP-language value of "value"
$result_obj = $value->scalarval();
//destroys "value"
unset($value);
}
else
{
//returns the faultCode and the faultString
return $error = array ( 'faultCode' => $response->faultCode(), 'faultString' => $response->faultString());
}
//destroys "client"
unset($client);
//destroys "response"
unset($response);
//----------reads the result_obj----------
//if result_obj is set then it returns the actual PHP-language value of "result_obj"
if (isset($result_obj['status']))
{
$value['status'] = $result_obj['status']->scalarval();
}
if (isset($result_obj['possible_server_items']))
{
//resets the internal pointer for structEach() to the beginning of the struct
$result_obj['possible_server_items']->structreset();
//reads the keys and values and list returns an array. if no keys and values are read out list returns no array and the
while-loop stops execution
while (list($keyname, $data) = $result_obj['possible_server_items']->structEach())
{
//gets the "server_items"
$data= $data->scalarval();
//reads the value of each member and writes it into an array
$server_items[$keyname]['item_id'] = $data['item_id']->scalarval();
$server_items[$keyname]['item_name'] = $data['item_name']->scalarval();
$server_items[$keyname]['item_net_amount'] = $data['item_net_amount']->scalarval();
$server_items[$keyname]['item_gross_amount'] = $data['item_gross_amount']->scalarval();
$server_items[$keyname]['item_net_setup_fee'] = $data['item_net_setup_fee']->scalarval();
$server_items[$keyname]['item_gross_setup_fee'] = $data['item_net_setup_fee']->scalarval();
$server_items[$keyname]['item_billing_period'] = $data['item_billing_period']->scalarval();
$server_items[$keyname]['item_contract_running_time'] = $data['item_contract_running_time']->scalarval();
}
//writes the array "server_list_data" into the array "value"
$value['possible_server_items'] = $server_items;
}
return $value;
}
//calls the function
$result = server_get_possible_server_items($host,$port,$username,$password,$api_path);
if(0==$result['faultCode'])
{
echo "Status: ".$result['status']."<br><br>";
//writes the array "server_details" into "daten"
$daten = $result["possible_server_items"];
//gets the array_keys(members) of "daten"
$datenkeys = array_keys($daten);
$k=0;
//counts the arraykeys, the number of arraykeys will be used in the do-while construct
$anzahlkeys = count($datenkeys);
do
{
//outputs the data
echo " <u>item_id:</u> ".$daten[$datenkeys[$k]]['item_id'];
echo " <u>item_name:</u> ".$daten[$datenkeys[$k]]['item_name'];
echo " <u>item_net_amount:</u> ".$daten[$datenkeys[$k]]['item_net_amount'];
echo " <u>item_gross_amount:</u> ".$daten[$datenkeys[$k]]['item_gross_amount'];
echo " <u>item_net_setup_fee:</u> ".$daten[$datenkeys[$k]]['item_net_setup_fee'];
echo " <u>item_gross_setup_fee:</u> ".$daten[$datenkeys[$k]]['item_gross_setup_fee'];
echo " <u>item_billing_period:</u> ".$daten[$datenkeys[$k]]['item_billing_period'];
echo " <u>item_contract_running_time:</u> ".$daten[$datenkeys[$k]]['item_contract_running_time'];
echo "<br>";
$k=$k+1;
}
while($k<$anzahlkeys);
}
else
{
echo "faultCode: ".$result['faultCode']." faultString: ".$result['faultString'];
}
?>