24/7 Support (425) 274-4500 | Submit a Ticket | Who is my Reseller?

Why did my API Call Return an Empty Error String?

Article Number: KB

Product: API

Audience:eNom Reseller

Problem

Why did my API call return an empty error string?

Solution

Please note that the information provided in this article is presented as a courtesy as the result of the research of our Support Staff. eNom does not provide support on third-party software or web server configuration. If you require further information or assistance with this issue please contact the software provider.

When using third party API programs such as Plesk Billing, AWBS, and WHM Autopilot, some users experience errors with returned API function values that errors out and does not complete the transaction, but does not return an error code, and may look like the following:

--------------------------------------------------------------------------------

Failure

Error

Command:

RRPCode:

RRPText:

Total Errors:

[NOT OK]

--------------------------------------------------------------------------------

This is caused by a problem with CURL.

In order to use the CURL functions you need to install the CURL package. From PHP 4.3.0, you will need a CURL version that's 7.9.8 or higher. PHP 5.0.0 (still in beta) will most likely require a CURL version greater than 7.10.5 .

The basic idea behind the CURL functions is that you initialize a CURL session using the curl_init(), then you can set all your options for the transfer via the curl_setopt(), then you can execute the session with the curl_exec() and then you finish off your session using the curl_close().

CURL currently supports the http, https, ftp, gopher, telnet, dict, file, and ldap protocols. Libcurl also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading (this can also be done with PHP's ftp extension), HTTP form based upload, proxies, cookies, and user+password authentication.

Most of the third party API clients require CURL to be installed and compiled in apache in order for the API to function. Most of the problem comes as most distributions of Linux come with CURL 7.9-5 installed by default, when the program requries 7.10-5 to run and operate properly. Most of the API problems that are related to PHP functions are going to be from the wrong version of Curl, or improper installation of CURL on the Linux server.

To Determine if CURL is Installed:

  1. Command Line: Open a SSH or Telnet connection to the server.
  2. Command: which curl
  3. Expected output: /usr/bin/curl (Your path may vary.) Command: /usr/bin/curl -V Expected output: curl 7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6g) (Your version may vary, but must be enabled with SSL)

Alternatively, you can follow the instructions in the article, KB 1448 PHP Version Information - phpinfo().

If CURL is not installed, or not the correct version, CURL can be installed/upgraded on a Linux system with out having to recompile Apache by issuing the following commands:

Gzip Version:

  1. wget http://curl.haxx.se/download/curl-7.10.8.tar.gz (You can replace 7.10.8 with the version # you want)
  2. gzip -d curl-7.10.8.tar.gz
  3. tar -xvf curl-7.10.8.tar
  4. cd curl-7.10.8
  5. ./configure
  6. make
  7. make install

RPM Version:

  1. wget http://curl.haxx.se/download/curl-ssl-7.10.3-1.i386.rpm
  2. rpm -Uvh curl-ssl-7.10.3-1.i386.rpm

NOTE: Php_safemode must be off, and Register_globals must be on in the Php.ini file for CURL to work properly. This explanation only applies for distributions of Red Hat Linux.

More Information

 

Last Updated: October, 2015

 

Still looking for help? Call us at 1-425-274-4500 or click here to open a ticket online.