Hi Guys,
I am working on one php/xml file.
Its php code that interacts with dodora api (www.dodora.com)
My code is executing well but its not receving a valid response (that what i belive)
below is the info:-
XML API:
Check Domain
This is first step to any domain creation is checking for its availability. This command allows
you to check the domain availability before registering it. The sample check domain command
request xml is as shown below:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE registry-request SYSTEM "RegistryRequest.dtd">
<registry-request>
<credentials username="dodora" password="dodora"/>
<commands>
<check-domain>
<domain tld="com" sld="dodora-test-case-1"/>
<domain tld="us" sld="dodora-test-case-1"/>
<domain tld="biz" sld="dodora-test-case-1"/>
<domain tld="name" sld="dodora.test-case-1"/>
<domain tld="info" sld="dodora-test-case-1"/>
</check-domain>
</commands>
</registry-request>
And the corresponding xml response will be of the following type:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE registry-request SYSTEM "RegistryResponse.dtd">
<registry-response>
<responses>
<response command-name=”check-domain” object-type=”domain” object-name=”dodora-test-case-1.com”
status="success">
<protocol name="RRP" returncode="210">Domain name available</protocol>
<user-message>Check Domain dodora-test-case-1.com Successful.</user-message>
<command-info>
<info>Domain dodora-test-case-1.com Not Available.</info>
</command-info>
</response>
<response command-name=”check-domain” object-type=”domain” object-name=”dodora-test-case-1.us”
status="success">
<protocol name="XRP" returncode="1000">Command completed successfully</protocol>
<user-message>Check Domain dodora-test-case-1.us Successful.</user-message>
<command-info>
<info>Domain dodora-test-case-1.us Available.</info>
</command-info>
</response>
<response command-name=”check-domain” object-type=”domain” object-name=”dodora-test-case-1.biz”
status="success">
<protocol name="XRP" returncode="1000">Command completed successfully</protocol>
<user-message>Check Domain dodora-test-case-1.biz Successful.</user-message>
<command-info>
<info>Domain dodora-test-case-1.biz Available.</info>
</command-info>
</response>
<response command-name=”check-domain” object-type=”domain” object-name=”dodora.test-case-1.
name” status="success">
<protocol name="EPP" returncode="1000">Command completed successfully</protocol>
<user-message>Check Domain dodora.test-case-1.name Successful.</user-message>
<command-info>
<info>Domain dodora.test-case-1.name Not Available.</info>
</command-info>
</response>
<response command-name=”check-domain” object-type=”domain” object-name=”dodora-test-case-1.
info” status="success">
<protocol name="EPP" returncode="1000">Command completed successfully</protocol>
<user-message>Check Domain dodora-test-case-1.info Successful.</user-message>
<command-info>
<info>Domain dodora-test-case-1.info Available.</info>
</command-info>
</response>
</responses>
</registry-response>
my php code:-
<?php
include "xmlize.inc";
include "traverse.inc";
// classes needed by response
include "authinfo.inc";
include "commandinfo.inc";
include "contact.inc";
include "contactinfo.inc";
include "defensiveregistration.inc";
include "defensiveregistrationinfo.inc";
include "domaininfo.inc";
include "emailforwarding.inc";
include "emailforwardinginfo.inc";
include "errorlist.inc";
include "host.inc";
include "hostinfo.inc";
include "nameservers.inc";
include "namewatch.inc";
include "namewatchinfo.inc";
include "notification.inc";
include "protocolresponse.inc";
include "response.inc";
include "registrynameresolver.inc";
include "responsekeygenerator.inc";
include "responsereader.inc";
include "responses.inc";
include "timeperiod.inc";
include "trademark.inc";
include "transferinfo.inc";
include "whoisresponsereader.inc";
include "whoisresponse.inc";
include "whoiscommandinfo.inc";
include "whoiserrorresponse.inc";
include "whoisdomainresponse.inc";
include "whoiscontactresponse.inc";
include "whoisnameserverresponse.inc";
include "whoisbrandinginfo.inc";
include "whoisdomaininfo.inc";
include "whoisdomaincontact.inc";
include "whoisdomainstatus.inc";
include "whoisdomainnameserver.inc";
include "whoisnameserverip.inc";
include "checkdomaininfo.inc";
include "checkdefensiveregistrationinfo.inc";
include "checkemailforwardinginfo.inc";
include "whoisquerybuilder.inc";
include "brandinginfo.inc";
include "registryrequest.inc";
include "credentials.inc";
include "commands.inc";
include "registrycommand.inc";
include "infocontact.inc";
include "contactobject.inc";
include "infohost.inc";
include "checkhost.inc";
include "hostobject.inc";
include "createhost.inc";
include "updatehost.inc";
include "domain.inc";
include "checkdomain.inc";
include "createdomain.inc";
include "createcontact.inc";
include "checktransferdomain.inc";
include "infodomain.inc";
include "renewdomain.inc";
include "transferdomain.inc";
include "requesttransfer.inc";
include "transferobject.inc";
include "updatedomain.inc";
include "checkdefensiveregistration.inc";
include "createdefensiveregistration.inc";
include "updatedefensiveregistration.inc";
include "transferdefensiveregistration.inc";
include "renewdefensiveregistration.inc";
include "deletedefensiveregistration.inc";
include "infodefensiveregistration.inc";
include "createemailforwarding.inc";
include "checkemailforwarding.inc";
include "checktransferemailforwarding.inc";
include "deleteemailforwarding.inc";
include "deletedomain.inc";
include "infoemailforwarding.inc";
include "renewemailforwarding.inc";
include "transferemailforwarding.inc";
include "updateemailforwarding.inc";
include "createnamewatch.inc";
include "checktransfernamewatch.inc";
include "deletenamewatch.inc";
include "renewnamewatch.inc";
include "transfernamewatch.inc";
include "updatenamewatch.inc";
include "query.inc";
include "whois.inc";
// classes of transport-manager
include "httpchannel.inc";
include "httpschannel.inc";
include "channel.inc";
include "transportfactory.inc";
//============== initilizing variables ==================
$gsUsername = "icsinc";
$gsPassword = "dodo1560";
$gsCgiUrl = "https://regserv5.dodora.com/cgi-bin/sandboxapi.cgi";
$gsDomain = "test.com";
$gsTLD = "com";
$gsSLD = "test123";
//============== end of initilizing variables ==================
//======== user's password and pw is fixed ============
$gcAuthInfo = new AuthInfo("pw",$gsPassword);
$gcContactAuthInfo = new AuthInfo("pw",$gsPassword);
//============== credentials ==================
$gcCredentials = new Credentials();
$gcCredentials->hasUsername();
$gcCredentials->setUsername($gsUsername);
$gcCredentials->getUsername();
$gcCredentials->hasPassword();
$gcCredentials->setPassword($gsPassword);
$gcCredentials->getPassword();
$gcCredentials->hasPassword();
//============== end of credentials ==================
//======== Adding these RegistryCommand to Commands ===========
$gcRegistryRequest = new RegistryRequest();
//========= Channel Communication ===============
$gcTransportFactory = new TransportFactory();
$gcTransportFactory->setChannelType("http");
$gcChannel = $gcTransportFactory->getChannel();
$gcChannel->setCGI_URL($gsCgiUrl);
//======== open a Response-Reader object for handling the XML-data ===========
$gcResponseReader = new ResponseReader();
$gcKeyGenerator = new ResponseKeyGenerator();
//========= registration time period ===============
// $gcTimePeriod = new TimePeriod("Y","2");
//========= check domain ===============
$gcCreateDomain = new CheckDomain("com","test123");
//============= add domain ===============
$gcDomain = new Domain($gsTLD,$gsSLD);
$gcCreateDomain->addDomain($gcDomain);
//============= adding check domain command and sending that command ===============
$gcRegistryRequest->addCommand($gcCreateDomain);
$gcRegistryRequest->setCredentials($gcCredentials);
echo $gcRegistryRequest->toXML();
$gcChannel->send($gcRegistryRequest->toXML());
if (!$gcChannel->$mbIsSuccessful)
{
//======== error in submitting form ==============
echo "<br><b> ErrorMessage: </b>".$gcChannel->getCurlError();
}
else
{
//======== no error in submitting form ==============
echo "<br><b> Success: </b>";
$xsPos = strspn($gcChannel->receive(), "Error");
if ($xsPos != 0)
echo "<p><br><p>Error: unable to create socket: 'Connection refused'.<p><br><p>";
else
{
echo "<p><br><p>Socket Connnected.<p><br><p>";
//======== parsing response ==============
$gcResponseReader->parseResponse($gcChannel->receive());
$xsResponseKey = $gcKeyGenerator->generateResponseKey("check-domain",$gsDomain,"domain");
$xbResponseStatus = $gcResponseReader->hasResponses();
if ($xbResponseStatus)
{
echo "/////";
}
else
{
echo "<br>Invalid Response...<br>";
}
//======== end of parsing response ==============
}//no error in response
}//end of no error in submitting form
?>
Response after executing code, i am getting is:-
Success:
Socket Connnected.
Invalid Response...
Am i missing something guys ???
Thanks
Tarak