msgbartop
Gossimer’s Premier Web Hosting and Domain Registration Knowledgebase.
msgbarbottom
    1. The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
       

      • enrollForThawteCertificate
      • reissue
      • renew
      • checkDigitalCertificateStatus
      • del
      • cancelDigicertOrder
      • changeDigicertPassword
      • addAdditionalLicenses
      • getDetails
      • getDetailsByDomain
      • getOrderIdByDomain

  • The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
     

  •  

    Changes in version 3.7

    1. Java Docs updated
       

    2. Changes related to classes and methods:

      Some old parameters have been removed and new parameters introduced in their place under the following methods  -

      LinuxHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

       

      WindowsHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

      MailHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*
      mod Hashtable orderHash String packagekey*, int additionalMailBoxes**
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, int additionalMailBoxes**
      getModPricing Hashtable orderParams String packageKey*, int additionalMailBoxes**

      SiteBuilder Class
      Method Old Parameter New Parameters
      mod Hashtable orderParams String packageKey*
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*
      NOTE:

      * packageKey will be the Identifier Key of the Plan (plan1, plan2, plan3, plan4) for which the Order needs to be added/modified.

      # ssl will be true or false depending whether the user wants Dedicated IP / SSL for the Order placed.

      ## excessBandwidth is the Bandwidth which the user wants over and above the Bandwidth of the Order’s current plan.


      **
      additionalMailBoxes is the number of additional mail boxes over and above the existing ones in blocks of 100 accounts.

       

    3. The following classes and their methods are removed:
       

      • LinuxHostingPlanOnlyOrder
      • WindowsHostingPlanOnlyOrder
      • MailHostingPlanOnlyOrder
      •  

    4. The SiteBuilderLite class has been renamed to SiteBuilder. 
    5. Two new methods, mod and signUp, have been introduced under the Reseller and Customer classes.
       
    6. The return type of the ListByType method of DomContact class in the Domains Kit has been changed to Hashtable from Vector.

     

    Changes in version 3.6

    1. Java Docs updated
       

    2. Changes related to classes and methods:
       

      • New methods have been added in the Core Kit under the following class:

      getProductMetadata – Product class
       

    3. New methods have been added in the Domains Kit under the following classes:getDefaultContactId – DomContactExt class
      listByType – DomContact class
      addTransferDomain – DomOrder class
      changePrivacyProtectionStatus – DomOrder class
      registerDomain – DomOrder class
       
    4. Changes to the DomOrder class in Domains Kit:
       

      1. Privacy Protection Handling is added in the bulkAdd and bulkAddTransferDomain methods.
         
      2. The ‘ns’ parameter has been removed from the validateDomainTransferParams method.
         
      3. The following methods in the Domains Kit are deprecated and their use should be discontinued:
        Deprecated method Class New method to be used
             
        add DomContact addContact
        addDefaultContact DomContact addDefaultContacts
        list DomContact listByType
        add DomOrder registerDomain
        transferDomain DomOrder addTransferDomain
        transferDomainWithoutValidation DomOrder addTransferDomain
        addTransferDomainWithoutvalidation DomOrder addTransferDomain
        add DotEu registerDomain in DomOrder class

         

        IMPORTANT

        While these methods are currently available, they are no longer supported and may be discontinued in the near future.

         

      4. New methods have been added in the Hosting Kit under the following class:getHostingMetaData – WebHostingOrderData class
         
      5. Changes to classes in the Hosting Kit:The invoiceOption parameter has been added to the add method of MailHostingPlanOnlyOrder, WindowsHostingPlanOnlyOrder and LinuxHostingPlanOnlyOrder classes
      6.  

    Changes in version 3.5

    1. Java Docs updated
       

    2. Changes related to classes and functions:
       

      • New functions have been added in the Core Kit under the following classes:

      getList – Country class
      getStateListForCountry – Country class
      getDetails – Order class
      addResellerWithStateId – Reseller class
       

    3. An extra option called Supersite is added in the getDetails function of the Reseller class in the Core Kit.
       
    4. A new class LegalAgreement is added with the following methods under the Core Kit:getRegistrantAgreement
      getProductCategory
      getAgreement
      getAllAgreements
       
    5. A new function has been added in the Domains Kit under the following class:addCoopContact – DotCoopContact class
       
    6. The following functions in the DomOrder class in the Domains Kit are changed to show the Invoice options also:validateDomainRegistrationParams
      validateDomainTransferParams
      addWithoutValidation
    7.  

    Changes in version 3.4

    1. Java Docs Updated
       

    2. New Classes introduced in all Kits:

    Changes in version 3.3

    Changes in version 3.2.1

    Changes in version 3.2

    Changes in version 3.1


    Changes in version

    3.0


    Changes in version 2.6


    Changes in version 2.5.1


    Changes in version 2.5


    Changes in version 2.4


    Changes in version 2.3


    Changes in version 2.2


    Changes in version 2.1


    Changes in version 2.0

    DomUsContact class

    New utility class Response class is introduced, which can be used for formatted output. The characteristics of the Response class are listed below:

    listContact() function

    getCustomerAvailableBalance() fuction

    getCustomerId() function

     

    Tags: , , , , , , , , , , , ,

    Filed in PHP API Kit with 0 Comments

    31 Aug 10 .NET API Kit and Integration Guide

    Follow the instructions below to begin integration with the API using .NET.

    Make sure you have read the General API Integration Instructions first. If you have already integrated the .NET API Kit at your end, read the Change Log first to know what has changed since.

    Reference:

    General API Integration Instructions >>
    Change Log >>

    Step 1. Download the API Kit
    Click the link below to download the relevant API kits (updated on 6th March, 2008).

    Option 1 – Setup Application

     

    NET_Core_Setup_v3_10.zip
    NET_Domains_Setup_v3_10.zip
    NET_Hosting_Setup_v3_10.zip
    NET_OtherProducts_Setup_v3_10.zip

     

    Option 2 – Compressed ZIP File

    NET_CoreExamples_v3_10.zip
    NET_DomainsExamples_v3_10.zip
    NET_HostingExamples_v3_10.zip
    NET_OtherProductsExamples_v3_10.zip
     

     

    Step 2. Download the API Documentation
    The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).

    Core_Docs_v3_10.zip
    Domains_Docs_v3_10.zip (updated on 1st April, 2008)
    Hosting_Docs_v3_10.zip
    OtherProducts_Docs_v3_10.zip
     

    Step 3. Install the API Kit
    There are two ways by which you may install the API Kit on your computer:

    Option 1 – Setup Application
    We recommend that you download, unzip and run the setup file. First, however, please be sure that you have administrator privileges to install applications on the computer. If you’re hosting your website with a third-party provider and do not have the rights to install applications, then you will not be able to use the setup application to install the kit. Therefore, you may manually install and use the required API files from our compressed ZIP file option (Refer to Option 2 below).

    The setup application will perform the following tasks:

       

    1.  A .NET dll containing the kit, and the relevant documentation, will be placed inside your “Program Files” folder; by default, the path would be “C:Program Files”. Therefore, you should be able to find the DLL and the documentation corresponding to your kit. Please ensure that you have the .NET runtime installed before you attempt to use the API kit.

    2. Relevant shortcuts will be placed in your start menu.

    3.  If you have Microsoft Internet Information Server version 5.0 or greater (IIS) installed, the setup file will create a virtual directory named as OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples in your “Default Web Site”. The setup file allows you to give the virtual directory any name of your choice. This virtual directory contains a Visual Studio .NET project called OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples, which illustrates every function provided in the OrderBox API. You may run the examples by either by:

      • Opening it in Visual Studio.Net and pressing the F5 key, or

      • Visiting the url http://localhost/examples/ in your browser.

     


    Option 2 – Compressed ZIP File
    Download the zip file and extract the files to any temporary folder. The temporary folder will now contain the following subfolders:

       

    1. OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples – The folder contains the example files to illustrate every method in the kit.
       

    2. bin – This folder contains the actual kit DLL file. This is a .NET DLL, and requires the .NET runtime to be pre-installed, for use.

     


    Installing the examples on your own computer:

       

    1. Create the Examples folder (OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples) inside the root of any website configured in IIS, on your computer. IIS contains a default website called “Default Web Site”, having it’s root folder set to “c:Inetpubwwwroot”. If you have a default installation of IIS, you would create a subfolder called “examples” inside that root folder. Please note that you may name the examples directory as you please, you are not restricted to the name OrderBoxCoreExamples , OrderBoxDomainsExamples, OrderBoxHostingExamples, OrderBoxOtherProductsExamples.
       

    2. Open the IIS management console by navigating to “Start > Programs > Administrative Tools > Internet Information Services”
       

    3. Now, we need to create an “Application Root” for the examples folder. This can be accomplished by opening the properties window for that directory and clicking on the “Create” button.

     

    If you successfully completed the above steps, you may open your browser and point it to http://localhost/examples (if you gave your examples folder some other name, replace the last word of the URL with that name).
     

    Step 4. Run the examples
    Please note first that the ASP.NET examples are provided solely to help illustrate usage of the ASP.NET Kit. You may use the example files directly, or simply use them as a reference project while developing your application to interface with the OrderBox API.
     

    IMPORTANT  

    IIS 5.0 and the .NET runtime MUST be installed on your machine, BEFORE you run the kit setup file.

     

     


    After you’ve installed the ASP.NET examples, open your browser, and point it to “http://localhost/your-examples-folder” (you may use the name given to the examples folder to replace “examples” in the preceding url). This shall open the ASP.NET examples webpage, which is divided into three frames:

     

    Step 5. Understanding Errors
    Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference:
    General API Integration Instructions >>
     

    Step 6. Writing your own code
    The API classes exist within the namespace OrderBoxCoreLib , OrderBoxDomainsLib, OrderBoxHostingLib, OrderBoxOtherProductsLib. The class named “Properties”, contains static variables useful for debugging, and changing the SOAP End Point.

    The following are valid end points for the OrderBox Demo Server:

    The following are valid end points for the OrderBox Live Server:

    Example: To test the examples, you must first create an account on the Demo server. To use the Customer webservices of the OrderBox API, instantiate the customer object as demonstrated below. If at any time the SOAP end point must be changed to some other url, you may simply put the new SOAP end point into this variable.

    Properties.Url = “http://soap-end-point”;

    The following code instantiates the Customer object. You may now use it’s methods to call various OrderBox API functions. These are SOAP calls, that will be made to the SOAP End Point specified by the Propeties.Url variable.

    Customer oCustomer = new Customer ();

    To illustrate the use of this object, we shall take the example of a method called getCustomerId. Examine the code snippet below. It uses an object of the Customer class to request the id of a specified username.

    int result = 0; 

    // First we make sure that our SOAP End Point is pointing to the correct resource.
    Properties.Url = “
    http://api.onlyfordemo.net/anacreon/servlet/APIv3-XML“;

    // The examples use a class called Constants, containing static properties that hold your credentials. You may set these properties once, and later in the file simply pass them to the method calls as required. The values set below are simply examples, and must be replaced with your own credentials.
    Constants.Username = “username@domain.com”; // Your username goes here.
    Constants.Password = “your-password”; // Your password goes here.
    Constants.Role = “reseller”; // Your role goes here.
    Constants.LangPref = “en”; // Your language preference goes here.
    Constants.ParentID = 1; // Your parent id goes here.

    // Since we wish to view the soap request and response …
    Properties.Debug = true;

    // Next we instantiate an object of the Customer class.
    Customer oCustomer = new Customer ();

    // We then use this customer object to request the id for a specified username.
    result = oCustomer.getCustomerId (ApiConstants.SERVICE_USERNAME,
    ApiConstants.SERVICE_PASSWORD,
    ApiConstants.SERVICE_ROLE,
    ApiConstants.SERVICE_LANGPREF,
    ApiConstants.SERVICE_PARENTID,
    “username”);

    // Now we display the soap request.
    Console.WriteLine (Properties.getLastRequest); Console.WriteLine ();

    // Then we display the soap response.
    Console.WriteLine (Properties.getLastResponse); Console.WriteLine ();

    // Lastly we display the result.
    Console.WriteLine (result);

    The above code accepts authentication details and a username, and returns an integer value, which is the id corresponding to the username passed. The last parameter of the getCustomerId method is the username for which we requested an id. This id was returned into the integer variable result.

    Please note the first five parameters of this method call. They consist of the username, password, role, language preference, and parent id respectively, of the individual calling the method. For the examples, you may make a demo account on the demo server, and pass the username, password, role, language preference and parent id from your demo account to this method call. These are the first five parameters that are passed to every API call that is undertaken. Please make sure that you pass accurate details for these parameters. If you do not, your method call will be unsuccessful.

    IMPORTANT 

    In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.

     

     

    Step 7. Change the information to Live information when you are ready
    When you have got the examples working correctly, you may set the value of Properties.Url to one of the live URL’s, and pass your own authentication details when making API calls.

     

     

     

    Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

    Filed in .NET API Kit with 0 Comments

    30 Aug 10 Data Validation of Parameters passed in an API Method Call

    This document describes the Validation routines which you need to build in for the various parameters which you send to the API call. Failure to validate these fields on your side may result in an undecipherable error from the Server.

    General Guidelines
    Any fields which are optional will require either NULL or “” to be passed to them if they are of type String, or “0″ passed to them if they are of type Numeric. The type of a parameter can be checked in the documentation supplied alongwith the kit. So for instance if you choose NOT to pass a FAX Number you will have to pass “NULL” or “” for that parameter.

    Specific Parameters and their Validation

    username:

    role:

    name:

    company:

    IMPORTANT

    While creating a Contact, each Name and Company Name combination should be unique.

     

    address:

    langPref:

    password:

    city:

    country:

    zip:

    telnocc:

    telno:

    alttelnocc (optional):

    alttelno (optional):

    faxnocc (optional):

    faxtelno (optional):

    Tags: , , , , , , , , , , , , , , , , , , , , ,

    Filed in Reseller API Guide with 0 Comments

    29 Aug 10 Emulating API Calls

     

    IMPORTANT 

    Ensure that you have read the following documents before Emulating any API call:


    You may emulate any API call without actually installing any of the API Kits, on our server itself by following the below mentioned process:

    1. Login into your Reseller Control Panel from http://manage.gossimer.biz/reseller

    2. Click on the relevant Kit mentioned within Settings -> API -> Emulate API Calls

    3. Fill in the relevant details in the top-frame by referring to the below mentioned link -

    Read This FIRST – General API Integration Instructions

    Note – If you wish to view the XML Sent and Received at the client-side, choose to print the XML Sent/Received. This will enable you to view the simulation of the XML sent by your server to our server and our server’s response thereof.

    4. Select the API Method that you chose to Debug previously in the left frame and enter the relevant details in the right frame and emulate the API Call.

    5. If you chose to print the XML Sent/Received previously, you will be able to view it in the right frame (after you make an API call). You may wish to save this for debugging later on.

    Tags: , , , , , , , , , , , , ,

    Filed in Emulate and Debug your API Calls with 0 Comments

    24 Aug 10 Change Log


    Changes in version 3.10

    1. Java Docs updated
       

    2. Changes related to classes and methods:

      New Classes and Methods

      Domains Kit
      New Class Name New Method
      ThirdLevelDotUk String invoiceOption
      ThirdLevelDotUk String existingEndTime


      New Parameters introduced in Existing Methods

      Other Products Kit
      Class Name Method Name New Parameters
      EngageOrder renew String invoiceOption
      EngageOrder renew String existingEndTime


      Deprecated Parameters in Methods

      Domains Kit
      Class Name Method Name Deprecated Parameters
      ZoneOrder add “No Of Records” in DomainHash


      Deprecated Methods

      Domains Kit
      Class Name Deprecated Method Suggested Class Suggested Method
      DomContact addDefaultContact DomContact addDefaultContacts
      DomContact add DomContact addContact
      DomContact list DomContact listByType
      DomContactExt isValidRegistrantContact DomContactExt isValidContact
      DomOrder transferDomain DomOrder addTransferDomain
      DomOrder add DomOrder registerDomain
      ZoneOrder mod ZoneOrder Functionality not required anymore
      DotEu tradeDomain DotEu trade
      DotEu transferDomain DotEu transfer
      DotEu add DomOrder registerDomain
      Core Kit
      Class Name Deprecated Method Suggested Class Suggested Method
      Customer addCustomer Customer signUp
      Customer modDetails Customer mod
      Reseller addReseller Reseller signUp
      Reseller modDetails Reseller mod
      Reseller  addResellerWithStateId Reseller Functionality not required anymore
      OrderSetup getResellerSlabPercentageForProducts OrderSetup Functionality not required anymore
      OrderSetup getCustomerSlabPercentage OrderSetup Functionality not required anymore

     


    Changes in version 3.9

    1. Java Docs updated
       
    2. Changes related to classes and methods:

      The following method in the Domains Kit is deprecated and its use should be discontinued -
       

      Deprecated method Class New method to be used
           
      isValidRegistrantContact DomContactExt isValidContact

       

     


    Changes in version 3.8

    1. Java Docs updated
       

    2. Changes related to classes and methods:
       

      1. The following changes have been introduced under the DotEu class within the Domains Kit -
         

        • New methods
           

          • trade
          • transfer
             
        • Deprecated methods
           

          • tradeDomain
          • transferDomain

         

      2. The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
         

        • enrollForThawteCertificate
        • reissue
        • renew
        • checkDigitalCertificateStatus
        • del
        • cancelDigicertOrder
        • changeDigicertPassword
        • addAdditionalLicenses
        • getDetails
        • getDetailsByDomain
        • getOrderIdByDomain

     


    Changes in version 3.7

    1. Java Docs updated
       

    2. Changes related to classes and methods:

      Some old parameters have been removed and new parameters introduced in their place under the following methods  -

      LinuxHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

       

      WindowsHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

       

      MailHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*
      mod Hashtable orderHash String packagekey*, int additionalMailBoxes**
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, int additionalMailBoxes**
      getModPricing Hashtable orderParams String packageKey*, int additionalMailBoxes**

       

      SiteBuilder Class
      Method Old Parameter New Parameters
      mod Hashtable orderParams String packageKey*
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*
      NOTE:

      * packageKey will be the Identifier Key of the Plan (plan1, plan2, plan3, plan4) for which the Order needs to be added/modified.

      # ssl will be true or false depending whether the user wants Dedicated IP / SSL for the Order placed.

      ## excessBandwidth is the Bandwidth which the user wants over and above the Bandwidth of the Order’s current plan.


      **
      additionalMailBoxes is the number of additional mail boxes over and above the existing ones in blocks of 100 accounts.

       

    3. The following classes and their methods are removed:
       

      • LinuxHostingPlanOnlyOrder
      • WindowsHostingPlanOnlyOrder
      • MailHostingPlanOnlyOrder
      •  

    4. The SiteBuilderLite class has been renamed to SiteBuilder.

       

    5. Two new methods, mod and signUp, have been introduced under the Reseller and Customer classes.
       
    6. The return type of the ListByType method of DomContact class in the Domains Kit has been changed to Hashtable from Vector.

     


    Changes in version 3.6

    1. Java Docs updated
       

    2. Changes related to classes and methods:
       

      • New methods have been added in the Core Kit under the following class:

        getProductMetadata – Product class
         

      • New methods have been added in the Domains Kit under the following classes:

        getDefaultContactId – DomContactExt class
        listByType – DomContact class
        addTransferDomain – DomOrder class
        changePrivacyProtectionStatus – DomOrder class
        registerDomain – DomOrder class
         

      • Changes to the DomOrder class in Domains Kit:
         

        1. Privacy Protection Handling is added in the bulkAdd and bulkAddTransferDomain methods.
           
        2. The ‘ns’ parameter has been removed from the validateDomainTransferParams method.
           

      • The following methods in the Domains Kit are deprecated and their use should be discontinued:
        Deprecated method Class New method to be used
             
        add DomContact addContact
        addDefaultContact DomContact addDefaultContacts
        list DomContact listByType
        add DomOrder registerDomain
        transferDomain DomOrder addTransferDomain
        transferDomainWithoutValidation DomOrder addTransferDomain
        addTransferDomainWithoutvalidation DomOrder addTransferDomain
        add DotEu registerDomain in DomOrder class

         

        IMPORTANT

        While these methods are currently available, they are no longer supported and may be discontinued in the near future.

         

      • New methods have been added in the Hosting Kit under the following class:

        getHostingMetaData – WebHostingOrderData class
         

      • Changes to classes in the Hosting Kit:

        The invoiceOption parameter has been added to the add method of MailHostingPlanOnlyOrder, WindowsHostingPlanOnlyOrder and LinuxHostingPlanOnlyOrder classes

       

     


    Changes in version 3.5

    1. Java Docs updated
       

    2. Changes related to classes and functions:
       

      • New functions have been added in the Core Kit under the following classes:

        getList – Country class
        getStateListForCountry – Country class
        getDetails – Order class
        addResellerWithStateId – Reseller class
         

      • An extra option called Supersite is added in the getDetails function of the Reseller class in the Core Kit.
         
      • A new class LegalAgreement is added with the following methods under the Core Kit:

        getRegistrantAgreement
        getProductCategory
        getAgreement
        getAllAgreements
         

      • A new function has been added in the Domains Kit under the following class:

        addCoopContact – DotCoopContact class
         

      • The following functions in the DomOrder class in the Domains Kit are changed to show the Invoice options also:

        validateDomainRegistrationParams
        validateDomainTransferParams
        addWithoutValidation

       

     


    Changes in version 3.4

    1. COM visible interfaces have been added for those who use ASP or VB, so that they are also able to use our DLLs.
       

    2. Java Docs Updated
       

    3. New Classes introduced in all Kits:

     


    Changes in version 3.3

     


    Changes in version 3.2

     


    Version 3.0 Released

     


    Changes in version 2.6

     


    Changes in version 2.5.3

     


    Changes in version 2.5.2

     


    Changes in version 2.5.1

     


    Changes in version 2.5

     


    Changes in version 1.5

     


    Changes in version 1.4

     


    Changes in version 1.2

    Tags: , , , , , , , , , , , , ,

    Filed in .NET API Kit with 0 Comments

    23 Aug 10 Sample Domain Names API Flow and some Notes

    Buying Process for a single Domain Name

    1. Checking Domain Availability: First call the DomOrder.checkAvailabilityMultiple() method to discover if the domain in question is available for registration.
       
    2. Customer Selection/Addition: If the domain is available, you will have to retrieve the customer id of the customer who wishes to buy the domain. If the customer already exists, you can use Customer.getCustomerId() to get it or use Customer.addCustomer() to create a new one. The customer id will be in the return value in both cases.
       
    3. Get Registration Info: You’ll need the Name Servers and the Contact Ids to register a domain at the registry. Get the list of existing contacts using DomContact.list().
       
    4. Validate the parameters: Now pass all the information required to DomOrder.validateDomainRegistrationsParams() to validate them and ensure correctness.
       
    5. Register the Domain: Call DomOrder.addWithoutValidation() with all the parameters you’ve just validated and you’re basically done.

    IMPORTANT

  • Using DomOrder.add(): The use of DomOrder.add() to register a domain is now deprecated. This method is single-threaded and inefficient and so is much slower than using steps 4 and 5 in the Buying process flow. Use the DomOrder.validateDomainRegistrationsParams(), DomOrder.addWithoutValidation() method pair instead.
  •  

  • Adding contacts for .US and .COOP domains: The contacts for .US and .COOP need to have addition information to be correctly added. .US requires a Nexus Category while .COOP requires 2 Sponsors. When attempting to register these domains, DomOrder.validateDomainRegistrationsParams() will return “InsufficientContactDataException in DomValidation while adding order” in the status has under the error key. When you see this error, you should use DomContactExt.setContactDetails() to set the relevant additional information and try again. If you attempt to call DomOrder.addWithoutValidation() with these incomplete contacts for .US or .COOP, you will get “Error during adding contact” in the status hash under the error key.
  •  

     

     

    Modifying Domain Name Details

    Reference: Domain Name Registration & Management >>

    There is no single DomOrder.mod() method. Rather, you must call the relevant method to modify the appropriate property of a domain name. For example, to modify the Domain Secret, call DomOrder.modifyDomainSecret() and so on.

     

    Modifying Domain Contact Details

    Reference: Modifying the Whois / Contact Details of a Domain Name >>

    There is a bit of a niggle when modifying the contacts to be used by a domain name. One can first get the contact ids for a particular domain by calling DomOrder.getDetails() with the orderid and ContactIds in the options Vector. We can then DomContact.listNames() to get a list of all contacts belonging to a particular Customer and show this in a list on the screen. We can then use DomOrder.modifyContact() to modify the contacts being used.

    If the Customer chooses to modify the Registrant contact, then we should check if it is fit to be used in such a manner by calling DomContactExt.isValidRegistrantContact(). Some registries like .US and .COOP require additional information and this can be supplied to the contact with a call to DomContactExt.setContactDetails() if DomContactExt.isValidRegistrantContact() returns false.

    If an attempt is made to use an incorrect contact id (one which would fail the DomContactExt.isValidRegistrantContact() test), then a InsufficientContactDataException is thrown. You can catch it and then set the details using DomContactExt.setContactDetails().

     

    IMPORTANT

    The system allows you to create an infinite number of Resellers and Sub-Resellers, each with customers under them. Orders can be placed only on behalf of the Customers and cannot be owned by Resellers or their Sub-Resellers directly. You can create as many Customers as you wish.

    Reference: Videos describing the relationship between Customers and Sub-Resellers >>
     

    Tags: , , , , , , , , , , , , , , , , , , , , , ,

    Filed in Sample API Flow with 0 Comments

    22 Aug 10 IMPORTANT: API Abuse

    Tags: , , , , ,

    Filed in Reseller API Guide with 0 Comments

    21 Aug 10 Managing Managed DNS, Web Hosting, Email Hosting, Live Chat, Website Builder Orders through your API integration

    The Managed DNS, Web Hosting, Email Hosting, Live Chat and Website Builder Orders reside on separate servers from the ones you connect to, via the API Kits. Due to this, your Customers need to login into their (individual) Control Panels, for managing such Orders.

    Gossimer now provides you with another method of directly allowing access to your Customer, to manage their Managed DNS, Web Hosting, Email Hosting, Live Chat and Website Builder Orders from your interfaces itself.

    To accomplish this, you need to use either of these 2 methods and pass the following parameters to the mentioned URL, via an HTTP POST method:
     

    Method 1 (recommended)

    URL – http://<Your_Control Panel_Branded_URL>/servlet/ManageServiceServletForAPI

    1. orderid – the Managed DNS/Web Hosting/Email Hosting/Live Chat/Website Builder Service Order Id that your Customer wants to manage
       
    2. loginid – you need to generate a Login ID, that you need to pass as the value of this parameter for allowing the Customer to manage his Order. This can be accomplished by calling the API method generateLoginID in the Customer class. In order to call generateLoginID, you will have to pass ipAddress as a parameter. This Login ID generated will be valid for a very short period of time and you should use it immediately upon generating it.
       
    3. viewdns – the value of this parameter can be either true or false. If you do not pass any value for this parameter, then it is interpreted as false.Pass true – if the Order is Web Hosting or Mail Hosting and you want to allow your Customer to manage the DNS Records of that particular Order.

      Pass false – if the Order is Web Hosting or Mail Hosting and you want your Customer to manage only the Web or Mail Hosting Order.

    This method is the most secure method of allowing your Customers to manage their Managed DNS, Web Hosting, Email Hosting, Live Chat and Website Builder Orders, since it does not expose the Customer’s Username and Password in your interface.

    If you choose to use this method, then you would need to create an intermediate interface to which you can provide the required parameters, and which in-turn generates a valid URL and redirects your Customer.

    You need to provide orderid and any authentication details (optional) to this interface. This interface would then call the API method generateLoginID of the Customer class and build a URL with loginid, viewdns and orderid as parameters, and then redirect the Customer to this URL.

    Example

    Let us call this interface a servlet named ManageOrderBoxControlPanel (assuming that you are using our JAVA API Kit).

    1. This interface would accept Managed DNS/Web Hosting/Email Hosting/Live Chat/Website Builder Service Order Id as a parameter. So, in order to manage a Service, you will call this interface with http://<Your-Server-URL>/ManageOrderBoxControlPanel?orderid=<orderid>.
       
    2. Now this servlet would need to call the API method generateLoginID of the Customer class like -String loginid = API call to “generateLoginID(username,password,resellerid,langpref,role,ipAddress) ;

      where,

      • username – the Username of the Customer, to whom the Order belongs
      • password – the Password of the Customer, to whom the Order belongs
      • resellerid – the Reseller Id associated with your Reseller account. This is obtainable from Settings -> Personal Information -> Primary Profile in your Reseller Control Panel.
      • role – customer

       

    3. The final URL to which you would then redirect your Customer to, would look like - http://<Your_Branded_URL>/servlet/ManageServiceServletForAPI?loginid=<loginid>&orderid=<orderid>&viewdns=<true/false>
       

    The pseudo code for accomplishing the above is as follows:
     

    public class ManageOrderBoxControlPanel extends HttpServlet

    authentication params = Get Authentication parameters;
    orderid = Get OrderBox orderid;
    classname = Customer class;
    viewdns = false;

    set ipaddress with authentication parameters to call “generateLoginID”;

    try

    Unknown macro: { loginid = API method call “generateLoginID” of Customer class. }
    catch()
    Unknown macro: { handle exceptional condition. }

    url = “http://<Your_Branded_URL>/servlet/ManageServiceServletForAPI?loginid=” + loginid + “&orderid=” orderid + “&viewdns=” + viewdns ;

    response.sendRedirect(url);
    }


     

    Method 2

    URL – http://<Your_Control Panel_Branded_URL>/servlet/ManageServiceServletForAPI

    1. orderid – the Managed DNS/Web Hosting/Email Hosting/Live Chat/Website Builder Service Order Id that your Customer wants to manage
       
    2. username – the Username of the Customer, to whom the Order belongs
       
    3. password – the Password of the Customer, to whom the Order belongs
       
    4. resellerid – the Reseller Id associated with your Reseller account. This is obtainable from Settings -> Personal Information -> Primary Profile in your Reseller Control Panel.
       
    5. viewdns – the value of this parameter can be either true or false. If you do not pass any value for this parameter, then it is interpreted as false.Pass true – if the Order is Web Hosting or Mail Hosting and you want to allow your Customer to manage the DNS Records of that particular Order.

      Pass false – if the Order is Web Hosting or Mail Hosting and you want your Customer to manage only the Web or Mail Hosting Order.

    The disadvantage of using this method is that it is a bit less secure as the Customer Username and Password along with your Reseller Id can be viewed in the source of the page, from where you post to the ManageServiceServletForAPI servlet.
     

    IMPORTANT

    Do not send the above mentioned as parameters as part of a URL, or else this information will be displayed in your Customer’s Browser Address Bar.

    Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , ,

    Filed in Reseller API Guide with 0 Comments

    21 Aug 10 Read This FIRST – General API Integration Instructions

    The API is exposed using SOAP, a common web services protocol. SOAP is extremely simple to use and debug since it is an XML based protocol. While SOAP is a standardized protocol, we are using certain complex data types which are not completely compatible across all platforms. However we have written our own wrappers to handle this and we offer direct integration kits in various platforms which you can directly download and use.

    IMPORTANT   

    When our System receives a request, it tries to complete the action immediately. If the System is unable to complete the action for some reason, it will return an error response and try to complete the action again after sometime. This ensures a high level of fault tolerance.

    Due to this, it is imperative that when you encounter an error response (especially for commands that have financial implications like Registering or Renewing orders), you MUST check whether the command eventually failed or succeeded. To do this, you will have to issue additional API commands (depending on the command for which you received an error response) to check the final status of the original command.

    It is recommended that you implement this querying process to check the status of API commands as a scheduled task/cron/batch process. Alternately, you can also check the status of the command by logging into your Reseller Control Panel.

     

    Currently integration kits are available in PHP, Java, Perl and .NET. Our Server exposes all relevant methods using SOAP. SOAP is a simple XML-HTTP based protocol whose client implementations are available in EVERY language. Follow the steps below to begin making calls to the API -

    Step 1. Sign up for a Demo Reseller Account
    You will initially test your API scripts on our demo Server.
    Click here to read how to sign up for a demo Reseller account >> .

    You will need the following items before you proceed to the next step

    Your Signup Username
    Your Signup Password
    Your Parent ID

    The first two items would have been entered by you during the signup. For the last item simply login to your Demo Account and click on Settings -> Personal Information -> Primary Profile.

    IMPORTANT   

    You can use these accounts to try out various aspects of the system. However, the demo accounts are reset every day. As such, any additional orders placed herein, or any modification done to these accounts, shall cease to exist after 24 hours.

     


    Step 2. Proceed to the corresponding API kit for your platform

    Click on the links below to refer to further instructions for the platform you are developing on -

    Java API Kit >>
    PHP API Kit >>
    .NET API Kit >>
    Perl API Kit >>

     

    Step 3. Download the API Documentation
    The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application:

    Core Docs v3_10
    Domains Docs v3_10
    Hosting Docs v3_10
    Other Products Docs v3_10
     

    Step 4. Refer to the Parameter Validation details of different parameters passed in any API Calls
    We have a detailed document on the Validation routines which you need to build in for the various parameters which you send to the API call. Failure to validate these fields on your side may result in an undecipherable error from the Server.
    Click here to read about Data Validation of Parameters passed in an API Method Call >>
     

    Step 5. Refer to the Error format document and the common errors
    The first time you run any example you are likely to encounter errors if you have not followed the steps perfectly. It is important to understand the format of an error.
    Click here to understand the format of an error that you will receive >>

    IMPORTANT   

    Sometimes, you may receive a 302 HTTP Redirect response from our System. Your API implementation should be capable of following such a redirect.

     

     

     

    Step 6. Run the examples
    All the above kits contain examples which you can run and test the API functionality. Try these examples out to verify everything is working fine. You should first run these examples on the Demo Server. Use the demo sign up information gathered above and the Demo Server URL below to run the examples on the demo server.

    Demo Server URLs for API Kits ver 3.x and above

    Java and PHP API Kits

    http://api.onlyfordemo.net/anacreon/servlet/APIv3
    https://www.foundationapi.com/anacreon/servlet/APIv3

    Perl and .NET API Kit

    http://api.onlyfordemo.net/anacreon/servlet/APIv3-XML
    https://api.onlyfordemo.net/anacreon/servlet/APIv3-XML


    Demo Server URLs for older API Kits

    Java and PHP API Kits

    http://demo.myorderbox.com/anacreon/servlet/rpcrouter
    https://demo.myorderbox.com/anacreon/servlet/rpcrouter

    .NET and Perl API Kits

    http://demo.myorderbox.com/anacreon/servlet/XMLrpcrouter
    https://demo.myorderbox.com/anacreon/servlet/XMLrpcrouter


    Step 7. Refer to common errors

    In this documentation we have some answers covering common errors you can expect while integrating with the API.
    Click here to know details about common API errors >> 
     

    Step 8. Change the information to Live information when you are ready
    Once you have followed the steps above and got the test programs to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. You will also need to change the server URL to the live server URL.

    LIVE Server URLs for API Kits ver 3.x and above

    Java and PHP API Kits

    http://www.myorderbox.com/anacreon/servlet/APIv3
    https://www.myorderbox.com/anacreon/servlet/APIv3

    Perl and .NET API Kit

    http://www.myorderbox.com/anacreon/servlet/APIv3-XML
    https://www.myorderbox.com/anacreon/servlet/APIv3-XML

    LIVE Server URLs for older API Kits

    Java and PHP API Kits

    http://www.myorderbox.com/anacreon/servlet/rpcrouter
    https://www.myorderbox.com/anacreon/servlet/rpcrouter

    .NET and Perl API Kits

    http://www.myorderbox.com/anacreon/servlet/XMLrpcrouter
    https://www.myorderbox.com/anacreon/servlet/XMLrpcrouter

    Refer to the corresponding kit and integration guide of the platform that you choose for further instructions.
     

    IMPORTANT   

    Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

    Filed in Reseller API Guide with 0 Comments

    19 Aug 10 Product Keys

     

    Domains Kit
     

    Product Name Product Key
    .COM Domain Name domcno
    .NET Domain Name dotnet
    .ORG Domain Name domorg
    .BIZ Domain Name dombiz
    .INFO Domain Name dominfo
    .NAME Domain Name dotname
    .US Domain Name domus
    .IN Domain Name (2nd Level) dotin
    .IN Domain Name (3rd Level) thirdleveldotin
    .COOP Domain Name dotcoop
    .EU Domain Name doteu
    .MOBI Domain Name dotmobi
    .BZ Domain Name dotbz
    .MN Domain Name dotmn
    .CC Domain Name dotcc
    .TV Domain Name dottv
    .UK Domain Name thirdleveldotuk
    .WS Domain Name dotws
    CentralNicPremium centralnicpremium
    CentralNicstandard centralnicstandard

     

    Product Name Product Key
    Domain Forward Service domainfwd
    Mail Forward Service mailfwd
    Managed DNS dnsbox

    <#start hosting#>Hosting Kit
     

    IMPORTANT 

    1. The old Product Keys (mentioned below) have been deprecated and management of old Orders needs to be done using the new Product Keys:

    Old Product Keys

    Product Name Product Key
    Linux Budget Web Hosting lhbbudgetusa, lhbbudgetplanus
    Linux Premium Web Hosting lhbpremiumusa
    Windows Budget Web Hosting w2kbudgetusa, w2kbudgetplanus
    Windows Premium Web Hosting w2kpremiumusa
    Budget Mail Hosting mailboxbudgetusa, mailboxbudgetplanus
    Premium Mail Hosting mailboxpremiumusa


    2. All existing Web AND Email Hosting Orders have been split into 2 Orders – Web Hosting and Email Hosting (using the new Product Keys).

    3. All existing ONLY Web Hosting and ONLY Email Hosting Orders, are now manageable using the new Product Keys.
     

     

    Product Name Product Key
    Linux Web Hosting [USA] lhbus
    Linux Web Hosting [INDIA] lhbin
    Windows Web Hosting [USA] w2kus
    Windows Web Hosting [INDIA] w2kin
    Email Hosting mailboxus

     

    Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

    Filed in Sample API Flow with 0 Comments

    19 Aug 10 PHP API Kit and Integration Guide

    Follow the instructions below to begin integration with the API using PHP -

    Make sure you have read the General API Integration Instructions first. If you have already integrated the PHP API Kit at your end, read the Change Log first to know what has changed since.

    Reference:

    General API Integration Instructions >>
    Change Log >>

    IMPORTANT   

    The PHP API Kit is not compatible with version PHP5. You need to use version PHP4 in order to integrate the API Kit at your end.

     

     

    Step 1. Download the API Kit
    Click the link below to download the relevant API kits (updated on 6th March, 2008).

    PHP_CoreKIT_v3_10.zip
    PHP_DomainsKIT_v3_10.zip
    PHP_HostingKIT_v3_10.zip
    PHP_OtherProductsKIT_v3_10.zip

    Step 2. Download the API Documentation
    The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).

    Core_Docs_v3_10.zip
    Domains_Docs_v3_10.zip (updated on 1st April, 2008)
    Hosting_Docs_v3_10.zip
    OtherProducts_Docs_v3_10.zip

     

    IMPORTANT  

    Since “list” is a keyword in the PHP language, the “list()” methods in the various classes (in the PHP Kit) has been renamed to “listOrder().” However, the documentation still mentions the method name as “list” since the documentation is JAVA specific.

     

     

     

    Instructions to pass parameters to functions using the PHP Kit

    Since PHP uses typeless variables you will have to ignore the datatypes presented in the docs. But for assigning values to variable of types other than strings and integers special care will have to be taken. Below is the list of datatypes presented in the API Doc and their usage in PHP.

    Java Data

    Types Assigning values in PHP

    String “firstname@secondname.com”
    int 123
    HashMap (Datatype for storing name-value pair) array(“domain.com”=>”1″)
    Array and Vector (Datatype for storing more than one value) array(“ns1.domain.com”,”ns2.domain.com”)
    boolean (Datatype for storing true or false) true / false

    Example:

     

    Step 3. Extract the files from the API Kit archive
    You should get the following directory & files structure

    examples/ – Pre-written examples. You can directly run these examples to test API functionality
    lib/ – The PHP class files, library files and wsdl files that you need to run your application
     

    Step 4. Run the examples
    You can run the pre-written examples provided in the “examples” folder. Note the following steps to do so -

    1. Upload the “examples” and “lib” folders to your web server where you run your PHP scripts. Make sure that both these folders are uploaded to the same parent folder.

    2. You must have PHP 4 installed on the server

    3. You must have a Demo account ready the first time. Read the General instructions if you have not yet setup your demo account. Reference: General API Integration Instructions >>

    IMPORTANT   

    The Demo server duplicates all functionality of the live server, however all Domain Names will appear as available on the Demo Server. It does not query the live registry and therefore names which are not available on the live registry will still appear as available on the Demo Server. At times connectivity to the DEMO Registry may be down resulting in errors.

     

    4. Make the appropriate changes to “constants.php” in the “examples” folder, by putting in the values for your “SERVICE_USERNAME”, “SERVICE_PASSWORD”, “SERVICE_PARENTID”. The remaining settings have already been made for you in this file. You may only need to change the path for the “lib” folder if you have uploaded the lib folder elsewhere

    5. The URL to which the call is made is maintained in the “config.php” file inside the “lib” folder. By default all calls are made to the demo server URL using HTTP. You can make changes to this file and redirect your calls to the appropriate server

    IMPORTANT   

    If you are using HTTPS calls you MUST have the extension for CURL installed and enabled in your PHP installation.

     

    6. Another important parameter maintained in the “config.php” file is the variable $DEBUG. If this variable is set to “true”, then for each call you will see the entire XML Request and Response in the output. You should keep it to “true” during testing, but set it to false on the live environment.

    7. Every Example file has a set of functions which you can run.

    8. Once you have modified the appropriate example file, access it over your webserver by putting in your URL such as http://yourserver/examples/html and choose the required function from the links given in the left frame.

    IMPORTANT   

    In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.

     

    Step 5. Understanding Errors
    Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference:
    General API Integration Instructions >>
     

    Step 6. Writing your own code
    After running each example above, if you simply refer to the corresponding .php file in the examples folder you will easily be able to figure out the code snippet you need to write in order to make a similar call.

    Making an API call to perform any action is a matter of three steps:

    (i) Include the appropriate PHP Class file as below

    include($LIB_DIR.”Order.class.php”);

    (ii) Obtain a pointer to the required Class. This is done by using the code below

    $serviceObj = new Order($LIB_DIR . “wsdl/Order.wsdl”);

    (iii) Call the required method on this object. A complete reference of all methods is available in the Docs folder. This can be achieved by using the code below

    $AssociativeArray = $serviceObj->setCustomerLock($SERVICE_USERNAME, $SERVICE_PASSWORD, $SERVICE_ROLE, $SERVICE_LANGPREF, $SERVICE_PARENTID, $orderId);

    IMPORTANT   

    You will notice above that EVERY method in the docs takes the same first 5 parameters as below

    String SERVICE_USERNAME, String SERVICE_PASSWORD, String SERVICE_ROLE, String SERVICE_LANGPREF, int SERVICE_PARENTID

     

    In the examples these parameters have been put into a single constants file from which they are accessed by including the constants file. These parameters are common no matter which method you call. These parameters mean the following:

    String SERVICE_USERNAME: Your Username
    String 
    SERVICE_PASSWORD: Your Password
    String 
    SERVICE_ROLE: This will always be a string "reseller"
    String 
    SERVICE_LANGPREF: The 2 letter code of the language in which you wish to receive errors and descriptions - "en" for English
    int 
    SERVICE_PARENTID: The ID of your parent which you can get from your profile section

    IMPORTANT   

    Remember, when passing numerical data in hashtables, please ensure that the number is passed as a String.


    Step 7. Change the information to Live information when you are ready

    Once you have followed the steps above and got the test examples to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. The URL that you make your calls to also needs to change to the LIVE Server URL. You will make this change in the “config.php” file in the “lib” folder

    Once again note, if you are using the HTTPS URL you MUST have the extension for CURL installed and enabled in your PHP installation.

    Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

    Filed in PHP API Kit with 0 Comments

    19 Aug 10 Change Log

    Changes in version 3.10

        

    1. Java Docs updated
       

    2.  

    3. Changes related to classes and methods:

      New Classes and Methods

       

      Domains Kit
      New Class Name New Method
      ThirdLevelDotUk String invoiceOption
      ThirdLevelDotUk String existingEndTime

       

      New Parameters introduced in Existing Methods

       

      Other Products Kit
      Class Name Method Name New Parameters
      EngageOrder renew String invoiceOption
      EngageOrder renew String existingEndTime

       

      Deprecated Parameters in Methods

      Domains Kit
      Class Name Method Name Deprecated Parameters
      ZoneOrder add “No Of Records” in DomainHash

       

      Deprecated Methods

      Domains Kit
      Class Name Deprecated Method Suggested Class Suggested Method
      DomContact addDefaultContact DomContact addDefaultContacts
      DomContact add DomContact addContact
      DomContact list DomContact listByType
      DomContactExt isValidRegistrantContact DomContactExt isValidContact
      DomOrder transferDomain DomOrder addTransferDomain
      DomOrder add DomOrder registerDomain
      ZoneOrder mod ZoneOrder Functionality not required anymore
      DotEu tradeDomain DotEu trade
      DotEu transferDomain DotEu transfer
      DotEu add DomOrder registerDomain
      Core Kit
      Class Name Deprecated Method Suggested Class Suggested Method
      Customer addCustomer Customer signUp
      Customer modDetails Customer mod
      Reseller addReseller Reseller signUp
      Reseller modDetails Reseller mod
      Reseller  addResellerWithStateId Reseller Functionality not required anymore
      OrderSetup getResellerSlabPercentageForProducts OrderSetup Functionality not required anymore
      OrderSetup getCustomerSlabPercentage OrderSetup Functionality not required anymore

       

       

    4.  

     

     

     

    Changes in version 3.9

    1. Java Docs updated
       
    2. Changes related to classes and methods:

      The following method in the Domains Kit is deprecated and its use should be discontinued -
       

      Deprecated method Class New method to be used
           
      isValidRegistrantContact DomContactExt isValidContact

       

       

     

     

     

     

    Changes in version 3.8

    1. Java Docs updated
       

    2. Changes related to classes and methods:
       

          

      1. The following changes have been introduced under the DotEu class within the Domains Kit -
         

        • New methods
           
            

          • trade
          • transfer
             
        • Deprecated methods
           
            

          • tradeDomain
          • transferDomain

         

         

      2.  

      3. The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
         

        • enrollForThawteCertificate
        • reissue
        • renew
        • checkDigitalCertificateStatus
        • del
        • cancelDigicertOrder
        • changeDigicertPassword
        • addAdditionalLicenses
        • getDetails
        • getDetailsByDomain
        • getOrderIdByDomain
      4.  

     

     

     

    Changes in version 3.7

    1. Java Docs updated
       

    2. Changes related to classes and methods:

      Some old parameters have been removed and new parameters introduced in their place under the following methods  -

      LinuxHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

       

      WindowsHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

       

      MailHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*
      mod Hashtable orderHash String packagekey*, int additionalMailBoxes**
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, int additionalMailBoxes**
      getModPricing Hashtable orderParams String packageKey*, int additionalMailBoxes**

       

      SiteBuilder Class
      Method Old Parameter New Parameters
      mod Hashtable orderParams String packageKey*
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*
      NOTE:  

      * packageKey will be the Identifier Key of the Plan (plan1, plan2, plan3, plan4) for which the Order needs to be added/modified.

      # ssl will be true or false depending whether the user wants Dedicated IP / SSL for the Order placed.

      ## excessBandwidth is the Bandwidth which the user wants over and above the Bandwidth of the Order’s current plan.


      **
      additionalMailBoxes is the number of additional mail boxes over and above the existing ones in blocks of 100 accounts.

       

    3. The following classes and their methods are removed:
         

      • LinuxHostingPlanOnlyOrder
      • WindowsHostingPlanOnlyOrder
      • MailHostingPlanOnlyOrder
      •  

    4. The SiteBuilderLite class has been renamed to SiteBuilder. 
    5. Two new methods, mod and signUp, have been introduced under the Reseller and Customer classes.
       
    6. The return type of the ListByType method of DomContact class in the Domains Kit has been changed to Hashtable from Vector.

     

     

     

     

    Changes in version 3.6

    1. Java Docs updated
       

    2. Changes related to classes and methods:
       

      • New methods have been added in the Core Kit under the following class: getProductMetadata – Product class
         
      • New methods have been added in the Domains Kit under the following classes:getDefaultContactId – DomContactExt class
        listByType – DomContact class
        addTransferDomain – DomOrder class
        changePrivacyProtectionStatus – DomOrder class
        registerDomain – DomOrder class
         
      • Changes to the DomOrder class in Domains Kit:
           

            

        1. Privacy Protection Handling is added in the bulkAdd and bulkAddTransferDomain methods.
           
        2. The ‘ns’ parameter has been removed from the validateDomainTransferParams method.
           
        3.  

           

      • The following methods in the Domains Kit are deprecated and their use should be discontinued: 
        Deprecated method Class New method to be used
             
        add DomContact addContact
        addDefaultContact DomContact addDefaultContacts
        list DomContact listByType
        add DomOrder registerDomain
        transferDomain DomOrder addTransferDomain
        transferDomainWithoutValidation DomOrder addTransferDomain
        addTransferDomainWithoutvalidation DomOrder addTransferDomain
        add DotEu registerDomain in DomOrder class

         

        IMPORTANT  

        While these methods are currently available, they are no longer supported and may be discontinued in the near future.

         

      • New methods have been added in the Hosting Kit under the following class: getHostingMetaData – WebHostingOrderData class
         
      • Changes to classes in the Hosting Kit:The invoiceOption parameter has been added to the add method of MailHostingPlanOnlyOrder, WindowsHostingPlanOnlyOrder and LinuxHostingPlanOnlyOrder classes

       

     

     

    Changes in version 3.5

    1. Java Docs updated
       

    2. Changes related to classes and functions:
       

      • New functions have been added in the Core Kit under the following classes: getList – Country class
        getStateListForCountry – Country class
        getDetails – Order class
        addResellerWithStateId – Reseller class
         
      • An extra option called Supersite is added in the getDetails function of the Reseller class in the Core Kit.
         
      • A new class LegalAgreement is added with the following methods under the Core Kit:getRegistrantAgreement
        getProductCategory
        getAgreement
        getAllAgreements
         
      • A new function has been added in the Domains Kit under the following class:addCoopContact – DotCoopContact class
         
      • The following functions in the DomOrder class in the Domains Kit are changed to show the Invoice options also:validateDomainRegistrationParams
        validateDomainTransferParams
        addWithoutValidation

       

     

     

    Changes in version 3.4

    1. Java Docs Updated
       

    2. New Classes introduced in all Kits:

     

     

    Changes in version 3.3

     

     

    Changes in version 3.2

     


    Changes in version 3.1

     


    Version 3.0 Released

     


    Changes in version 2.6

     

     


    Changes in version 2.5

     

     


    Changes in version 2.3

     


    Changes in version 2.2

     


    Changes in version 2.1

     

    DomUsContact.class

     

    list() method

    getCustomerAvailableBalance() fuction

    getCustomerId() function

     

    The prefix of all user classes changed to Customer eg. UserService to CustomerService, UserServiceTest to CustomerServiceTest

    Method signature change in DomContact.class
    OLD – int add(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int customerId)

    NEW – int addDefaultContact(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int customerId)

    Tags: , , , , , , , , , , , , ,

    Filed in Java API Kit with 0 Comments

    17 Aug 10 Sample Hosting API Flow and some Notes

    Buying Process for a Hosting Plan or Custom Package

     

    1. Retrieve all Product Keys: First get the list of Product Keys from your local store. These Product keys are currently:
         

      • lhbbudgetusa
      • lhbbudgetplanus
      • w2kbudgetusa
      • w2kbudgetplanus
      • lhbpremiumusa
      • w2kpremiumusa
      • mailboxbudgetusa
      • mailboxbudgetplanus
      • mailboxpremiumusa
         
    2. Retrieve Hosting Plans for a Product Key: Now use WebHostingOrderData.getHostingPlans() to get the 3 hosting plans (premium, budget and custom) available per product key except for lhbbudgetplanus, w2kbudgetplanus and mailboxpremiumusa. Each of these three product keys have the custom build feature disabled and are associated with only 2 hosting plans, premium and standard. The return value is a hash of hashes with a serial number as the key. Per plan, the most important information is the planid, the planname and the totalprice. Use OrderSetup.getPricingKeyDisplayName() and OrderSetup.getPricingParamsDisplayName() to get the standard names for these values to build you display. You can also use getMonthlyCostAndValidate() under the appropriate HostingOrder class to get the pro-rata pricing for the plan.
       
    3. Buy a Hosting Plan: Use add() under the appropriate HostingOrder class to add an order. Be sure to pass in ‘planid‘ as the key and the actual plan id as the value. You can specify the invoice options as well.
       
    4. Buy a Custom Package: Use OrderSetup.getPricingKeyPricingParamMap() to get a list of all pricing keys and their related pricing params. Once more, you can use OrderSetup.getPricingParamsDisplayName() and OrderSetup.getPricingKeyDisplayName() to get the standard names for these values to build you display. You can also use getMonthlyCostAndValidate() under the appropriate HostingOrder class to get the pro-rata pricing for the package. Calling fetchAlternateLocationDetailsAndMonthlyCosts() under the appropriate HostingOrder class will give you the cost for a similiar order configuration at an alternate location. Once everything is set, you call add() under the appropriate HostingOrder class and passing it all the key:value pairs required.

     

     

    Modifying a Hosting Plan or Custom Package

    Reference: Renewing/Upgrading/Downgrading/Deleting a Web Hosting package >>

     

    1. Retrieve the price of the new modification: First call getModPricing() under the appropriate HostingOrder class to get the pricing for the modifications you wish to make, passing in all the key:value pairs, not just the ones which have changed.
       
    2. Modify the order: Now call mod() under the appropriate HostingOrder class and pass it a complete hash once more, with all the keys and their related values, not just the ones which have changed.

     

     

    Deleting a Hosting Plan or Custom Package

    Reference: Renewing/Upgrading/Downgrading/Deleting a Web Hosting package >>

     

    Simply call del() under the appropriate HostingOrder class with the appropriate orderid.

     

    Renewing a Hosting Plan or Custom Package

    Reference: Renewing/Upgrading/Downgrading/Deleting a Web Hosting package >>

     

    Simply call renew() under the appropriate HostingOrder class with the appropriate orderid and the months to renew for.

     

    IMPORTANT

    The system allows you to create an infinite number of Resellers and Sub-Resellers, each with customers under them. Orders can be placed only on behalf of the Customers and cannot be owned by Resellers or their Sub-Resellers directly. You can create as many Customers as you wish.
     Click here to read about Customers and Sub-Resellers >>

    Tags: , , , , , , , , , , , , , , , ,

    Filed in Sample API Flow with 0 Comments

    14 Aug 10 Debugging API Calls and Retrieving the XML Sent / Recieved by our Server

    The Debug API Parameters interface allows you to enable/disable API Call Debugging, emulate individual API calls and retrieve the XML Sent and Received by our server to compare with those returned by the specific emulator for debugging. Follow the process outlined below to commence this process:

    1. Login into your Reseller Control Panel from http://manage.gossimer.biz/reseller

    2. Click on Settings -> API -> Debug Your API Calls

    3. Select the API method (any one or all) that you want to debug and click on the Start Debugging button.

    4. Mention the last n calls (between 1 to 1000) that you want us to record by mentioning a value in the text box provided.

    If you have already integrated with one of our API Kits and are facing an error that you wish to debug, then proceed to the next step.

    If however, you are testing our API and wish to emulate API calls, then you may do so by selecting any of the PHP API Kits that we have deployed, by clicking on it (at the bottom of the interface). Clicking on any of the API Kits link will open the respective emulator in a new browser window.

    6. Once you have tried a few calls, you may compare the XML Sent/Received with the ones logged in the system, by clicking on the Refresh button in the previous browser window.

    7. Once you have completed your debugging exercise, turn off Debugging by clicking on the Stop Debugging button.
     

    IMPORTANT

     

    Troubleshooting Errors

    In case you encounter an error message, please read the following links:

    If you continue to face an error message, please contact our Support Team at support@gossimer.com.

    Tags: , , , , , , , , , , ,

    Filed in Emulate and Debug your API Calls with 0 Comments

    13 Aug 10 Change Log

    Changes in version 3.10

    1. Java Docs updated
       

    2. Changes related to classes and methods:

      New Classes and Methods

      Domains Kit
      New Class Name New Method
      ThirdLevelDotUk String invoiceOption
      ThirdLevelDotUk String existingEndTime

      New Parameters introduced in Existing Methods

      Other Products Kit
      Class Name Method Name New Parameters
      EngageOrder renew String invoiceOption
      EngageOrder renew String existingEndTime

      Deprecated Parameters in Methods


      Domains Kit
      Class Name Method Name Deprecated Parameters
      ZoneOrder add "No Of Records" in DomainHash

      Deprecated Methods


      Domains Kit
      Class Name Deprecated Method Suggested Class Suggested Method
      DomContact addDefaultContact DomContact addDefaultContacts
      DomContact add DomContact addContact
      DomContact list DomContact listByType
      DomContactExt isValidRegistrantContact DomContactExt isValidContact
      DomOrder transferDomain DomOrder addTransferDomain
      DomOrder add DomOrder registerDomain
      ZoneOrder mod ZoneOrder Functionality not required anymore
      DotEu tradeDomain DotEu trade
      DotEu transferDomain DotEu transfer
      DotEu add DomOrder registerDomain
      Core Kit
      Class Name Deprecated Method Suggested Class Suggested Method
      Customer addCustomer Customer signUp
      Customer modDetails Customer mod
      Reseller addReseller Reseller signUp
      Reseller modDetails Reseller mod
      Reseller  addResellerWithStateId Reseller Functionality not required anymore
      OrderSetup getResellerSlabPercentageForProducts OrderSetup Functionality not required anymore
      OrderSetup getCustomerSlabPercentage OrderSetup Functionality not required anymore

     

    Changes in version 3.9

    1. Java Docs updated
       
    2. Changes related to classes and methods:

      The following method in the Domains Kit is deprecated and its use should be discontinued -
       

      Deprecated method Class New method to be used
           
      isValidRegistrantContact DomContactExt isValidContact

     

    Changes in version 3.8

    1. Java Docs updated
       

    2. Changes related to classes and methods:
       

      1. The following changes have been introduced under the DotEu class within the Domains Kit -
         

        • New methods
           
          • trade
          • transfer
             
        • Deprecated methods
           
          • tradeDomain
          • transferDomain

      2. The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
         

        • enrollForThawteCertificate
        • reissue
        • renew
        • checkDigitalCertificateStatus
        • del
        • cancelDigicertOrder
        • changeDigicertPassword
        • addAdditionalLicenses
        • getDetails
        • getDetailsByDomain
        • getOrderIdByDomain

     

    Changes in version 3.7

    1. Java Docs updated
       

    2. Changes related to classes and methods:

      Some old parameters have been removed and new parameters introduced in their place under the following methods  -

      LinuxHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

       

      WindowsHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*, boolean ssl#
      mod Hashtable orderParams String packagekey*, boolean ssl#,
      int excessBandwidth##
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##
      getModPricing Hashtable orderParams String packageKey*, boolean ssl#,
      int execessBandwidth##

      MailHostingOrder Class
      Method Old Parameter New Parameters
      add Hashtable orderParams String packageKey*
      mod Hashtable orderHash String packagekey*, int additionalMailBoxes**
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*, int additionalMailBoxes**
      getModPricing Hashtable orderParams String packageKey*, int additionalMailBoxes**

      SiteBuilder Class
      Method Old Parameter New Parameters
      mod Hashtable orderParams String packageKey*
      getMonthlyCostAndValidate Hashtable orderParams String packageKey*
      NOTE:

      * packageKey will be the Identifier Key of the Plan (plan1, plan2, plan3, plan4) for which the Order needs to be added/modified.

      # ssl will be true or false depending whether the user wants Dedicated IP / SSL for the Order placed.

      ## excessBandwidth is the Bandwidth which the user wants over and above the Bandwidth of the Order’s current plan.


      **
      additionalMailBoxes is the number of additional mail boxes over and above the existing ones in blocks of 100 accounts.

       

    3. The following classes and their methods are removed:
       
      • LinuxHostingPlanOnlyOrder
      • WindowsHostingPlanOnlyOrder
      • MailHostingPlanOnlyOrder
      •  

    4. The SiteBuilderLite class has been renamed to SiteBuilder.

       

    5. Two new methods, mod and signUp, have been introduced under the Reseller and Customer classes.
       
    6. Code for registerDomain method in PERL Domains Kit has been modified.
       
    7. The return type of the ListByType method of DomContact class in the Domains Kit has been changed to Hashtable from Vector.

     

    Changes in version 3.6

    1. Java Docs updated
       

    2. Changes related to classes and methods:
       

      • New methods have been added in the Core Kit under the following class:

        getProductMetadata – Product class
         

      • New methods have been added in the Domains Kit under the following classes:

        getDefaultContactId – DomContactExt class
        listByType – DomContact class
        addTransferDomain – DomOrder class
        changePrivacyProtectionStatus – DomOrder class
        registerDomain – DomOrder class

         

      • Changes to the DomOrder class in Domains Kit:
         
        1. Privacy Protection Handling is added in the bulkAdd and bulkAddTransferDomain methods.
           
        2. The ‘ns’ parameter has been removed from the validateDomainTransferParams method.
           
      • The following methods in the Domains Kit are deprecated and their use should be discontinued:
        Deprecated method Class New method to be used
             
        add DomContact addContact
        addDefaultContact DomContact addDefaultContacts
        list DomContact listByType
        add DomOrder registerDomain
        transferDomain DomOrder addTransferDomain
        transferDomainWithoutValidation DomOrder addTransferDomain
        addTransferDomainWithoutvalidation DomOrder addTransferDomain
        add DotEu registerDomain in DomOrder class

         

        IMPORTANT

        While these methods are currently available, they are no longer supported and may be discontinued in the near future.

      • New methods have been added in the Hosting Kit under the following class:

        getHostingMetaData – WebHostingOrderData class
         

      • Changes to classes in the Hosting Kit:

        The invoiceOption parameter has been added to the add method of MailHostingPlanOnlyOrder, WindowsHostingPlanOnlyOrder and LinuxHostingPlanOnlyOrder classes

       

    Changes in version 3.5

    1. Java Docs updated
       

    2. Changes related to classes and functions:
       

      • New functions have been added in the Core Kit under the following classes:

        getList – Country class
        getStateListForCountry – Country class
        getDetails – Order class
        addResellerWithStateId – Reseller class
         

      • An extra option called Supersite is added in the getDetails function of the Reseller class in the Core Kit.
         
      • A new class LegalAgreement is added with the following methods under the Core Kit:

        getRegistrantAgreement
        getProductCategory
        getAgreement
        getAllAgreements
         

      • A new function has been added in the Domains Kit under the following class:

        addCoopContact – DotCoopContact class
         

      • The following functions in the DomOrder class in the Domains Kit are changed to show the Invoice options also:

        validateDomainRegistrationParams
        validateDomainTransferParams
        addWithoutValidation

       

    Changes in version 3.4

    1. Java Docs Updated
       

    2. New Classes introduced in all Kits:

    • Core Kit

      TaxService
          getApplicableTaxes
          getHashedTaxRules
       

    • Domains Kit

      DotEu
          getEUCountryList
          tradeDomain
          transferDomain
          add
          isEUCountry

      DotEuContact
          mod
          add
          addEuDefaultContact

      DomOrder
          validateDomainRegistrationParams
          validateDomainTransferParams
          addTransferDomainWithoutvalidation
          addWithoutValidation
       

    • Hosting Kit

      WindowsHostingPlanOnlyOrder
          getDetails
          getDetailsByDomain
          getOrderIdByDomain
          add
          mod
          renew
          del
          getMonthlyCostAndValidate
          getModPricing
          getDeletionRefundAmount

      LinuxHostingPlanOnlyOrder
          getDetails
          getDetailsByDomain
          getOrderIdByDomain
          add
          mod
          renew
          del
          getMonthlyCostAndValidate
          getModPricing
          getDeletionRefundAmount

      MailHostingPlanOnlyOrder
          getDetails
          getDetailsByDomain
          getOrderIdByDomain
          add
          mod
          renew
          del
          getMonthlyCostAndValidate
          getModPricing
          getDeletionRefundAmount
          list

      MailHostingSetup
          getHostingKeyDisplayName
          getHostingParamsDisplayName
          getPricingKeyPricingParamMap

      WindowsHostingSetup
          getHostingKeyDisplayName
          getHostingParamsDisplayName
          getPricingKeyPricingParamMap

      LinuxHostingSetup
          getHostingKeyDisplayName
          getHostingParamsDisplayName
          getPricingKeyPricingParamMap
       

    • Other Products Kit

      DigitalCertificateOrder
          add
          getCertPrice

      SiteBuilderSetup
          getPricingKeyPricingParamMap

      EngageSetup
          getPricingKeyPricingParamMap
       

    Changes in version 3.3

    Changes in version 3.2.1

    Changes in version 3.2

    Changes in version 3.1


    Version 3.0 Released


    Changes in version 2.6


    Changes in version 2.5


    Version 2.3

    Tags: , , ,

    10 Aug 10 Java API Kit and Integration Guide

     

    Follow the instructions below to begin integration with the API using Java -

    Make sure you have read the General API Integration Instructions first. If you have already integrated the Java API Kit at your end, read the Change Log first to know what has changed since.

    Reference:

    General API Integration Instructions >>
    Change Log >>

    Step 1. Download the API Kit
    Click the link below to download the relevant API kits (updated on 6th March, 2008).

    JAVA_CoreKIT_v3_10.zip
    JAVA_DomainsKIT_v3_10.zip
    JAVA_HostingKIT_v3_10.zip
    JAVA_OtherProductsKIT_v3_10.zip

    Step 2. Download the API Documentation
    The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).

    Core_Docs_v3_10.zip
    Domains_Docs_v3_10.zip (updated on 1st April, 2008)
    Hosting_Docs_v3_10.zip
    OtherProducts_Docs_v3_10.zip

    Step 3. Extract the files from the API Kit archive
    You should get the following directory & files structure

    WEB-INF/classes/ – Precompiled examples. You can directly run the examples to test API functionality
    examples/src/ – The examples for using the API
    WEB-INF/lib/ – The jar files that you will need in order to compile/run the classes
    WEB-INF/build.xml – The API archive also contains a build.xml file. You can use this file to build the examples using Ant.

    The Ant target to build the examples is build. If you do not want to use Ant, you can just compile the files in the “src” folder. You will need to include the jar files provided in the lib folder while compiling the classes.

    Step 4. Run the examples
    You can run the precompiled examples provided in the “classes” folder. Note the following however:

    1. Upload the “classes” and “lib” folders to your server. Make sure that both these folders are uploaded to the same parent folder.

    2. You must have a Demo account ready the first time. Read the General instructions if you have not yet setup your demo account. Reference: General API Integration Instructions >>

    IMPORTANT 

    The Demo server duplicates all functionality of the live server, however all Domain Names will appear as available on the Demo Server. It does not query the live registry and therefore names which are not available on the live registry will still appear as available on the Demo Server. At times connectivity to the DEMO Registry may be down resulting in errors.

     

    3. Make the appropriate changes to the “settings.properties” file in the “WEB-INFclassescomlogicboxesproperties” folder, by putting in the values for your “ResellerUsername”, “ResellerPassword” and “ParentId”. The remaining settings have already been made for you in this file.

    4. The URL to which the call is made is maintained in the “settings.properties” file inside the “WEB-INFclassescomlogicboxesproperties” folder. By default, all calls are made to the demo server URL using HTTP. You can make changes to this file and redirect your calls to the appropriate server.

    IMPORTANT 

    If you are using HTTPS calls you MUST have JDK 1.4 or greater installed. HTTPS calls will not work with JDK 1.3 or lower.

     

    5. Set your class path to include the bin folder and EVERY jar file in the lib folder. You would use the following command for that

    Windows

    set CLASSPATH=%CLASSPATH%;
    </fullPathTo>/classes;
    </fullPathToLibFolder>/aaxerces-1_4_3.jar;
    </fullPathToLibFolder>/axis.jar;
    </fullPathToLibFolder>/commons-discovery.jar;
    </fullPathToLibFolder>/commons-logging.jar;
    </fullPathToLibFolder>/jaxrpc.jar;
    </fullPathToLibFolder>/junit.jar;
    </fullPathToLibFolder>/logicboxes-sfnb-v2.jar;
    </fullPathToLibFolder>/saaj.jar;
    </fullPathToLibFolder>/servlet.jar;
    </fullPathToLibFolder>/wsdl4j.jar

    Linux

    set CLASSPATH=$CLASSPATH:
    </fullPathTo>/classes:
    </fullPathToLibFolder>/aaxerces-1_4_3.jar:
    </fullPathToLibFolder>/axis.jar:
    </fullPathToLibFolder>/commons-discovery.jar:
    </fullPathToLibFolder>/commons-logging.jar:
    </fullPathToLibFolder>/jaxrpc.jar:
    </fullPathToLibFolder>/junit.jar:
    </fullPathToLibFolder>/logicboxes-sfnb-v2.jar:
    </fullPathToLibFolder>/saaj.jar:
    </fullPathToLibFolder>/servlet.jar:
    </fullPathToLibFolder>/wsdl4j.jar

    6. Run the java program using the command line below

    java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.user.CustomerServiceLocator <params for test class>

    To find out the parameters that the command above takes you can simply choose to not pass any parameter the first time you run it. The example will print out the parameters that it expects.

    IMPORTANT 

    In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.

     

    Follow the same instructions above to run all the examples as below

    Domain Contact example:
    java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.order.DomainContactServiceLocator <params required for the class>

    Domain example:
    java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.order.DomainServiceLocator <params required for the class>

    Fund example:
    java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.management.FundServiceLocator <params required for the class>

    Step 5. Understanding Errors
    Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference:
    General API Integration Instructions >>

    Step 6. Writing your own code
    After running each example above, if you simply refer to the corresponding .java file in the src folder you will easily be able to figure out the code snippet you need to write in order to make a similar call.

    Making an API call to perform any action is a matter of two steps:

    (i) Obtain a pointer to the required service. This is done by using the code below

    com.logicboxes.foundation.sfnb.user.Customer customerObj = new com.logicboxes.foundation.sfnb.user.CustomerServiceLocator(serviceAddress).getCustomerService();

    In the above call “serviceAddress” is passed as a parameter to the constructor of “CustomerServiceLocator”. This serviceAddress refers to the URL of the server to which you are communicating. You can obtain this URL from the “settings.properties” file in the “WEB-INFclassescomlogicboxesproperties” folder.

    (ii) Call the required method on this object. A complete reference of all methods is available in the Java Docs. This can be achieved by using the code below

    int customerId = customerObj.addCustomer(resellerUserName, resellerPassword, “reseller”,resellerLangPref, parentId, customerUsername, customerPassword, name, company,address1, address2, address3, city, state, country, zip,telNoCc, telNo, altTelNoCc, altTelNo, faxNoCc, faxNo, langPref);

    IMPORTANT  

    You will notice above that EVERY method in the java docs takes the same first 5 parameters as below

    java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid

     

    These parameters are common no matter which method you call. These parameters mean the following

    java.lang.String userName: Your Username
    java.lang.String password: Your Password
    java.lang.String role: This will always be a string "reseller"
    java.lang.String langpref: The 2 letter code of the language in which you wish to receive errors and descriptions - "en" for English
    int parentid: The ID of your parent which you can get from your profile section

    Step 7. Change the information to Live information when you are ready
    Once you have followed the steps above and got the test examples to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. The URL that you make your calls to also needs to change to the LIVE Server URL. The list of URLs are available in the “settings.properties” file inside the “WEB-INFclassescomlogicboxesproperties” folder.

    Once again note, if you are using the HTTPS URL you MUST have JDK 1.4 or greater installed. HTTPS calls will not work with JDK 1.3 or lower.

    Tags: , , , , , , , , , , , , , , , , , , , ,

    09 Aug 10 Procedure To Retrieve XML Sent And Received

    While using one of the API kits, if you encounter any error that you need to report to Gossimer, you would need to provide the XML sent and received for the call you were making. Following is the procedure that you need to follow to retrieve the XML, for the various API kits we provide:

    1. PHP kit: Set the debug value to true in the lib/config.php file

    2. Perl kit: Set the $debugMode to 1 in /examples/cgi-bin/constants.cgi/font/index.html>

     

    3. .NET kit: Set the static property Properties.Debug = True in statics.aspx

     

    Having retrieved the XML sent & received, please contact us at  support@gossimer.com, along with the following details:

    Tags: , , , ,

    08 Aug 10 Server Error Format Description

    Any error thrown from the Server for any call will be formatted in a special style as below

    Example 1: com.logicboxes.error.AuthenticationException#~#com.logicboxes.foundation.sfnb.Authentication#~#Invalid Email/Password, or your User account maybe Inactive or Suspended#~#warn#~#

    Example 2: com.logicboxes.error.ValidationException#~#com.logicboxes.foundation.sfnb.order.domcno.DomCnoValidation#~#{ns2=NameServer NS2.YOURDOMAINNAME.COM is not a valid Nameserver, ns1=NameServer NS1.YOURDOMAINNAME.COM is not a valid Nameserver}#~#warn#~#

    The Error as you can see above has 4 distinct parts separated by #~#

     

    1. The 1st part is the fully.qualified.ExceptionName – This is the name of the Exception that was thrown. Some typical examples as you can see above are com.logicboxes.error.AuthenticationException, com.logicboxes.error.ValidationException

    2. The 2nd part is the fully.qualified.ClassThatThrewException – This is the Class on the server side in which the error occurred. For instance the above examples have com.logicboxes.foundation.sfnb.Authentication and com.logicboxes.foundation.sfnb.order.domcno.DomCnoValidation

    3. The 3rd part is the Exception message – This part is the one which actually tells you what the error was. For instance, in the above two examples you can see the error messages are – Invalid Email/Password, or your User account maybe Inactive or Suspended and {ns2=NameServer NS2.YOURDOMAINNAME.COM is not a valid Nameserver, ns1=NameServer NS1.YOURDOMAINNAME.COM is not a valid Nameserver}. As you can see the message is quite self-explanatory as to what the error was.

    4. The 4th part is the ExceptionLevel – This could be debug, info, warn, error or fatal. It signifies the criticality of the error that was received, in ascending Order.

     

    Any error received from the server will always follow the above format. Understanding this format will allow you to easily isolate most errors as well as assist in reporting them to us.

    Tags: , , , , , , , , , , ,

    07 Aug 10 Perl API Kit and Integration Guide

    Follow the instructions below to begin integration with the API using Perl -

    Make sure you have read the General API Integration Instructions first. If you have already integrated the PERL API Kit at your end, read the Change Log first to know what has changed since.

    Reference:

    General API Integration Instructions >>
    Change Log >>

     

    Step 1. Download the API Kit
    Click the link below to download the relevant API kits (updated on 6th March, 2008).

    PERL_CoreKIT_v3_10.zip
    PERL_DomainsKIT_v3_10.zip
    PERL_HostingKIT_v3_10.zip
    PERL_OtherProductsKIT_v3_10.zip
     

    Step 2. Download the API Documentation
    The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).

    Core_Docs_v3_10.zip
    Domains_Docs_v3_10.zip (updated on 1st April, 2008)
    Hosting_Docs_v3_10.zip
    OtherProducts_Docs_v3_10.zip

    Instructions to pass parameters to functions using the Perl Kit

    Since Perl uses typeless variables you will have to ignore the datatypes presented in the docs. But for assigning values to variable of types other than strings and integers special care will have to be taken. Below is the list of datatypes presented in the API Doc and their usage in Perl.

    Java Data

    Types Assigning values in Perl

    String

    “firstname@secondname.com”

    int

    123

    HashMap (Datatype for storing name-value pair)

    {“domain1.com”=>1,”domain2.com”=>1}

    Array and Vector (Datatype for storing more than one value)

    ["ns1.domain.com","ns2.domain.com"]

    boolean (Datatype for storing true or false)

    TRUE / FALSE

    Example:

     

    Step 3. Extract the files from the API Kit archive
    You should get the following directory & files structure

    cgi-bin/ – Pre-written examples. You can directly run these examples to test API functionality
    lib/ – The Perl classfiles, library files and wsdl files that you need to run your application
     

    Step 4. Run the examples
    You can run the pre-written examples provided in the “examples” folder. Note the following steps to do so -

    1. Upload the “examples” and “lib” folders to your web server where you run your Perl scripts. Make sure that both these folders are uploaded to the same parent folder.

    2. You must have a recent version of Perl installed on the server.

    IMPORTANT

    Please do NOT use a version of SOAP-Lite newer than 0.60, which is the current stable release.

     

    3. You must have a Demo account ready the first time. Read the General instructions if you have not yet setup your demo account. Reference: General API Integration Instructions >>

    IMPORTANT

    The Demo server duplicates all functionality of the live server, however all Domain Names will appear as available on the Demo Server. It does not query the live registry and therefore names which are not available on the live registry will still appear as available on the Demo Server. At times connectivity to the DEMO Registry may be down resulting in errors.

     

    4. Make the appropriate changes to the “constants.cgi” file in the “cgi-bin” folder, by putting in the values for your “username”, “password” and “parentid”. The remaining settings have already been made for you in this file. You may only need to change the path for the “wsdl” folder if you have uploaded the wsdl folder elsewhere.

    5. The URL to which the call is made is maintained in the “config.sh” file inside the “lib” folder. You can make changes to this file and redirect your calls to the appropriate server.

    6. Import and point to note is that you will have to execute the config.sh file from the cgi-bin directory after making any changes in this file to reflect the changes.

    7. Every Example file has a set of functions which you can run.

    8. Once you have modified the appropriate example file, access it over your webserver by putting in your URL such as http://yourserver/examples/html and choose the required function from the links given in the left frame.

    IMPORTANT

    In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.

     

     

    Step 5. Understanding Errors
    Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference: General API Integration Instructions >>
     

    Step 6. Writing your own code
    After running each example above, if you simply refer to the corresponding .Perl file in the lib folder you will easily be able to figure out the code snippet you need to write in order to make a similar call.

    Making an API call to perform any action is a matter of three steps:

    (i) Include the appropriate Perl package as below

    use lib::Customer;

    (ii) Obtain a pointer to the required Class. This is done by using the code below

    our $Customer = new Customer($debugMode);

    (iii) Call the required method on this object. A complete reference of all methods is available in the Docs folder. This can be achieved by using the code below

    $Customer->wsdlURL($wsdlFile);
    $Customer->StartServices()
    my @param = ($SERVICE_USERNAME, $SERVICE_PASSWORD, $SERVICE_ROLE, $SERVICE_LANGPREF, $SERVICE_PARENTID, $customerUserName, $customerPassword, $name, $company, $address1, $address2, $address3, $city, $state, $country, $zip, $telNoCc, $telNo, $altTelNoCc, $altTelNo, $faxNoCc, $faxNo, $customerLangPref);

    IMPORTANT

    You will notice above that EVERY method in the docs takes the same first 5 parameters as below

    String SERVICE_USERNAME, String SERVICE_PASSWORD, String SERVICE_ROLE, String SERVICE_LANGPREF, int SERVICE_PARENTID

     

    In the examples these parameters have been put into a single constants file from which they are accessed by including the constants file. These parameters are common no matter which method you call. These parameters mean the following

    String SERVICE_USERNAME: Your Username
    String 
    SERVICE_PASSWORD: Your Password
    String 
    SERVICE_ROLE: This will always be a string "reseller"
    String 
    SERVICE_LANGPREF: The 2 letter code of the language in which you wish to receive errors and descriptions - "en" for English
    int 
    SERVICE_PARENTID: The ID of your parent which you can get from your profile section
     

    Step 7. Change the information to Live information when you are ready
    Once you have followed the steps above and got the test examples to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. You will make this change in the “config.sh” file in the “lib” folder

     

    Tags: , , , , ,

    05 Aug 10 Common API Examples and Errors

    Common API Examples

     

    Title: registerDomain method under DomOrder class of Domains kit
    Description: The registerDomain method accepts complex variable/parameters whose usage cannot be easily illustrated using HTML forms. Hence, this feature cannot emulated from within your Reseller Control Panel through the Settings -> API -> Emulate API Calls -> Domains API Kit Emulator interface.
    Solution: An example of XML sent and received for this method is provided below for reference.
    Example XML: XML Sent:

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:si=”http://soapinterop.org/xsd” xmlns:impl=”com.logicboxes.foundation.sfnb.order.DomOrder” xmlns:apachesoap=”http://xml.apache.org/xml-soap”>
    <SOAP-ENV:Body>
    <impl:registerDomain>
    <userName xsi:type=”xsd:string”>
    xxxxx@zzz.com</userName>
    <password xsi:type=”xsd:string”>xxxxx4</password>
    <role xsi:type=”xsd:string”>reseller</role>
    <langpref xsi:type=”xsd:string”>en</langpref>
    <parentid xsi:type=”xsd:int”>1</parentid>
    <addParamList xsi:type=”apachesoap:Vector”>
    <item xsi:type=”apachesoap:Map”>
    <item>
    <key xsi:type=”xsd:string”>domainhash</key>
    <value xsi:type=”apachesoap:Map”>
    <item>
    <key xsi:type=”xsd:string”>apitest.com</key>
    <value xsi:type=”xsd:int”>1</value>
    </item>
    </value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>contacthash</key>
    <value xsi:type=”apachesoap:Map”>
    <item>
    <key xsi:type=”xsd:string”>registrantcontactid</key>
    <value xsi:type=”xsd:int”>123456</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>admincontactid</key>
    <value xsi:type=”xsd:int”>123456</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>technicalcontactid</key>
    <value xsi:type=”xsd:int”>123456</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>billingcontactid</key>
    <value xsi:type=”xsd:int”>123456</value>
    </item>
    </value>
    </item>
    </item>
    </addParamList>
    <nameServersList xsi:type=”apachesoap:Vector”>
    <item xsi:type=”xsd:string”>
    ns11.zzz.com</item>
    <item xsi:type=”xsd:string”>
    ns12.zzz.com</item>
    <item xsi:type=”xsd:string”>
    </item>
    <item xsi:type=”xsd:string”>
    </item>
    </nameServersList>
    <customerId xsi:type=”xsd:int”>123456</customerId>
    <invoiceOption xsi:type=”xsd:string”>OnlyAdd</invoiceOption>
    <enablePrivacyProtection xsi:type=”xsd:boolean”>false</enablePrivacyProtection>
    <validate xsi:type=”xsd:boolean”>true</validate>
    <extraInfo xsi:type=”apachesoap:Map”>
    </extraInfo>
    </impl:registerDomain>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
     

    XML Received:

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
    <soapenv:Body>
    <ns1:registerDomainResponse soapenv:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:ns1=”com.logicboxes.foundation.sfnb.order.DomOrder”>
    <ns2:Map href=_quot;#id0_quot; xmlns:ns2=”http://xml.apache.org/xml-soap”/>
    </ns1:registerDomainResponse>
    <multiRef id=”id0″ soapenc:root=”0″ soapenv:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xsi:type=”ns3:Map” xmlns:soapenc=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:ns3=”http://xml.apache.org/xml-soap”>
    <item>
    <key xsi:type=”xsd:string”>apitest.com</key>
    <value href=_quot;#id1_quot;/_gt;
    </item>
    </multiRef>
    <multiRef id=”id1″ soapenc:root=”0″ soapenv:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xsi:type=”ns4:Map” xmlns:ns4=”http://xml.apache.org/xml-soap” xmlns:soapenc=”http://schemas.xmlsoap.org/soap/encoding/”>
    <item>
    <key xsi:type=”xsd:string”>actiontypedesc</key>
    <value xsi:type=_quot;xsd:string_quot;_gt;Registration of apitest.com for 1 years</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>status</key>
    <value xsi:type=”xsd:string”>Success</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>entityid</key>
    <value xsi:type=”xsd:string”>123456</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>eaqid</key>
    <value xsi:type=”xsd:string”>123456</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>invoiceid</key>
    <value xsi:type=”xsd:string”>123456</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>actionstatus</key>
    <value xsi:type=_quot;xsd:string_quot;_gt;PendingExecution_lt;/value_gt;
    </item>
    <item>
    <key xsi:type=”xsd:string”>customercost</key>
    <value xsi:type=”xsd:string”>00.00</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>actiontype</key>
    <value xsi:type=_quot;xsd:string_quot;_gt;AddNewDomain_lt;/value_gt;
    </item>
    <item>
    <key xsi:type=”xsd:string”>description</key>
    <value xsi:type=”xsd:string”>apitest.com</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>actionstatusdesc</key>
    <value xsi:type=_quot;xsd:string_quot;_gt;Order waiting to be executed.</value>
    </item>
    <item>
    <key xsi:type=”xsd:string”>orderid</key>
    <value xsi:type=”xsd:string”>123456</value>
    </item>
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
     

     

    Common API Errors and their Solution

     

    Title: Sending Integers as numbers rather than as strings
    Description: Due to the limitations of Java, we cannot accept integers (e.g. 1) as numbers in a hash, rather they must be sent to us as strings (i.e. “1″). This is a recurrent problem when using the PHP Kit since PHP puts in Integers as plain numbers (in a hash).
    Solution: Ensure that you’re sending in numbers as strings
    Example XML: XML Sent:

    POST /anacreon/servlet/rpcrouter HTTP/1.0 User-Agent: NuSOAP/0.6.7 (1.7) Host: www.myorderbox.com Content-Type: text/xml; charset=ISO-8859-1 SOAPAction: “” Content-Length: 1543

    <?xml version=”1.0″ encoding=”ISO-8859-1″?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:si=”http://soapinterop.org/xsd” xmlns:impl=”com.logicboxes.foundation.sfnb.order.DomOrder” xmlns:apachesoap=”http://xml.apache.org/xml-soap”><SOAP-ENV:Body><impl:regis terDomain xmlns:impl=”com.logicboxes.foundation.sfnb.order.DomOrder”><userName xsi:type=”xsd:string”>xxxxx@zzz.com</userName><password xsi:type=”xsd:string”>xxxxx4</password><role xsi:type=”xsd:string”>reseller</role><langpref xsi:type=”xsd:string”>en</langpref><parentid xsi:type=”xsd:int”>1</parentid><domainHash xsi:type=”apachesoap:Map”><item><key xsi:type=”xsd:string”>fbc-elroy.com</key><value xsi:type=”xsd:int”>1</value></item></domainHash><ns xsi:type=”apachesoap:Vector”><item xsi:type=”xsd:string”>ns11.zzz.com</item><item xsi:type=”xsd:string”>ns12.zzz.com</item></ns><registrantContactId xsi:type=”xsd:int”>1548641</registrantContactId><adminContactId xsi:type=”xsd:int”>1548641</adminContactId><techContactId xsi:type=”xsd:int”>1548641</techContactId><billingContactId xsi:type=”xsd:int”>1548641</billingContactId><customerId xsi:type=”xsd:int”>321841</customerId><invoiceOption xsi:type=”xsd:string”>NoInvoice</invoiceOption></impl:registerDomain></SOAP- ENV:Body></SOAP-ENV:Envelope>
     

    XML Received:

    HTTP/1.0 500 Internal Server Error Server: Resin/3.0.s041002 Content-Type: text/xml; charset=utf-8 Date: Fri, 10 Jun 2005 16:40:04 GMT

    <?xml version=”1.0″ encoding=”UTF-8″?> <soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>com.logicboxes.error.LogicBoxesException#~#com.logicboxes.util. Util#~#java.lang.Integer#~#error#~#</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>

     

    Title: Incorrect Parent ID
    Description: An incorrect parent id is passed when trying to connect to the server
    Solution: Pass the correct parent id. You might be passing the one for demo while connecting to the live environment, or vice-versa.
    Example XML: Error Received:

    Error Code: 2, SOAP raised an error.

    Error Details:
    com.logicboxes.error.AuthenticationException#~#com.logicboxes.foundation.sfnb.Authentication#~#You are not allowed to perform this action#~#warn#~#

     

    Title: Maximum Number of Connections to the Registry Exceeded
    Description: When too many users send commands to the same Registry using a particular Registrar’s connections, then an error would be displayed
    Solution: This is a temporary issue and you need to simply try after sometime. Since the Registry provides each Registrar with a set number of connections, when these get exhausted an exception is thrown.
    Example XML: Error Received:

    01-jul-2005 16:43:31 org.apache.axis.client.Call invoke
    INFO: Mapping Exception to AxisFault
    AxisFault
    faultCode:
    {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultString:
    com.logicboxes.rtk.RegistryException#~#com.logicboxes.rtk.AbstractFactory#~#Object Not Available for registrar_domorgrrp Pool#~#error#~#
    faultActor: null
    faultDetail:
    stackTrace: AxisFault
    faultCode:
    {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultString:
    com.logicboxes.rtk.RegistryException#~#com.logicboxes.rtk.AbstractFactory#~#Object Not Available for registrar_domorgrrp Pool#~#error#~#
    faultActor: null
    faultDetail:

     

    Title: Error received when making https calls using the .NET API Kit
    Description: You may receive an error when trying to make an https call using our .NET API Kit since your .NET API Client needs to set a system security property to allow the system to accept SSL certificates.
    Solution: You need to add a class in your project (or the .NET Examples that we provide) having the following lines of code:
     

    Imports System.Security.Cryptography.X509CertificatesPublic Class TrustAllCertificatePolicy
    Implements System.Net.ICertificatePolicy
    Public Sub New()
    End Sub
    Public Function CheckValidationResult(ByVal srvPoint As System.Net.ServicePoint, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal request As System.Net.WebRequest, ByVal certificateProblem As Integer) As Boolean Implements System.Net.ICertificatePolicy.CheckValidationResult
    Return True
    End Function
    End Class


    The code will allow the system to accept all kinds of certificates whatsoever. If you want the system to accept only a specific certificate, then you need to modify the code of the function “CheckValidationResult” above accordingly.

    Also the user needs to include the following line of code before making the any function call to the https URL:

    System.Net.ServicePointManager.CertificatePolicy = New TrustAllCertificatePolicy

    We would suggest that you include the above line in the NetAPI.vb class constructor.

    After performing all the above steps, you would be able to make the https calls using the .NET API Kit without any error.

    Example XML: Error Received

    System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. —> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
    at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
    at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
    at System.Net.TlsStream.CallProcessAuthentication(Object state)
    at System.Threading.ExecutionContext.runTryCode(Object userData)
    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
    at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
    at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
    at System.Net.ConnectStream.WriteHeaders(Boolean async)

     

    Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,