API Documentation RunningExamples server.get possible server items PHP
Aus EUserv Wiki
Version vom 08:15, 3. Sep. 2012 bei Root (Diskussion | Beiträge)
back to API Documentation
<?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']; } ?>