Bekijk Volledige Versie : API Script Transip.nl
Hallo allemaal,
Ik heb het API script van transip.nl gedownload en heb de configuratie doorgelezen en ben aan de slag gegaan. https://www.transip.nl/pro/domein-registratie/api/ Ik heb de apisettings.php bewerkt met de juiste gegevens. In een ander documentje de HASH uitgevoerd Nu krijg ik dat nummer Maar mijn vraag is wat moet ik daar nu mee? Waar moet ik die tussen zetten. Vanaf daar loop ik helemaal vast ik heb de hash al in de apisettigs,php gezet en dan kom ik op een blanco pagina. Wie kan mij verder helpen.
Als ik de apisettings aan de praat krijg kan ik dan gewoon de domeincheck enzo gebruiken?
alvast bedankt.
- de hash moet onderaan in ApiSettings.php
public static $hash = 'HIER';
- Als je verder in je TransIP control panel de instellingen* goed hebt staan, kun je inderdaad gebruik maken van de domeincheck, maar ook de andere functies die TransIP mogelijk heeft gemaakt.
* In je TransIP panel: instellingen > Uw reseller opties: API
Probeer dan eens om bijvoorbeeld het bestand DomainService-checkAvailability.php in je browser te openen, en zie of het werkt. Indien je foutmeldingen krijgt, laat het maar horen.
Ik heb nu dit:
<?php
/**
* This class holds the settings for the TransIP API.
*/
class Transip_ApiSettings
{
/**
* The mode in which the API operates, can be either:
* readonly
* readwrite
*
* In readonly mode, no modifying functions can be called.
* To make persistent changes, readwrite mode should be enabled.
*/
public static $mode = 'readwrite';
/**
* Your login name on the TransIP website.
*
*/
public static $login = 'delfos';
/**
* The authentication hash, md5('login:password@ip')
*/
public static $hash = 'Login:wachwoord@91.196.171.231';
}
?>
Of moet er bij $hash = 'hashnummer83832383' staan?
Edit
Ik ben er van uitgegaan dat je het 'nummer' bedoelde nu krijg ik de volgende melding:
Fatal error: require_once [function.require]: Failed opening required 'Transip/DomainService.php' (include_path='.:/usr/local/lib/php') in /home/ibum/domains/ibum.nl/public_html/
Terwijl dit bestand wel geupload staat.
marsipulami
26/11/09, 18:41
iets als dit moet het zijn:
/**
* The authentication hash, md5('login:password@ip')
*/
public static $hash = 'jhgjg4jh5gjhg345jh5jh67yk67jh';
Dat heb ik nu gedaan, als je nu naar DomainService-checkAvailability.php gaat krijg je de volgende melding:
Fatal error: require_once [function.require]: Failed opening required 'Transip/DomainService.php' (include_path='.:/usr/local/lib/php') in /home/ibum/domains/ibum.nl/public_html/
Zoals hier je kunt zien: http://www.ibum.nl/transip/DomainService-checkAvailability.php
goconnected
26/11/09, 19:05
Je draait je website op een linux bak? Je weet namelijk dat linux een verschil ziet in hoofdletters en kleine letters? Probeer je required bestand "Transip/..." te veranderen naar "transip/...".
Dit maakt geen verschil...
Het lijkt erop dat het bestand niet op de server staat, of het verkeerde bestand wordt aangeroepen in een verkeerde map.
No such file or directory in /home/ibum/domains/ibum.nl/public_html/transip/DomainService-checkAvailability.php on line 2
Wat staat er bij line 2 ?
Dit staat er in regel 2:
require_once('Transip/DomainService.php');
Kijk even goed of of je in je FTP ook daadwerkelijk die map Transip hebt staan.
Stuur me anders een pm met je msn/email, dan help ik je wel even :)
Je draait je website op een linux bak? Je weet namelijk dat linux een verschil ziet in hoofdletters en kleine letters? Probeer je required bestand "Transip/..." te veranderen naar "transip/...".
Binnen de TransIP api wordt alles goed aangeroepen. Je moet dus niet Transip in transip gaan veranderen, want dan werkt het niet meer op een linuxbak.
Probleem opgelost. Het lag aan de mappenstructuur.
Mijn dank gaat uit naar Moc die ons goed geholpen heeft.
Het is nog niet opgelost. Als je naar de volgende link gaat http://http://www.ibum.nl/transip/domeincheck.php?domain=testibum.nl Dan heb ik al een domeinnaam ingevuld zolas je ziet is dat testibum.nl
Dan krijg je de volgende foutmeldingen:
Warning: SoapClient::SoapClient() [soapclient.soapclient]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/ibum/domains/ibum.nl/public_html/transip/Transip/DomainService.php on line 48
Warning: SoapClient::SoapClient(https://api.transip.nl/wsdl/?service=DomainService) [soapclient.soapclient]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/ibum/domains/ibum.nl/public_html/transip/Transip/DomainService.php on line 48
Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "https://api.transip.nl/wsdl/?service=DomainService" in /home/ibum/domains/ibum.nl/public_html/transip/Transip/DomainService.php on line 48
Hij kan de gegevens niet aanroepen lijkt wel
Dit staat er op line 48
self::$_soapClient = new SoapClient(self::WSDL, $options);
self::$_soapClient->__setCookie('login', Transip_ApiSettings::$login);
self::$_soapClient->__setCookie('hash', Transip_ApiSettings::$hash);
self::$_soapClient->__setCookie('mode', Transip_ApiSettings::$mode);
Maar die gegevens kloppen echt in ApiSettings.php
Heb je de API in het TransIP controlepaneel wel geactiveerd?
Blokkeer je niet de uitgaande poort?
Bij de API Settings op transip.nl, heb ik API geactiveerd en mijn wachtwoord ingesteld.
Ik heb ook nu een vraag liggen bij transip.nl
Yourwebhoster
27/11/09, 10:56
Je firewall blokkeerd waarschijnlijk de poort 443, hierdoor kan er geen verbinding gemaakt worden met transip. Dit verklaard ook waarom het laden zo lang duurt, hij weet niet dat de poort geblokkeerd is en blijft wachten op een response totdat de timeout komt.
Hoe kan ik deze poorten uitzetten, en betekend dat mijn klanten dit dan ook krijgen?? Want dat is totaal niet handig..
Yourwebhoster
27/11/09, 11:39
Ik heb het over de firewall op de server;), niet bij je thuis...
edit: Of waar dan ook...:)
dus ik moet ervoor zorgen dat op mijn server de poort 443 open staat, dan moet het opgelost zijn?
Yourwebhoster
27/11/09, 11:42
dus ik moet ervoor zorgen dat op mijn server de poort 443 open staat, dan moet het opgelost zijn?
Sowieso moet je die poort hebben als je een eigen ssl verbinding hebt, dus zowel ingaand als uitgaand moet je open hebben op poort 443.
Staan die niet standaard open??
Yourwebhoster
27/11/09, 11:44
Staan die niet standaard open??
Dat is aan jou, als jij een firewall er op hebt staan wat wel zou moeten dan zou je hem goed moeten configureren.
Heb je een eigen server? Zoja, welk panel draai je en welke tool gebruik je voor iptables waarschijnlijk?
Yourwebhoster
27/11/09, 11:47
Dan zou je je hoster hierover moeten vragen. Volgens mij is het gewoon de firewall die het simpelweg blokkeerd, heb dit namelijk ook gehad toen een soap script verbinding wilde maken naar een 16 nogwat poort, die had ik geblokkeerd staan en dan werkt het niet...
Je weet niet precies welke poort het is en waarvoor? Dan kan ik dat doorgeven.
alvast bedankt!
Yourwebhoster
27/11/09, 11:52
Je weet niet precies welke poort het is en waarvoor? Dan kan ik dat doorgeven.
alvast bedankt!
Komt misschien verwarrend over, maar had met de 16 nogwat over mij toen ik hierachter kwam. De server draaide op een andere poort, maar dit is verder niet relevant voor transip.
Zoals ik al in meerdere posts schreef gaat het om post 443, dit is namelijk de SSL poort.
Mijn hoster krijgt deze fout:
An error occurred: Wrong API credentials (bad hash); called from IP 91.196.171.231
Dan is er iets met de settings?? Maar hoe kan je die nu wel krijgen?
Yourwebhoster
27/11/09, 12:00
Mijn hoster krijgt deze fout:
An error occurred: Wrong API credentials (bad hash); called from IP 91.196.171.231Dan is er iets met de settings?? Maar hoe kan je die nu wel krijgen?
Zucht... in de documentatie staat uitgebreid hoe je het moet doen, zelfs een leek zou bij het goed lezen van de documentatie dit moeten kunnen uitvoeren.
De hash is voor een bepaald IP gegenereerd. Als dit IP wijzigt moet je de hash dus opnieuw genereren. Dit had je kunnen weten als je de documentatie gelezen had.
Ik heb het ipadres niet veranderd
EDIT: Ik ga er even naar kijken , wat er nou mis is gegaan en alles even opnieuw instellen.
Bedankt
Yourwebhoster
27/11/09, 12:07
Ik heb het ipadres niet veranderd
Controlleer je gegevens, maak de hash gewoon opnieuw aan. Neem natuurlijk niet letterlijk de hash over die gegeven is in het voorbeeld, maar maak een php document op de webserver met het volgende:
<?php
echo md5("username:password@ip");
Om maar even toe te lichten: vervang username door je gebruikersnaam, password door je wachtwoord en ip door de server ip.
Open dit document van je server, de output is je hash, voer deze in de API en verwijder het net aangemaakte document.
Nogmaals, dit had je geweten als je de documentatie doorgelezen had.
Voor de zekerheid maar even:
<?php
echo md5("username:password@ip");
?>
Let er overigens wel op, dat je uitkijkt met knippen en plakken, zowel voor het maken van de hash als de gegenereerde hash in de API file plakken.
Je zou niet de eerste zijn die er een spatie achter heeft staan waardoor de hash niet goed is. (zie je veel voorbij komen op php forums).
Klopt, dat ik dit had kunnen weten ik heb het zo ook gedaan. Het blijkt dat het ipadres niet klopte wat ik had ingevuld. Vandaar de error, ik heb het ipadres veranderd de hash toegevoegd in het bestand ApiSettings.php en nu werkt het.
Toch bedankt voor je hulp.
Yourwebhoster
27/11/09, 12:20
Klopt, dat ik dit had kunnen weten ik heb het zo ook gedaan. Het blijkt dat het ipadres niet klopte wat ik had ingevuld. Vandaar de error, ik heb het ipadres veranderd de hash toegevoegd in het bestand ApiSettings.php en nu werkt het.
Toch bedankt voor je hulp.
Succes ermee, ik zou zeggen controlleer voortaan direct zoiets dat scheelt wachten;)
Was het trouwens de 443 poort die nou dicht zat of??