Support:

0800 638 287 0

Mo-Fr. 10-18 Uhr (Kostenfrei aus dem deutschen Festnetz)

Netcup VCP Webservice

Aus netcup Wiki

Wechseln zu: Navigation, Suche

SOAP WebService

Inhaltsverzeichnis

Web Service Methods

WSDL: https://www.vservercontrolpanel.de/WSEndUser?wsdl

getVServers

Parameter:

loginName = Loginname
password = Password

Return:

Strings []

startVServer

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

WebServiceSimpleResult

stopVServer

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

WebServiceSimpleResult

getVServerState

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

String [online|offline]

getVServerLoad

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

String load (1min, 5min, 15min)

getVServerUptime

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

String uptime in seconds 

getVServerProcesses

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

String

getVServerIPs

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

String[]

getFirewall

Parameter:

loginName : Loginname
password : Password
vserverName : String

Return:

FilterObject[]

addFirewallRule

Parameter:

loginName : Loginname
password : Password
vserverName : String
rule  : FilterObject[]

Es empfiehlt sich möglichst viele Regeln auf einmal hinzuzufügen, da dies die Skriptlaufzeit erheblich reduziert.

Return:

WebServiceSimpleResult

deleteFirewallRule

Parameter:

loginName : Loginname
password : Password
vserverName : String
rule  : FilterObject[]

Es empfiehlt sich möglichst viele Regeln auf einmal zu löschen, da dies die Skriptlaufzeit erheblich reduziert.

Return:

WebServiceSimpleResult

Web Service Objects

WebServiceSimpleResult

success : boolean
message : String

Sobald der Request erfogreich war, ist "success" wahr. Wenn "success" unwahr ist, so steht in der message eine entsprechende Fehlermeldung.

FilterObject

id : String (interne ID)
direction : String (INPUT | OUTPUT)
proto : String (any|tcp|udp|icmp)
target : String (ACCEPT|REJECT|DROP)
srcIP : String (IPv4 oder IPv6 IP)
srcPort : String (1-65535)
destIP : String (IPv4 oder IPv6 IP)
destPort : String (1-65535)
match : String (STATE|ICMP|LIMIT)
matchValue  : String ([NEW,ESTABLISGED,RELEATED]|ICMP Code|Limit value)
srcPortRange : String (Wenn gesetzt, dann muss der Wert größer sein als srcPort)
destPortRange : String (Wenn gesetzt, dann muss der Wert größer sein als destPort)
sort : String
valid : String (regel ist gültig)

Beim anlegen benötigte Parameter:

direction, target, srcIP oder destIP

Beim anlegen ungültige Parameter:

valid, id

PHP Klasse

<?php

ini_set('default_socket_timeout',360);
class VcpWebServiceEndUser {

	private $wsdl_url = 'https://www.vservercontrolpanel.de/WSEndUser?wsdl';
    private $soap_client;
	private $loginname;
	private $password;

	public function getArrayFrom2DWebServiceStringArray($webServiceResultArray) {
		$phpArray = array();
		foreach ($webServiceResultArray->return as $globalArray) {
			$phpArray[$globalArray->item[0]] = $globalArray->item[1];
		}
		return $phpArray;
	}

    function __construct($loginname, $password) {
		$this->loginname = $loginname;
		$this->password = $password;
		$this->soap_client = new SOAPClient($this->wsdl_url, array('cache_wsdl' => 0));
		// TODO error if no connection to soap server ...
    }

	/**
	 *
	 * @param String $vserverName needed
	 * @return String if action deleteVServer successfully started return actionId else return errorMessage
	 */
	public function getVServers() {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
			);

			$getVServerResult = $this->soap_client->getVServers($params);

            return $getVServerResult->return;

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}

	/**
	 *
	 * @param String $vserverName needed
	 * @return String
	 */
	public function getVServerState($vserverName) {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName
			);

			$startVServerResult = $this->soap_client->getVServerState($params);

			return $startVServerResult->return;

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}
	/**
	 *
	 * @param String $vserverName needed
	 * @return String
	 */
	public function getVServerLoad($vserverName) {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName
			);

			$startVServerResult = $this->soap_client->getVServerLoad($params);

			return $startVServerResult->return;

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}
	/**
	 *
	 * @param String $vserverName needed
	 * @return String
	 */
	public function getVServerUptime($vserverName) {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName
			);

			$startVServerResult = $this->soap_client->getVServerUptime($params);

			return $startVServerResult->return;

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}
	/**
	 *
	 * @param String $vserverName needed
	 * @return String[]
	 */
	public function getVServerIPs($vserverName) {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName
			);

			$startVServerResult = $this->soap_client->getVServerIPs($params);

			return $startVServerResult->return;

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}

    /**
	 *
	 * @param String $vserverName needed
	 * @return String if action deleteVServer successfully started return actionId else return errorMessage
	 */
	public function startVServer($vserverName) {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName
			);

			$startVServerResult = $this->soap_client->startVServer($params);

			if ($startVServerResult->return->success) {
				return $startVServerResult->return->exceptionMessage;
			} else {
				if ($startVServerResult->return->exceptionMessage != NULL) {
					return $startVServerResult->return->exceptionMessage;
				} else {
					return "undefined error";
				}
			}

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}

	/**
	 *
	 * @param String $vserverName needed
	 * @return String if action deleteVServer successfully started return actionId else return errorMessage
	 */
	public function stopVServer($vserverName) {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName
			);

			$stopVServerResult = $this->soap_client->stopVServer($params);

			if ($stopVServerResult->return->success) {
				return $stopVServerResult->return->exceptionMessage;
			} else {
				if ($stopVServerResult->return->exceptionMessage != NULL) {
					return $stopVServerResult->return->exceptionMessage;
				} else {
					return "undefined error";
				}
			}

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}

	/**
	 *
	 * @param String $vserverName needed
	 * @return String if action deleteVServer successfully started return actionId else return errorMessage
	 */
	public function getFirewall($vserverName) {

		try {

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName
			);

			return$this->soap_client->getFirewall($params);

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}

	/**
	 *
	 * @param String $vserverName needed
	 * @return String if action deleteVServer successfully started return actionId else return errorMessage
	 */
	public function addFirewallRule($vserverName, $direction, $proto, $srcip, $srcport, $srcportrange, $destip, $destport, $destportrange, $match, $matchvalue, $target) {

		try {

  			$rule_params = array(
                'direction' => $direction, // string needed
                'proto' => $proto, // string needed
                'srcIP' => $srcip,
                'srcPort' => $srcport,
                'destIP' => $destip,
                'destPort' => $destport,
                'match' => $match,
                'matchValue' => $matchvalue,
                'srcPortRange' => $srcportrange,
                'destPortRange' => $destportrange,
                'target' => $target,
                'valid' => false,
                'id' => 0,
			);

			$params = array(
				'loginName' => $this->loginname,
				'password' => $this->password,
				'vserverName' => $vserverName,
                'rule' => array($rule_params),
			);

			return $this->soap_client->addFirewallRule($params);

		} catch (Exception $e) {
			return "Exception occured: " . $e->getMessage();
		}
	}
}

?>

PHP Anwendungsbeispiele

getVServers

$vcpWebServiceEndUser = new VcpWebServiceEndUser("<VCPLOGINNAME>", "<VCPLOGINPASSWORD>");
var_dump($vcpWebServiceEndUser->getVServers());
Meine Werkzeuge
Namensräume
Varianten
Aktionen
netcup
Webhosting
vServer
F.A.Q.
Sonstiges