Ich bin gerade dabei ein Script zu erstellen was Produkte für die Kunden anlegt bzw. deren zuweist. Für dieses Vorhaben gibt es ja die SOAP Schnittstelle und „HostingSubscriptionAdd“. Die setzt allerdings die „customerid“ voraus, die ich ja durch „CustomerGet“ herausbekommen kann. Allerdings bekomme ich es nicht hin (egal was ich da irgendwie versuche) die „customerid“ herauszubekommen. Habt ihr eine Idee was in dem Script falsch ist? Der gibt einfach immer ein Nullwert aus und so lässt sich das Produkt nicht zuweisen ..
PHP
<?php
# _ _ ___ __ _ (R)
# | | (_)_ _____ / __|___ _ _ / _(_)__ _
# | |__| \ V / -_) (__/ _ \ ' \| _| / _` |
# |____|_|\_/\___|\___\___/_||_|_| |_\__, |
# |___/
# Copyright (c) 2009-2011 Keppler IT GmbH.
# ----------------------------------------------------------------------------
# server/tests/SoapTest.php
# $Id: SoapTest.php 1284 2012-01-25 10:36:14Z kk $
#
# SOAP Test suite
# ----------------------------------------------------------------------------
# Configuration parameters:
$user = 'admin';
$pass = 'dasPasswort';
$url = 'https://liveconfig-test.blabla.de:8443/liveconfig/soap';
ini_set("soap.wsdl_cache_enabled", "0");
$subscriptionname = $argv[1];
$customerid = $argv[2];
$plan = $argv[3];
$server = $argv[4];
$mailserver = $argv[5];
$dbserver = $argv[6];
# Construct WSDL URL
$wsdl_url = $url
.'?wsdl'
.'&l=' . urlencode($user)
.'&p=' . urlencode($pass);
# Create SOAP client
$client = new SoapClient($wsdl_url,
array('style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL,
)
);
try {
# -----------------------------------------------------------------------
# get customer
# -----------------------------------------------------------------------
$params = array('auth' => createToken('CustomerGet'),
'cid' => $customerid
);
$response = $client->CustomerGet($params);
$customer_id = $response->id;
print "Customer-ID: $customer_id\n";
# -----------------------------------------------------------------------
# add subscription
# -----------------------------------------------------------------------
$params = array('auth' => createToken('HostingSubscriptionAdd'),
'subscriptionname' => $subscriptionname,
'customerid' => $customer_id,
'webserver' => $server,
'plan' => $plan,
'mailserver' => $mailserver,
'dbserver' => $dbserver
);
$response = $client->HostingSubscriptionAdd($params);
$contact_id = $response->id;
print "Contact-ID: $contact_id\n";
} catch (SoapFault $soapFault) {
# print_r($soapFault);
die("Error while calling Web Service: " . $soapFault->faultstring . "\n");
}
# ----------------------------------------------------------------------------
# Create Token
# ----------------------------------------------------------------------------
function createToken($fn, $cust=NULL) {
# Construct SOAP token:
global $user;
global $pass;
$ts = gmdate("Y-m-d") . "T" . gmdate("H:i:s") . ".000Z";
if ($cust != NULL) {
$token = base64_encode(hash_hmac('sha1',
'LiveConfig' . $user . $fn . $ts . $cust,
$pass,
true
)
);
} else {
$token = base64_encode(hash_hmac('sha1',
'LiveConfig' . $user . $fn . $ts,
$pass,
true
)
);
}
$auth = array('login' => $user,
'timestamp' => $ts,
'token' => $token,
'customer' => $cust);
return($auth);
}
?>
Alles anzeigen