API Documentation RunningExamples server.get possible server items PHP

Aus EUserv Wiki

Wechseln zu: Navigation, Suche

back to API Documentation



//includes the class library
$xmlrpc_internalencoding = 'UTF-8';


//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
    //creates a value of type struct which contains an array with the username and password
    new xmlrpcval

        //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'),

  //----------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
  //----------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"
    //returns the faultCode and the faultString
    return $error = array ( 'faultCode' => $response->faultCode(), 'faultString' => $response->faultString());
  //destroys "client"
  //destroys "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
    //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);

  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);
  //counts the arraykeys, the number of arraykeys will be used in the do-while construct
  $anzahlkeys = count($datenkeys);
    //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>";
  echo "faultCode: ".$result['faultCode']." faultString: ".$result['faultString'];