CA2384834A1 - Methods and apparatus for establishing and maintaining internet domain name registrations - Google Patents

Methods and apparatus for establishing and maintaining internet domain name registrations Download PDF

Info

Publication number
CA2384834A1
CA2384834A1 CA002384834A CA2384834A CA2384834A1 CA 2384834 A1 CA2384834 A1 CA 2384834A1 CA 002384834 A CA002384834 A CA 002384834A CA 2384834 A CA2384834 A CA 2384834A CA 2384834 A1 CA2384834 A1 CA 2384834A1
Authority
CA
Canada
Prior art keywords
string
attr
nsiwholesaleapi
command
qsee
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002384834A
Other languages
French (fr)
Inventor
Lawrence Mark Brem
Sanjeev Chauhan
David Alan Moston
Sujata Nakhre
Brian Christopher Taylor
Gregory E. Korzeniewski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verisign Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2384834A1 publication Critical patent/CA2384834A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

Methods and apparatus for conducting transactions associated with managing Internet domain names includes establishing a connection between application programs of other users and a registrar of Internet domain names over the Internet, authenticating the right of the user to so request fulfillment of a transaction, establishing a secure socket layer within the connection and processing commands after such authentication.

Description

METHODS AND APPARATUS FOR ESTABLISHING
AND MAINTAINING INTERNET DOMAIN NAME
REGISTRATIONS

RELATED APPLICATION
This application claims the benefit of U.S. Provisional Application No.
60/153,960, filed September 15, 1999, the disclosure of which is expressly incorporated herein by reference.
Copending U.S. Patent Application Serial No. 09/544,305, filed April 6, 2000, is also expressly incorporated herein by reference.
FIELD OF THE INVENTION
The present invention relates to the field of domain name registration. More particularly, the invention relates to methods and apparatus, which provides an application program interface to enable the registration and maintenance of Internet domain names.
BACKGROUND OF THE INVENTION
The explosive growth of the Internet has created the need for orderly management of the process for creating domain name registrations (also known as Web addresses) and subsequent administrative activities such as changes in ownership, renewals, and so forth. Until recently, Network Solutions, Inc. of Herndon, Virginia was the exclusive entity through which domain name registrations ("DNRs") were acquired and registered, at least for domain names ending in .com, .net, .org and .edu. In such role, Network Solutions, Inca is known as a Registrar. Approximately five million Web addresses have been registered by Network Solutions, Inc. so far.
Presently-implemented systems for registration of Web Addresses rely almost exclusively on the use of e-mails between users and the Registrar for each step of the process. For example, FIG. 4 shows the sequence of steps for registration, a customer (Registrant) prepares to register new Web Address 100;
The Registrant fills out a Service Agreement (102). The Service Agreement is submitted by e-mail to the Registrant, for example, to hostmaster@internic.net (step 104). The Request is automatically assigned a tracking number 106. The Service Agreement is automatically checked for errors 108. The Service Agreement is processed if there are no errors and the registrant is notified via e-mail when completed 112. Web Address registration is complete with a message.
For example, the message may read: "Your Web Address registration is complete"
(step 114). The customer is invoiced for the Web Address registration, step 116, and pays for the registration (step 118).
Finally, the Registrar sends a re-registration notice to registrant 60 days before the two year anniversary of the initial registration (step 120). Should there be an error in the Service Agreement, the registration process is not completed and an e-mail is sent to the customer informing it of the problem (step 110).
While this process works effectively, it is not without certain shortcomings.
Most notably, the use of the Internet for e-mailing notices is not generally on a "real-time" basis. It may sometimes take several days for an e-mail to be delivered, particularly to parts of the world where the Internet support structure is not fully established. In addition, e-mails may become corrupted which creates further delays since the recipient must ask for the messages to be resent.
Further, recent events have resulted in the development of a concept termed "Wholesaling"
by which other organizations, such as Internet Services Providers ("ISP"), Internet hosting providers, Internet portals and Electronic Commerce Providers are allowed to secure such DNRs on behalf of their own customers. In effect, such organizations act as their own Registrars by offering their customers an interface which permits unsophisticated and sophisticated users to interface with the registration process and subsequent management thereof.
Ultimately, however, DNRs are still issued by the Registrar, Network Solutions, Inc.
This expansion in the number of outlets for securing DNRs has led to the development of systems and methods to facilitate wholesaling.
Network Solutions, Inc. provides the NSI Wholesale Service Protocol ("WSP"), which establishes support of a real-time programmable interface for the purchase and management of Network Solutions, Inc. ("NSI") products and services a system. This system would permit users seeking registrations to complete the process, regardless of their level of expertise in computer technology in general, and the Internet in particular. The WSP uses a simple, connection-based, synchronized, ASCII text-based protocol to communicate with an NSI Wholesale System over the Internet, thereby allowing Wholesalers to securely and reliably create, modify, and delete customer accounts and various products including the registration and management of Internet domain names.
The WSP consists of a set of commands that a Wholesaler may issue to create customers or domain-name-related products. Each command returns a set of'properties' and major and minor error codes. In many cases, the result of one command is used as input to the next command.
Wholesale commands are either synchronous or asynchronous. Generally, customer creation and management commands are synchronous, while domain creation and management commands are asynchronous. An "as-fast-as-possible" fulfillment system for asynchronous commands maintains queues in order to guarantee that the order is not lost in the case of external system problems. Typical synchronous response times are several seconds or less, while asynchronous times, for example, to complete a registration, are typically less than a few minutes.

There are two primary security mechanisms in the NSI Wholesale System. All Wholesalers must supply the IP addresses from which they will connect and establish Secure Socket Layer ("SSL") connections to the NSI Wholesale System. They also must use an account number and password when issuing session commands. NSI provides these ahead of time to Wholesalers. While this system provides numerous advantages over the prior art, there is a need to make the system universally available.
Accordingly, there is presently a need for methods and apparatus which provides an application program interface to allow computer application programs of other users, to access the Wholesale system and to conduct transactions associated with the registration and management of Internet domain names in the same manner as the WSP.
SUMMARY OF THE INVENTION
To achieve these objects and other advantages and in accordance with the purposes of the invention, as embodied and broadly described herein. The present invention is directed to methods and apparatus for interfacing a user application program to a system for conducting transactions associated with managing Internet domain names by establishing over the Internet a connection between the user and the system; authenticating the right of the user to conduct a transaction associated with managing Internet domain names; establishing a secure socket layer within the application program interface and the system; receiving a request in the application program interface from the applications program to initiate a transaction following such authentication; and transmitting commands by the application program interface to the system effectuating the transaction.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and together with the description, serve to explain the principles of the invention. In the drawings, FIG. 1 is a diagram of a preferred embodiment of the invention, wherein an application program interface, WSP Java API, implements the functionality of a WSP in a series of Java object classes;
FIG. 2 shows an exemplary flowchart of the method for interfacing a user application program to a system for conducting transactions associated with managing Internet domain names;
FIG. 3 shows an exemplary diagram of the apparatus for interfacing a user application program to a system for conducting transactions associated with managing Internet domain names.
DETAILED DESCRIPTION
Reference will now be made in detail to the present preferred embodiment of the invention, an example of which is illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like elements.
The methods and apparatus provides an application program interface that is accessed by user application programs to establish a connection to a system for conducting transactions associated with managing Internet domain names.
Refernng to FIG. l, a computer application program 12 typically provides an interface to the user to collect customer data. The computer application program 12 typically issues a session request to the application program interface, WSP Java API 14, in order to establish a session over the Internet 10 with the Wholesale System 16 and to issue various commands.
The WSP Java API 14 is essentially a Java'wrapper' of the WSP. It consists of two main classes: NSIWholesaleAPI and WSPResponse. The NSIWholesaleAPI contains all of the methods for creating customers, products, and services. WSPResponse is a single class returned from most methods and contains the result of the issued command request and will optionally include any additional data that was generated by the request.
One advantage of using WSP Java API 14 is that when the NSIWholesaleAPI object is created, the object creates a'poof of SSL connections to the Wholesale system 16. This class removes the need to issue a'session' command, and removes the burden from a Wholesaler of making and managing SSL connections. Mufti-threaded applications may also use this connection pool.
FIG. 2, shows an exemplary flowchart of the invention. A user 20, sends a request to the application program 12 to conduct a transaction associated with managing Internet domain names.
The application program 12 typically provides an interface to a user to collect customer data. The application program 12 typically issues a session request to the application program interface 14 to establish a session over the Internet 10 with the Wholesale System 16. The application program interface 14 will authenticate a user's right to conduct a transaction by attempting to connect to the Wholesale System 16 using user account information received from the application program 12. If the authentication fails, the application program interface 14 will attempt two additional authentications. The application program interface 14 will send the result of the authentication to the application program 12. If the authentication is successful, the application program interface 14 will establish a secure socket layer with the Wholesale System 16. The application program 12 will send a request to the application program interface 14 to make available the set of commands through the instantiation of an object of class NSIWholesaleAPI. The application program 12 may now send a request to any of the object methods to request the processing of a command. The application program interface 14 will receive the command request along with any data. The application program interface 14 will format the data and the command into a string as described in detail in the aforementioned copending U.S. Patent Application Serial No.
09/544,305. The . application program 14 will then transmit the request across the Internet 10 to the Wholesale System 16 to effectuate the transaction. The Wholesale System 16 will process the request and will return the result of the transaction across the Internet 10 to the application program interface 14. The application program interface 14 will send a response to the application program 12.
FIG. 3, is a diagram of an exemplary computer environment in which methods consistent with the present invention may be implemented. A component is provided for a user 20, to send a request to the application program 12 to conduct a transaction associated with managing Internet domain names. The application program 12 typically provides an interface to user 20 to collect customer data. The application program 12 typically issues a session request to the application program interface 14 to establish a session over the Internet 10 with the Wholesale System 16. A
component is also provided for authenticating the right of the user 20 to conduct a transaction. The application program interface 14 will authenticate a user's right to conduct a transaction by attempting to connect to the Wholesale System 16 using the user account information received from the application program 12. If the authentication fails, the application program interface 14 will attempt two additional authentications. The application program interface 14 will send the result of the authentication to the application program 12. A component is also provided for establishing a secure socket layer if the authentication is successful. The application program interface 14 will establish a secure socket layer with the Wholesale System 16. A component is also provided for initiating a transaction following a successful authentication. The application _ g_ program 12 will send a request to the application program interface 14 to make available the set of commands that are available in the Wholesale System 16 through the instantiation of an object of class NSIWholesaleAPI. The application program 12 may now send a request to any of the object methods to request the processing of a command. The application program interface 14 will receive the command request along with any data. A component is also provided for transmitting commands through the secure socket layer. The application program interface 14 will format the data and command into a string as described in detail in the aforementioned copending U.S. Patent Application Serial No. 09/544,305. The application program 14 will then transmit the request across the Internet 10 to the Wholesale System 16 to effectuate the transaction. The Wholesale System 16 will process the request and return the result of the transaction across the Internet 10 to the application program interface 14. The application program interface 14 will send a response to the application program 12.
The name of the WSP Java API configuration file is typically WSPj avaAPI .
conf. This file contains specific information about each Wholesale user. The values for the parameters in that file are provided when a Wholesale agreement is completed with a Registrar, such as NSI. The file includes the following parameters:
WholesaleAPI.minConnections=2 WholesaleAPI.maxConnections=2 WholesaleAPI.connectionSoTimeout=120000 WholesaleAPI.connectionProtocol=WSP1.5 WholesaleAPI.server=XXX.netsol.com WholesaleAPI.port=X000 WholesaleAPI.retry=1 WholesaleAPI.WholesalerAccountId=12345678 WholesaleAPI.WholesalerPassword=XXXXXXXX
_ g_ The values indicated with an "X" will change from user to user. The definition of each of these parameters is as follows:
Configuration File Parameters Name Type Typical ValueDefinition minConnections Positive2 through Connection Pooling Tuning 10 Parameter Integer maxConnections PositiveminConnectionsConnection Pooling Tuning Parameter Integer through 5 connectionSoTimeoutPositive120000 Number of milliseconds of non-use Integer before the API will time out a connection Server String X.netsol.comServer name for Wholesale protocol at Registrar. The exact name will be provided when the Wholesale agreement is established.

Port Integer XXXX IP Port on the server for connection WholesalerAccountIdString XXX Unique identifier of each Wholesale partner WholesalerPasswordString XXXXXXX Unique code, necessary for connection to NSI, for Wholesale operations CLASS HIERARCHY

o class java.lang.Obiect o class nsi.wholesale.toolkit.javaapi.NSIWholesaleAPI
o class java.lang.Throwable (implements java.io.Serializable) o class java.lang.Exception o class nsi.wholesale.toolkit.javaapi.NSIWholesaleException o class nsi.wholesale.toolkit.javaapi.WSPException o class nsi.wholesale.toolkit.javaapi.InvalidAr~umentException o class nsi.wholesale.toolkit.javaapi.InvalidResponseFormatException o class nsi.wholesale.toolkit.javaapi.WSPResponse The NSIWholesaleAPI class constructs an instance of a new NSIWholesaleAPI
object whose methods can be called to perform Wholesale-related activities, such as connecting to the Wholesale System 16 over the Internet through a SSL, and it allows the computer application program 12 to create and manage Internet domain names. The class definition for NSIWholesaleAPI includes the following:
Constructor Summary NSIWholesaleAPI() Method Summary WSPResponse createBusinessACCOUnt(String aCompanyName, Strin aCompanyType, String aAddressl, String aCity, Strin aCountryCode, String aPhone, Strin aCustomerPassword, Strin aAuthQuestion, String aAuthAnswer, St- ring aLegalContactFirstName, String aLegalContactLastName) This method creates a business customer account and returns an automatically generated customer account id.
WSPResponse createBusinessAccount(St_ ring aCompanyName, Strin aCompanyType, String aAddressl, String aCity, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, Strin aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName, Properties optionalAttributes) This method creates a business customer account and returns an automatically generated customer account id.

WSPResponse createBusinessAccount(Strin aCompanyName, Strin aCompanyType, Strin aAddressl, String aCity, String aCountryCode, String aPhone, Strin aCustomerPassword, String aAuthQuestion, Strin aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName, St- ring aState, String aPostalCode) This method creates a business customer account and returns an automatically generated customer account id.

WSPResponse createBusinessAccount(String aCompanyName, String aCompanyType, String aAddressl, String aCity, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, Strin aLegalContactFirstName, Strin aLegalContactLastName, String aState, Strin aPostalCode, Properties optionalAttributes) This method creates a business customer account and returns an automatically generated customer account id.

WSPResponse createDnsHosting(String pCustomerAccountId, String pCustomerPassword, String aDomainName) This method registers a DNS Hosting product for an existing customer account.

WSPResponse createDnsHosting(String pCustomerAccountId, String pCustomerPassword, Strin aDomainName, Properties optionalAttributes) This method registers a DNS Hosting product for an existing customer account.

WSPResponse createDomain(String pCustomerAccountId, String pCustomerPassword, String aDOmainName, String aHostIdl, String aHostId2, Strin aTechContactId) This method registers a new domain product for an existing customer account.

WSPResponse createDomain(Strin pCustomerAccountId, Strin pCustomerPassword, String aDomainName, String aHostIdl, St_ ring aHostId2, St, ring aTechContactId, Properties optionalAttributes) This method registers a new domain product for an existing customer account.

WSPResponse createDomain(String pCustomerAccountId, Strin pCustomerPassword, String aDomainName, Strin aHostNamel, Strin aHostAddrl, Strin aHostName2, String aHostAddr2, Strin aTechContactId) This method registers a new domain product for an existing customer account.

WSPResponse createDomain(String pCustomerAccountId, String pCustomerPassword, Strin aDomainName, String aHostNamel, String aHostAddrl, St_ ring aHostName2, String aHostAddr2, Strin aTechContactId, Properties optionalAttributes) This method registers a new domain product for an existing customer account.

WSPResponse createIndividualAccount(String aFirstName, String aLastName, St_ ring aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, St- ring aAuthQuestion., String aAuthAnswer, String aCity) This method creates an individual customer account and returns an automatically generated customer account id.

WSPResponse createIndividualAccount(Strin aFirstName, String aLastName, String aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, Strin aAuthAnswer, String aCity, Properties optionalAttributes) This method creates an individual customer account and returns an automatically generated customer account id.

WSPResponse createIndividualAccount(String aFirstName, String aLastName, Strin aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity, String aState, String aPostalCode) This method creates an individual customer account and returns an automatically generated customer account id.

WSPResponse createIndividualAccount(Strin aFirstName, String aLastName, Strin aAddressl, Strin aCountryCode, Strin aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity, String aState, Strin aPostalCode, Properties optionalAttributes) This method creates an individual customer account and returns an automatically generated customer account id.

WSPResponse createTechnicalContact(Strin aFirstName, String aLastName, Strin a0rganization, String aAddressl, String aCountryCode, String aPhone, St_ ring aEmail, String aTechContactPassword, Strin aCity) This method creates a technical contact and returns an automatically generated technical contact id (NIC Handle).

WSPResponse createTechnicalContact(Strin aFirstName, String aLastName, Strin a0rganization, String aAddressl, String aCountryCode, Strin aPhone, St- ring aEmail, String aTechContactPassword, St- ring aCity, Properties optionalAttributes) This method creates a technical contact and returns an automatically generated technical contact id (NIC Handle).

WSPResponse createTechnicalContact(String aFirstName, Strin aLastName, Strin aOrganization, String aAddressl, String aCountryCode, String aPhone, String aEmail, String aTechContactPassword, String aCity, Strin aState, String aPostalCode) This method creates a technical contact and returns an automatically generated technical contact id (NIC
Handle).

WSPResponsecreateTechnicalContact(String aFirstName, String aLastName, Strin aOrganization, String aAddressl, Strin aCountryCode, String aPhone, St_ ring aEmail, String aTechContactPassword, String aCity, String aState, Strin aPostalCode, Properties optionalAttributes) This method creates a technical contact and returns an automatically generated technical contact id (NIC
Handle).

WSPResponsedescribe(String pTarget) , This method provides information about a specified target.

WSPResponsedescribe(String pTarget, Properties optionalAttributes) This method provides information about a specified target.

WSPResponsegenerateDomainName(String pKeyWords) This method is used to generate a list of available domain names based on a specified list of keywords.

WSPResponsegenerateDomainName(String pKeyWords, Properties optionalAttributes) This method is used to generate a list of available domain names based on a specified list of keywords.

static StringgetJdkVersion() Static accessor method to get JDK version static longgetSerialVersion() Static accessor method to get serial version static doublegetVersion() Static accessor method to get release version WSPResponsehelp() This method returns basic information about the supported protocol commands and classes.

WSPResponsehelp(Properties optionalAttributes) This method returns basic information about the supported protocol commands and classes.

static voidinit(Properties properties) Initializes the Wholesale Services Protocol API.

static voidinit(String configFileName) Initializes the Wholesale Services Protocol API.

WSPResponselookupBusinessAccount() Retrieves a list of all business customer accounts linked to wholesaler.

WSPResponselookupBusinessAccount(Properties optionalAttributes) Retrieves a list of all business customer accounts linked to wholesaler.

WSPResponse lookupBusinessAccount(Strin pCustomerAccountId, String pCustomerPassword) Retrieves details of a specific business customer account.
WSPResponse lookupBusinessAccount(Strin pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes) Retrieves details of a specific business customer account.
WSPResponse lookupDnsHosting(String pCustomerAccountId, String pCustomerPassword) Retrieves a list of all domain names associated with DNS
Hosting products owned by customer.
WSPResponse lookupDnsHosting(String pCustomerAccountId, St- ring pCustomerPassword, Properties optionalAttributes) Retrieves a list of all domain names associated with DNS
Hosting products owned by customer.
WSPResponse lookupDnsHosting(String pCustomerAccountId, I
String pCustomerPassword, String pDomainName) Retrieves details of a specific DNS Hosting product owned by customer.
WSPResponse lookupDnsHosting(St_ ring pCustomerAccountId, String pCustomerPassword, String pDomainName, Properties optionalAttributes) Retrieves details of a specific DNS Hosting product owned by customer.
WSPResponse lookupDomain(Strin pCustomerAccountId, String pCustomerPassword) Retrieves a list of all domain products owned by customer.
WSPResponse lookupDomain(Strin pCustomerAccountId, St_ ring pCustomerPassword, Properties optionalAttributes) Retrieves a list of all domain products owned by customer.
WSPResponse lookupDomain(String pCustomerACCOUntId, St_ ring pCustomerPassword, String pDomainName) Retrieves detail information about a specific domain product registered to a customer.
WSPResponse lookupDomain(String pCustomerAccountId, String pCustomerPassword, String pDomainName, Properties optionalAttributes) Retrieves detail information about a specific domain product registered to a customer.
WSPResponse lookupDomainByTechContact(String pCustomerAccountId, String pTechContactId, String pTechContactPassword) Retrieves a list of the customer's domain products for which the technical contact id is the technical contact.
WSPResponse lookupDomainByTechContact(String pCustomerAccountId, String pTechContactld, Strin pTechContactPassword, Properties optionalAttributes) Retrieves a list of the customer's domain products for which the technical contact id is the technical contact.

WSPResponse lookupDomainByTechContact(Strin pCustomerAccountId, String pTechContactId, Strin pTechContactPassword, Strin pDomainName) Retrieves details of a specific domain product owned by customer, for which the technical contact id is the technical contact for the specific product.

WSPResponse lookupDomainByTechContact(String pCustomerAccountId, Strin pTechContactId, String pTechContactPassword, Strin pDomainName, Properties optionalAttributes) Retrieves details of a specific domain product owned by customer, for which the technical contact id is the technical contact for the specific product.

WSPResponse lookupIndividualAccount() Retrieves a list of all individual accounts linked to a wholesaler.

WSPResponse lookuplndividualAccount(Properties optionalAttributes) Retrieves a list of all individual accounts linked to a wholesaler.

WSPResponse lookupIndividualAccount(Strin pCustomerAccountId, Strin pCustomerPassword) Retrieves details of a specific individual customer account.

WSPResponse lookupIndividualAccount(String pCustomerAccountId, St- ring pCustomerPassword, Properties optionalAttributes) Retrieves details of a specific individual customer account.

WSPResponse lookupTechnicalContact(St_ ring pTechContactId) Retrieves details of a specific technical contact.

WSPResponse lookupTechnicalContact(String pTechContactId, Properties optionalAttributes) Retrieves details of a specific technical contact.

WSPResponse modifyBusinessAccount(Strin pCustomerAccountId, Strin pCustomerPassword) This method is used to modify one or more attributes of an existing business (organization) customer account.

WSPResponse modifyBusinessAccount(String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes) This method is used to modify one or more attributes of an existing business (organization) customer account.

WSPResponse modifyDomain(String pCustomerAccountId, String pIspPassword, Strin pDomainName, St- ring aTechContactId) ' !
This method allows an Internet Service Provider (ISP) to modify the Technical Contact Id of a specific domain product.

WSPResponse modifyDomain(String pCustomerAccountId, String pIspPassword, Strin pDOmainName, String aTechContactld, Properties optionalAttributes) This method allows an Internet Service Provider (ISP) to modify the Technical Contact Id of a specific domain product.

WSPResponse modifyDomain(String pCustomerAccountId, String pCustomerPassword, St- ring pDomainName, String aHostIdl, String aHostId2, Strin aTechContactId) This method allows a customer to modify one or more attributes associated with a specific instance of a Domain product registered to that customer.
WSPResponse modifyDomain(St- ring pCustomerAccountId, St_ ring pCustomerPassword, String pDomainName, String aHostIdl, Strin aHostId2, String aTechContactId, Properties optionalAttributes) This method allows a customer to modify one or more attributes associated with a specific instance of a Domain product registered to that customer.
WSPResponse modifyDomain(St- ring pCustomerAccountId, String pTechContactId, Strin pTechContactPassword, String pDomainName, String aHostIdl, String aHostId2, Strin aTechContactId) This method allows a technical contact of a customer's domain product to modify one or more attributes associated with that specific instance of the Domain product registered to that customer.
WSPResponse modifyDomain(Strin pCustomerAccountId, String pTechContactId, Strin pTechContactPassword, String pDomainName, String aHostIdl, String aHostId2, String aTechContactId, Properties optionalAttributes) This method allows a technical contact of a customer's domain product to modify one or more attributes associated with that specific instance of the Domain product registered to that customer.
WSPResponse modifyDomain(Strin pCustomerAccountId, St- ring pCustomerPassword, String pDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId) This method allows a customer to modify one or more attributes associated with a specific instance of a Domain product registered to that customer.
WSPResponse modifyDomain(Strin pCustomerAccountId, String pCustomerPassword, Strin pDOmainName, Strin aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId, Properties optionalAttributes) This method allows a customer to modify one or more attributes associated with a specific instance of a Domain product registered to that customer.
WSPResponse modifyDomain(String pCustomerAccountId, String pTechContactId, Strin pTechContactPassword, String pDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId) This method allows a technical contact of a customer's domain product to modify one or more attributes associated with that specific instance of the Domain product registered to that customer.

WSPResponse modifyDomain(String pCustomerAccountId, Strin pTechContactId, String pTechContactPassword, Strin pDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId, Properties optionalAttributes) This method allows a technical contact of a customer's domain product to modify one or more attributes associated with that specific instance of the Domain product registered to that customer.

WSPResponse modifyIndividualAccount(Strin pCustomerAccountId, Strin pCustomerPassword) This method is used to modify one or more attributes of an existing individual customer account.

WSPResponse modifylndividualAccount(String pCustomerAccountId, Strin pCustomerPassword, Properties optionalAttributes) This method is used to modify one or more attributes of an existing individual customer account.

WSPResponse modifyPassword(String pCustomerAccountId, String aCustomerPassword) This method is used to modify/reset a customer's account password.

WSPResponse modifyPassword(St_ ring pCustomerAccountId, Strin aCustomerPassword, Properties optionalAttributes) This method is used .to modify/reset a customer's account password.

WSPResponse modifyTechnicalContact(String pTechContactId, String pTechContactPassword) This method is used to modify one or more attributes of an existing technical contact.

WSPResponse modifyTechnicalContact(St- ring pTechContactId, String pTechContactPassword, Properties optionalAttributes) This method is used to modify one or more attributes of an existing technical contact.

WSPResponse quit() This method terminates the wholesaler's access to session commands.

WSPResponse quit(Properties optionalAttributes) This method terminates the wholesaler's access to session commands.

void shutdown() This method shutsdown the Wholesaler Services Protocol API.

WSPResponse verifyDomainName(St_ ring pDomainName) This method verifies whether or not a specified domain name is available.

WSPResponse verifyDOmainName(St_ ring pDomainName, Properties optionalAttributes) This method verifies whether or not a specified domain name is available.

WSPResponse'verifyDomains(String pDomainTarget) 'I This method verifies if series of domains are available.

WSPResponseverifyDomains(String pDomainTarget, Properties optionalAttributes) This method verifies if series of domains are available.

WSPResponseverifyPassword(String pCustomerAccountId, String pCustomerPassword) This method verifies whether or not a specified customer account id and password are valid.

WSPResponseverifyPassword(String pCustomerAccountId, St- ring pCustomerPassword, Properties optionalAttributes) This method verifies whether or not a specified customer account id and password are valid.

Methods inherited from class java.lang.Object equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait The WSPResponse class represents the various components of a WSP response. A
WSPResponse will be returned for command request that are issued through the application program interface 14. The response will describe, in as much detail as possible, the result of the issued request, and will optionally include any additional information that was generated by the request. A result consists of a "result code" followed by a descriptive "result message." The result code consists of a major result code followed by a period ('.'), followed by a minor result code.
The three-digit major result code provides a general indication of the success or failure of an issued request. In most cases, one or more result properties are returned.
The three-digit minor result code may provide additional information about the major result code.
Each command request has its own set of minor result code values or may have the value (000). The WSPResponse and the result code are described in more detail in the aforementioned copending U.S. Patent Application Serial No. 09/544,305. A result property consists of a property key followed by a colon (':'), followed by a property value. In some results, plain text is returned (e.g.
information returned from the Help command). The result property is described in more detail in the aforementioned copending U.S. Patent Application Serial No. 09/544,305.
The class definition for WSPResponse includes the following:
Constructor Summary WSPResponse(String data) Parses a WSP text response and extracts and stores the various components.
Method Summary static void displayResponse(WSPResponse response) prints debug-type representation of the WSP Response to standard output static Strin getJdkVersion() Static accessor method to get JDK version int getMajorResultCode() returns the WSP response major result code int getMinorResultCode() ~ returns the WSP response minor result code Properties getProperties() Returns a property list containing all result property specifications, if applicable, extracted from the original WSP text response.

static PropertiesgetProperties(WSPResponse wspResponse) Returns a property list containing all result property specifications, if applicable, extracted from the original WSP text response.

String getProperty(Strin resultPropertyKey) returns the result property value corresponding to the specified result property key, if found, extracted from the original WSP text response.

St- ring getRawResponse() Returns the original WSP text response string used to instantiate object.

Strin getResultCode() returns the WSP response result code Strin ~getResultCodeAndMessage() Y

returns the WSP response result code and result message String getResultMessage() Returns the result message extracted from the original WSP
text response.
static long getSerialVersion() Static accessor method to get serial version Vector getText() returns a vector containing lines of text returned in the WSP
response.
static double getVersion() Static accessor method to get release version String toString() returns the raw WSP response Methods inherited from class java.lang.Objiect equals, getClass, hashCode, no- tify, notifyAll, wait, wait, wait The NSIWholesaleException class is a user-defined exception class denoting a special error thrown by the methods in the class NSIWholesaleAPI. In particular, exceptions of the class NSIWholesaleException are thrown (a) when class initialization fails; (b) when a method in NSIWholesaleAPI is called without successfully initializing the class; (c) when a command cannot be completed (for example due to communications problems); or (d) to reframe an NSIException thrown at a lower level to give additional context information.
The class WSPException is the parent for wholesale protocol exception classes which processes responses sent by Wholesale Server 16 to computer application program 12. This is a service class, not used explicitly. It furnishes the base methods for storing error information common to all exception classes.
The classes InvalidArgumentException and InvalidResponseFormatException are the detail class children of WSPException. Both methods have the same internal functionality as WSPExcepton. In addition, both classes are independent, so that methods receiving the thrown exceptions know the type of error detected, even if the error context information is identical. In particular, the WSPResponse class throws InvalidArgumentException if the data returned by Wholesale Server 16 as part of a command, is invalid. The WSPResponse class throws class InvalidResponseFormatException if the data returned by the Wholesale Server 16 as part of a command, is not properly formatted. The class definition for NSIWholesaleException includes the following:
Constructor Summary NSIWholesaleException() NSIWholesaleException(Strin message) NSIWholesaleException(String message, Throwable throwable) NSIWholesaleException(Throwable throwable) I
Method Summary static StringgetJdkVersion() Static accessor method to get JDK version static long getSerialVersion() Static accessor method to get serial version static doublegetVersion() Static accessor method to get release version String~ toString() __ Methods inherited from class java.lang.Throwable fillInStackTrace, getLocalizedMessage, getMessage, printStackTrace, printStackTrace, printStackTrace Methods inherited from class java.lang.Ob~ect equals, getClass, hashCode, notify, notifyAll, wait, wait, wait The class definition for WSPException includes the following:
Method Summary static Strip getJdkVersion() Static accessor method to get JDK version Strip c~etMessage() static long~getSerialVersion() Static accessor method to get serial version static double getVersion() Static accessor method to get release version Methods inherited from class java.lang.Throwable fillInStackTrace, getLocalizedMessage, QrintStackTrace, printStackTrace, printStackTrace, toString Methods inherited from class java.lang.Objiect equals, getClass, hashCode, no- tify, notifyAll, wait, wait, wait The class definition for InvalidArgumentException is as follows:
Constructor Summary InvalidArgumentException() .. ..~.. ",~..,~.~.", InvalidArgumentException(String message) I
InvalidArgumentException(Strin message, Throwable x) !
I
Method Summary static ~StringetJdkVersion ( ) ~

Static accessor method to get JDK version String getMessage() static long getSerialVersion() Static accessor method to get serial version double getVersion() static - Static accessor method to get release version Methods inherited from class java.lang.Throwable fillInStackTrace, getLocalizedMessage, printStackTrace, printStackTrace, printStackTrace, toString Methods inherited from class java.lang.Object equals, getClass, hashCode, notif , notifyAll, wait, wait, wait The class definition for InvalidResponseFormatException includes the following:
Method Summary static Strin ~ getJdkVersion() Static accessor method to get JDK version Strin getMessage() static long getSerialVersion() Static accessor method to get serial version static double getVersion() Static accessor method to get release version Methods inherited from class java.lang.Throwable fillInStackTrace, getLocalizedMessage, printStackTrace, printStackTrace, printStackTrace, toString Methods inherited from class java.lang.Objiect equals, getClass, hashCode, notif , notifyAll, wait, wait, wait The invention will be further clarified by the following example showing a computer program file for creating a session with a Wholesale system to begin Wholesale operation, which is intended to be purely exemplary of the invention.
~**
*---------- Copyright (c) 2000 Network Solutions, Inc ----------<BR>
* This class is a demonstration program for use case 1: Creating a session * with NSI to begin wholesale operations.
* This class assumes the existance of the file WSPjavaAPI.conf, which was set * up in running the installation test earlier.
*<BR>-__-_--_____-_-____-_____________-____--_____-___-___-_--___<BR>
*/
// Imports import java.util.*;
import java.io.*;
import nsi.wholesale.toolkit.javaapi.util.resourcepool.*;
import nsi.wholesale.toolkit.javaapi.*;
//
class NSIUseCasel //----__-_-_-_____---___--____-__-__--__________________-__-__________ public static void main(String args[]) NSIWholesaleAPI api = null;
// Use the properties from the configuration file to establish a session try {
NSIWholesaleAPI.init("WSPjavaAPI.conf");
catch (NSIWholesaleException e) {
System.out.print("Unable to initialize NSI Wholesale API:' + e);
System.exit(1);
//Having initialized the NSI Wholesale API, we now need to // create an instance of the API by calling constructor NSIWholesaleAPI() try {
api = new NSIWholesaleAPI();
catch (NSIwholesaleException e) {
System.out.print("Unable to initialize NSI Wholesale API:" + e);
System.exit(1);
//
// At this point, if no error has been thrown, then the session // is established, and a number of connections have been opened // in the connection pool.
//
//
// Here, the call to methods on "api" are used to perform // wholesale related activities. For this use case, // there are none.
//
// End the session. This is done by calling the shutdown method on the // instance of the wholesale API that was created earlier.
api.shutdown();
The WSP Java API 14 is an implementation of the WSP. In every case where the WSP
Java API 14 is used, the first steps are to initialize a session and then create an instance of the class to reference the methods. Individual calls to methods are instances of a single protocol exchange.
Each call contains all necessary information (e.g., customer identification, contact information).
Except for session information, no information carries over from method to method.
As the example shows, the first evocation of a routine in the WSP Java API 14 is to the class method NSIWholesaleAPLinit to initialize the interface to the Wholesale System 16. The second evocation, creates an instance of the class NSIWholesaleAPI, which makes available to the application program 12 the methods to send commands to the Wholesale System 16. The application program ~12 can now send command requests to the application program interface 14.

The last evocation is to the shutdown method, which ends the session with the Wholesale System 16.
It is to be noted that in the above description, references to Network Solutions, Inc. and NSI, including but not limited to references which are imbedded in the examples given of classes, methods, constructors, drawings, and the like, are intended to be exemplary only and not restricted to any particular implementation.
While the foregoing description is based on a client-server architecture, those skilled in the art will recognize that other types of architecture may be used consistent with the invention. In addition, while the foregoing description is based on a software implementation, other .
implementations may be used consistent with the invention. Further, while the foregoing description is based on the Java language, those skilled in the art will recognize that other types of language may be used consistent with the invention. Therefore, it is intended that this invention not be limited to the particular implementation and method disclosed herein, but that the invention include all implementations falling within the scope of the appended claims.
The foregoing description is presented for illustration and explanation. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications of variations are possible in light of the above teachings or may be acquired from practice of the invention. The principles of the invention and its practical application enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the use contemplated.
The class definition for NSIWholesaleAPI is as follows:
//-___________________________________________________________________ // Package ___________________________________________~?_______________________ //
package nsi.wholesale.toolkit.javaapi;

//____________________________________________________________________ // Imports...
//-_________-________________________________________________-________ import java.io.LineNumberReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.util.StringTOkenizer;
import java.util.Properties;
import java.util.Enumeration; _ import Java.util.NoSuchElementException;
import nsi.wholesale.toolkit.javaapi.util.resourcepool.Resource;
import nsi.wholesale.toolkit.javaapi.util.resourcepool.ResourceException;
/**
*-------------------------- Copyright (c) 2000 Network Solutions, Inc -------_______________<BR>
* This Java-based Wholesale Services Protocol (WSP) API provides * programmer access to the Wholesale Services Protocol Server.
* The Wholesale Services Protocol (WSP) is a simple, connection-based, * ASCII text-based protocol. It allows wholesalers to securely and * reliably create, modify, and lookup customer accounts and various * products via a single client/server interface.
*<BR>--________________________________________-___________________________ <BR>
* $Log$
*<BR>-_____________________________________________________________________ <BR>
*/
public class NSIWholesaleAPI
{
//-___________________________________________________________________ // Beginning of Required/Standard Fields //-__________________________________________________-________________ /** Serial Version */
static long serialVersion = 1L;
/** Release Version */
static double version = 1.1D;
/** SCCS control ID */
static final String sccslD = "c~(#) wholesale-sdk d1.12.1.3 08/04/00 10:27:19 NSIWholesaleAPI.java NSI";
/** JDK Version */
static String jdkVersion = "1.1.7";
// Static Accessor Method(s)...
/** Static accessor method to get serial version */
static public long getSerialVersion() { return serialVersion;
/** Static accessor method to get release version */

static public double .getVersion() { return version; }
/** Static accessor method to get JDK version */
static public String getJdkVersion() { return jdkVersion; f //____________________________________________________________________ // End of Required/Standard Fields //-___________________________________________________________________ //-___________________________________________________________________ // class (static) variables) ...
//-___________________________________________________________________ /** The name of this class */
private static final String className = "NSIWholesaleAPI";
/** Connection pool */
protected static NSIWholesalePool pool = null;
/** Retry count */
protected static int retry = 1;
// Supported Commands //-___________________________________________________________________ /** Ease-of-use constant for Command: Session */
public static final String COMMAND_SESSION = "Session";
/** Ease-of-use constant for Command: Describe */
public static final String COMMAND_DESCRIBE = "Describe";
** Ease-of-use constant for Command: Verify */
public static final String COMMAND_VERIFY = "Verify";
/** Ease-of-use constant for Command: Create */
public static final String COMMAND_CREATE = "Create";
/** Ease-of-use constant for Command: Delete */
public static final String COMMAND_DELETE = "Delete";
/** Ease-of-use constant for Command: Modify */
public static final String COMMAND_MODIFY = "Modify";
/** Ease-of-use constant for Command: Renew */
public static final String COMMAND_RENEW = "Renew";
/** Ease-of-use constant for Command: Generate */
public static final String COMMAND_GENERATE = "Generate";
/** Ease-of-use constant for Command: Lookup */
public static final String COMMAND_LOOKUP = "Lookup";
/** Ease-of-use constant for Command: Help */
public static final String COMMAND_HELP = "Help";
/** Ease-of-use constant for Command: Quit */
public static final String COMMAND QUIT = "Quit";
// Supported Classes //-___________________________________________________________________ /** Ease-of-use constant for Class: DomainName */
public static final String CLASS DOMAIN_NAME = "DomainName";
/** Ease-of-use constant for Class: Domains */
public static final String CLASS DOMAINS = "Domains";
/** Ease-of-use constant for Class: Password */
public static final String CLASS-PASSWORD = "Password";
/** Ease-of-use constant for Class: IndividualAccount */
public static final String CLASS-INDIVIDUAL ACCOUNT =
"IndividualAccount";
/** Ease-of-use constant for Class: BusinessAccount */
_ 29_ public static final String CLASS BUSINESS ACCOUNT = "BusinessAccount";
/** Ease-of-use constant for Class: TechnicalContact */
public static final String CLASS TECHNICAL CONTACT = "TechnicalContact";
/** Ease-of-use constant for Class: Domain */
public static final String CLASS DOMAIN = "Domain";
/** Ease-of-use constant for Class: DnsHosting */
public static final String CLASS DNS HOSTING = "DnsHosting";
// Supported Command-Class Combinations //____________________________________________________________________ /** Ease-of-use constant for Command-Class Combination: VerifyDOmainName */
public static final String COMBO VERIFY DOMAIN NAME = COMMAND VERIFY + "
" + CLASS_DOMAIN_NAME;
/** Ease-of-use constant for Command-Class Combination: Verify Domains */
public static final String COMBO VERIFY DOMAINS = COMMAND_VERIFY + " " +
CLASS_DOMAINS;
/** Ease-of-use constant for Command-Class Combination: Verify Password */
public static final String COMBO VERIFY-PASSWORD = COMMAND VERIFY + " "
+ CLASS PASSWORD;
/** Ease-of-use constant for Command-Class Combination: Create IndividualAccount */
public static final String COMBO CREATE-INDIVIDUAL_ACCOUNT =
COMMAND_CREATE + " " + CLASS_INDIVIDUAL_ACCOUNT;
/** Ease-of-use constant for Command-Class Combination: Create BusinessAccount */
public static final String COMBO CREATE BUSINESS_ACCOUNT =
COMMAND_CREATE + " " + CLASS_BUSINESS_ACCOUNT;
/** Ease-of-use constant for Command-Class Combination: Create TechnicalContact */
public static final String COMBO_CREATE_TECHNICAL CONTACT =
COMMAND_CREATE + " " + CLASS_TECHNICAL_CONTACT;
/** Ease-of-use constant for Command-Class Combination: Create Domain */
public static final String COMBO CREATE DOMAIN = COMMAND CREATE + " " +
CLASS_DOMAIN;
/** Ease-of-use constant for Command-Class Combination: Create DnsHosting */
public static final String COMBO CREATE DNS HOSTING = COMMAND CREATE + "
" + CLASS DNS HOSTING;
/** Ease-of-use constant for Command-Class Combination: Delete Domain */
public static final String COMBO DELETE DOMAIN = COMMAND DELETE + " " +
CLASS_DOMAIN;
/** Ease-of-use constant for Command-Class Combination: Delete DnsHosting */
public static final String COMBO DELETE DNS HOSTING = COMMAND DELETE + "
5O " + CLASS_DNS_HOSTING;
/** Ease-of-use constant for Command-Class Combination: Delete IndividualAccount */
public static final String COMBO_DELETE_INDIVIDUAL_ACCOUNT =
COMMAND_DELETE + " " + CLASS_INDIVIDUAL_ACCOUNT;
/** Ease-of-use constant for Command-Class Combination: Delete BusinessAccount */

public static final String COMBO_DELETE BUSINESS ACCOUNT =
COMMAND DELETE + " " + CLASS BUSINESS ACCOUNT;
/** Ease-of-use constant for Command-Class Combination: Modify Domain */
public static final String COMBO MODIFY DOMAIN = COMMAND MODIFY
+ " " +

CLASS_DOMAIN;

/** Ease-of-us e constant for Command-Class Combination: Modify IndividualAccount */

public static final String COMBO MODIFY-INDIVIDUAL ACCOUNT
=

MODIFY + " " + CLASS_INDIVIDUAL_ACCOUNT;
COMMAND

_ e constant for Command-Class Combination: Modify /** Ease-of-us BusinessAccount */

public static final String COMBO_MODIFY BUSINESS ACCOUNT =

MODIFY + " " + CLASS_BUSINESS_ACCOUNT;
COMMAND

_ e constant for Command-Class Combination: Modify /** Ease-of-us TechnicalContact */

public static final String COMBO MODIFY TECHNICAL CONTACT =

COMMAND_MODIFY + + CLASS_TECHNICAL_CONTACT;
" "

/** Ease-of-us e constant for Command-Class Combination: Modify Password */

public static final String COMBO MODIFY-PASSWORD = COMMAND MODIFY + " "
+ CLASS PASSWORD;
/** Ease-of-use constant for Command-Class Combination: Renew Domain */
public static final String COMBO RENEW DOMAIN = COMMAND RENEW + " " +
CLASS_DOMAIN;
/** Ease-of-use constant for Command-Class Combination: Renew DnsHosting */
public static final String COMBO RENEW DNS HOSTING = COMMAND RENEW + " "
3O + CLASS DNS HOSTING;
/** Ease-of-use constant for Command-Class Combination: Generate DomainName */
public static final String COMBO GENERATE DOMAIN NAME = COMMAND GENERATE
+ " " + CLASS DOMAIN NAME;
/** Ease-of-use constant for Command-Class Combination: Lookup Domain */
public static final String COMBO LOOKUP DOMAIN = COMMAND LOOKUP + " " +
CLASS_DOMAIN;
/** Ease-of-use constant for Command-Class Combination: Lookup DnsHosting */
public static final String COMBO LOOKUP DNS HOSTING = COMMAND LOOKUP + "
" + CLASS_DNS_HOSTING;
/** Ease-of-use constant for Command-Class Combination: Lookup IndividualAccount */
public static final String COMBO_LOOKUP_INDIVIDUAL_ACCOUNT =
COMMAND_LOOKUP + " " + CLASS_INDIVIDUAL_ACCOUNT;
/** Ease-of-use constant for Command-Class Combination: Lookup BusinessAccount */
public static final String COMBO LOOKUP BUSINESS ACCOUNT =
COMMAND_LOOKUP + " " + CLASS_BUSINESS_ACCOUNT;
/** Ease-of-use constant for Command-Class Combination: Lookup TechnicalContact */
public static final String COMBO LOOKUP TECHNICAL CONTACT =
COMMAND LOOKUP + " " + CLASS TECHNICAL CONTACT;
// Supported Attributes //-___________________________________ ________________________________ /** Ease-of-use constant for Attribute Key: FirstName */

public static final String ATTR_FIRST
NAME = "FirstName";

/** Ease-of-use constant for Attribute Key: LastName */

public static final String ATTR LAST
NAME = "LastName";

/** Ease-of-use constant for Attribute Key: Addressl */

public static final String ATTR ADDRESS1 = "Addressl";

/** Ease-of-use constant for Attribute Key: Address2 */

public static final String ATTR ADDRESS2 = "Address2";

/** Ease-of-use constant for Attribute Key: Address3 */

public static final String ATTR ADDRESS3 = "Address3";

/** Ease-of-use constant for Attribute Key: Address4 */

public static final String ATTR ADDRESS4 = "Address4";

/** Ease-of-use constant for Attribute Key: Address5 */

public static final String ATTR ADDRESS5 = "Address5";

/** Ease-of-use constant for Attribute Key: City */

public static final String ATTR CITY "City";
=

/** Ease-of-use constant for Attribute Key: State */

public static final String ATTR STATE = "State";

/** Ease-of-use=constant for Attribute Key: PostalCode */

public static final String ATTR-POSTAL CODE = "PostalCode";

/** Ease-of-use constant for Attribute Key: CountryCode */

public static final String ATTR COUNTRY-CODE
= "CountryCode";

/** Ease-of-use constant for Attribute Key: Phone */

PHONE = "Phone";
public static final String ATTR

- Key: Fax */
/** Ease-of-use constant for Attribute FAX = "Fax";
public static final String ATTR

_ Key: Email */
/** Ease-of-use constant for Attribute public static final String ATTR EMAIL = "Email";

/** Ease-of-use constant for Attribute Key: CustomerAccountld */

public. static final String ATTR CUSTOM ER ACCOUNT-ID =

"CustomerAccountId";

/** Ease-of-use constant for Attribute Key: CustomerPassword */

public static final String ATTR CUSTOM ER-PASSWORD = "CustomerPassword";

/** Ease-of-use constant for Attribute Key: AuthQuestion */

public static final String ATTR_AUTH
QUESTION = "AuthQuestion";

/** Ease..-of-use constant for AttributeKey: AuthAnswer */

public static final String ATTR AUTH
ANSWER = "AuthAnswer";

/** Ease-of-use constant for Attribute Key: CompanyName */

public static final String ATTR COMPAN Y NAME = "CompanyName";
, /** Ease-of-use constant for Attribute Key: CompanyType */

public static final String ATTR COMPANY
TYPE = "CompanyType";

/** Ease-of-use constant for Attribute Key: LegalContactFirstName*/

public static final String ATTR LEGAL CONTACT-FIRST NAME
=

"LegalContactFirstName";

/** Ease-of-use constant for Attribute Key: LegalContactLastName*/

public static final String ATTR LEGAL CONTACT LAST NAME =

"LegalContactLastName";

/** Ease-of-use constant for Attribute Key: LegalContactAddressl*/

public static final String ATTR LEGAL CONTACT ADDRESS1 =

"LegalContactAddressl";

/** Ease-of-use constant for Attribute Key: LegalContactAddress2*/

public static final String ATTR LEGAL CONTACT ADDRESS2 =

"LegalContactAddress2";

/** Ease-of-use constant for Attribute Key: LegalContactAddress3*/

public static final String ATTR LEGAL CONTACT ADDRESS3 =

"LegalContactAddress3";

/** Ease-of-use constant for Attribute Key: LegalContactAddress4 */

public static final String ATTR LEGAL CONTACT
ADDRESS4 =

"LegalContactAddress4";

/** Ease-of-use constant for Attribute Key: LegalContactAddress5 */

public static final String ATTR LEGAL CONTACT
ADDRESSS =

"LegalContactAddress5";

/** Ease-of-use constant for Attribute Key: LegalContactCity */

public static final String ATTR LEGAL CONTACT
CITY = "LegalContactCity";

/** Ease-of-use constant for Attribute Key: LegalContactState */

public static final String ATTR LEGAL CONTACT
STATE =

"LegalContactState";

/** Ease-of-use constant for Attribute Key: LegalContactPOStalCode */

public static final String ATTR LEGAL CONTACT-POSTAL
CODE =

"LegalContactPostalCode";

/** Ease-of-use constant for Attribute Key: LegalContactCountryCode */

public static final String ATTR LEGAL CONTACT
COUNTRY CODE =

"LegalContactCountryCode";

/** Ease-of-use constant for Attribute Key: LegalContactPhone */

public static final String ATTR LEGAL CONTACT-PHONE
=

"LegalContactPhone";

/** Ease-of-use constant for Attribute Key: LegalContactFax */

public static final String ATTR LEGAL CONTACT-FAX
= "LegalContactFax";

/** Ease-of-use constant for Attribute Key: LegalContactEmail */

public static final String ATTR LEGAL CONTACT
EMAIL =

"LegalContactEmail";

/** Ease-of-use constant for Attribute Key: Organization */

public static final String ATTR ORGANIZATION
= "Organization";

/** Ease-of-use constant for Attribute Key: echContactPassword */
T

public static final String ATTR TECH CONTACT_PASSWORD
=

"TechContactPassword";

/** Ease-of-use constant for Attribute Key: DomainName */

public static final String ATTR DOMAIN NAME = "DomainName";

/** Ease-of-use constant for Attribute Key: HostNamel */

public static final String ATTR HOST NAME1 = "HostNamel";

/** Ease-of-use constant for Attribute Key: HostAddrl */

public static final String ATTR HOST ADDR1 = "HostAddrl";

/** Ease-of-use constant for Attribute Key: HostName2 */

public static final String ATTR HOST NAME2 = "HostName2";

/** Ease-of-use constant for Attribute Key: HostAddr2 */

public static final String ATTR HOST_ADDR2 = "HostAddr2";

/** Ease-of-use constant for Attribute Key: HostIdl */

public static final String ATTR HOST-ID1 "HostIdl";
=

/** Ease-of-use constant for Attribute Key: Hostld2 */

public static final String ATTR HOST-ID2 "HostId2";
=

/** Ease-of-use constant for Attribute Key: echContactld */
T

public static final String ATTR TECH CONTAC T-ID = "TechContactId";

/** Ease-of-use constant for Attribute Key: IspPassword */

public static final String ATTR_ISP_PASSWOR D = "IspPassword";

/** Ease-of-use constant for Attribute Key: Protocol (returned by Describe) */

public static final String ATTR-PROTOCOL "Protocol";
=

/** Ease-of-use constant for Attribute Key: Dns Hosting Created (returned by Create DnsHosting) */

public static final String ATTR DNS HOSTING CREATED = "Dns Hosting Created";

// Supported Parameters //--__________________________________________________________________ /** Ease-of-use constant for Parameter Key: -WholesalerAccountId */
public static final String PARM WHOLESALER ACCOUNT-ID = "-WholesalerAccountId";
/** Ease-of-use constant for Parameter Key: -WholesalerPassword */
public static final String PARM WHOLESALER_PASSWORD = "-WholesalerPassword";
/** Ease-of-use constant for Parameter Key: -Target */
public static final String PARM TARGET = "-Target";
/** Ease-of-use constant for Parameter Key: -DomainTarget */
public static final String PARM DOMAIN TARGET = "-DomainTarget";
/** Ease-of-use constant for Parameter Key: -Keywords */
public static final String PARM-KEY WORDS = "-Keywords";
/** Ease-of-use constant for Parameter Key: -CustomerAccountId */
public static final String PARM CUSTOMER ACCOUNT-ID = "-" +
ATTR_CUSTOMER_ACCOUNT_ID;
/** Ease-of-use constant for Parameter Key: -CustomerPassword */
public static final String PARM CUSTOMER-PASSWORD = "-" +
ATTR_CUSTOMER_PASSWORD;
/** Ease-of-use constant for Parameter Key: -DomainName */
public static final String PARM DOMAIN NAME = "-" + ATTR_DOMAIN NAME;
/** Ease-of-use constant for Parameter Key: -TechContactId */
public static final String PARM TECH CONTACT-ID = "-" +
ATTR_TECH_CONTACT_ID;
/** Ease-of use constant for Parameter Key: -TechContactPassword */
public static final String PARM TECH CONTACT-PASSWORD = "-" +
ATTR_TECH_CONTACT_PASSWORD;
/** Ease-of-use constant for Parameter Key: -IspPassword */
public static final String PARM-ISP-PASSWORD = "-" + ATTR_ISP_PASSWORD;
//-___________________________________________________________________ // class (static) methods) ...
//-___________________________________________________________________ /**
* Initializes the Wholesale Services Protocol API.
* Qparam String name of configuration files containing property list * Qreturn void * C~see NSIWholesaleAPI#init * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException if initialization fails */
public static void init(String configFileName) throws NSIWholesaleException {
System.out.println("NSIWholesaleAPI.init(String) started");
Properties configProps = new Properties();
try {
LineNumberReader in = new LineNumberReader(new FileReader(configFileName));
String line = in.readLine();
while (line != null) {
line = line. trim();
if ( (line.length() > 0) && (line.startsWith("#") _-false) ) {
try StringTokenizer st = new StringTokenizer(line, "_");
String propertyKey = st.nextToken();
String propertyValue = st.nextToken();
configProps.put(propertyKey, propertyValue);
}
catch (NoSuchElementException nsee) {
System.err.println("NSIWholesaleAPI.init(String): Error Reading Config File" + nsee);
throw new NSIWholesaleException("Error reading Configuration File " + configFileName);
}
}
line = in.readLine();
}
}
catch (FileNotFoundException fnfe) System.err.println("NSIWholesaleAPI.init(String):
Configuration File Not Found " + fnfe);
throw new NSIWholesaleException("Configuration File Not Found " + configFileName);
}
catch (IOException ioe) {
System.err.println("NSIWholesaleAPI.init(String): IO
Exception reading configuration file " + ioe);
throw new NSIWholesaleException("IO Exception reading configuration file " + configFileName);
}
catch (Exception e) {
System.err.println("NSIWholesaleAPI.init(String): Exception reading configuration file " + e);
throw new NSIWholesaleException("Exception reading configuration file " + configFileName);
}
NSIWholesaleAPI.init(configProps);
System.out.println("NSIWholesaleAPI.init(String) completed successfully");
}
/**
* Initializes the Wholesale Services Protocol API.
* <BR>
* All of the following parameters should be * passed in through the properties file:
5~ <PRE>
WholesaleAPI.minConnections -Connections to use on startup (1,2,5, 10) WholesaleAPI.maxConnections -Maximum Connections (5,10,20) WholesaleAPI.connectionSoTimeout - (Provided by NSI) Enable/disable Socket SO TIMEOUT with the specified timeout, in milliseconds WholesaleAPI.connectionP,rotocol - (Provided by NSI) Wholesale Services Protocol Version WholesaleAPI.server - (Provided by NSI) The secure wholesale server at NSI
WholesaleAPI.port - (Provided by NSI) The port on that machine WholesaleAPI.retry -The retry count, if a transient error occurs (2,3) WholesaleAPI.WholesalerAccountId - (Provided by NSI) The Wholesaler Account number WholesaleAPI.WholesalerPassword - (Provided by NSI) The Password for that account </PRE>
* c~param properties Properties. file containing configuration settings * c~return void * Osee NSIWholesaleAPI#NSIWholesaleAPI
* Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException if initialization fails */
public static void init(Properties properties) throws NSIWholesaleException {
System.out.println("NSIWholesaleAPI.init(Properties) started");
~ int min = parselnt( properties.getProperty("WholesaleAPI.minConnections"));
int max = parseInt( properties.getProperty("WholesaleAPI.maxConnections"));
int connectionSoTimeout = parseInt( properties.getProperty("WholesaleAPI.connectionSoTimeout"));
String connectionProtocol =
properties.getProperty("WholesaleAPI.connectionProtocol");
String server = properties.getProperty("WholesaleAPI.server");
int port = parseInt(properties.getProperty("WholesaleAPI.port"));
retry = parseInt(properties.getProperty("WholesaleAPI.retry"));
String wholesalerAccountId =
properties.getProperty("WholesaleAPI.WholesalerAccountld");
String wholesalerPassword =
properties.getProperty("WholesaleAPI.WholesalerPassword");
System. out.println("connectionProtocol = " + connectionProtocol);
System. out.println("server = " + server);
System. out.println("port = " + port);
System.out.println("wholesalerAccountld = " +
wholesalerAccountId);
System. out.println("wholesalerPassword = " + wholesalerPassword);
System.out.println("NSIWholesaleAPI.init(Properties) constructing new NSIWholesalePool");
pool = new NSIWholesalePool(server, port, min, max, wholesalerAccountId, wholesalerPassword, retry, connectionSoTimeout);
NSIWholesaleAPI api = new NSIWholesaleAPI();
if (api.verifyConnectionProtocol(connectionProtocol) != true) {
api = null;

throw new NSIWholesaleException("Failed to verify connection protocol " + connectionProtocol);
api = null;
System.out.println("NSIWholesaleAPI.init(Properties) completed successfully");
//____________________________________________________________________ // static initializer block ...
//____________________________________________________________________ //_________________________________________________________________ // instance Variables) ...
//-___________________________________________________________________ //-___________________________________________________________________ // Constructors) //____________________________________________________________________ /**
* Constructs a new NSIWholesaleAPI object. NSIWholesaleAPI MUST have * been initialized BEFORE any NSIWholesaleAPI objects can be constructed.
* @see NSIWholesaleAPI#init * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException if NSIWholesaleAPI has not yet * been initialized */
public NSIWholesaleAPI() throws NSIWholesaleException if (pool =- null) throw new NSIWholesaleException("Must initialize API before use");

//-___________________________________________________________________ // Accessors and Mutators //-___________________-_______________________________________________ //-___________________________________________________________________ // General Methods //-___________________________________________________________________ //$$--BEGIN API-_______________________________________________________________ _______________ /**
* This method is used to authenticate a wholesaler and to provide * the wholesaler with access to Session commands. Once a session * has been established, the Session command may not be issued * again * <BR><PRE>
Expected Major Result Code: SESSION CREATED
* </PRE><BR>
* @param pWholesalerAccountId the parameter value * C~param pWholesalerPassword the parameter value * c~return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see COMMAND_SESSION
* @see PARM_WHOLESALE_ACCOUNT_ID
* @see PARM_WHOLESALE_PASSWORD
* @see WSPResponse#SESSION CREATED
* @see WSPResponse#AUTHENTICATION-FAILED
*/
WSPResponse session( String pWholesalerAccountId, String pWholesalerPassword) throws NSIWholesaleException return session( pWholesalerAccountId, pWholesalerPassword, new Properties(), 0);
/**
* This method is used to authenticate a wholesaler and to provide . * the wholesaler with access to Session commands. Once a session * has been established, the Session command may not be issued * again * <BR><PRE>
Expected Major Result Code: SESSION CREATED
* </PRE><BR>
* @param pWholesalerAccountId the parameter value * @param pWholesalerPassword the parameter value * @param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see COMMAND_SESSION
* @see PARM_WHOLESALE_ACCOUNT_ID
* @see PARM_WHOLESALE_PASSWORD
* @see WSPResponse#SESSION CREATED
* @see WSPResponse#AUTHENTICATION FAILED
*/
WSPResponse session( String pwholesalerAccountId, String pWholesalerPassword, Properties optionalAttributes) throws NSIWholesaleException return session( pWholesalerAccountId, pWholesalerPassword, optionalAttributes, 0);
}
protected WSPResponse session( String pWholesalerACCOUntId, String pWholesalerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".session(String, String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}

NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();

returnCode = conn.makeRequest(COMMAND SESSION, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally return session( pWholesalerAccountld, pWholesalerPassword, optionalAttributes, count + 1);
}
~**
* This method provides information about a specified target.
* Currently, the only supported target is "Protocol".
* This target tells Describe to return the current protocol version * <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR_PROTOCOL
* </PRE><BR>
* @param pTarget the parameter value * Qreturn the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND DESCRIBE
* Qsee NSIWholesaleAPI#PARM TARGET
* Qsee NSIWholesaleAPI#ATTR PROTOCOL
* C~see WSPResponse#COMMAND-EXECUTION-SUCCEEDED-PROPERTIES BEING RETURNED
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs_.put(PARM WHOLESALER ACCOUNT-ID, pWholesalerAccountId);
allParmsAndAttrs.put(PARM WHOLESALER_PASSWORD, pWholesalerPassword);

*/
public WSPResponse describe(String pTarget) throws NSIWholesaleException return describe(pTarget, new Properties(), 0);
}
/**
* This method provides information about a specified target.
* Currently, the only supported target is "Protocol".
* This target tells Describe to return the current protocol version * <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR_PROTOCOL
* </PRE><BR>
* Qparam pTarget the parameter value * c~param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND DESCRIBE
* Qsee NSIWholesaleAPI#PARM TARGET
* c~see NSIWholesaleAPI#ATTR PROTOCOL
* c~see WSPResponse#COMMAND EXECUTION_SUCCEEDED_PROPERTIES BEING RETURNED
*/
public WSPResponse describe(String pTarget, Properties optionalAttributes) throws NSIWholesaleException {
return describe(pTarget, optionalAttributes, 0);
}
protected WSPResponse describe( String pTarget, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".describe(String, Properties, int) "
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection conn = null;
WSPResponse returnCode;
try {

allParmsAndAttrs);
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM TARGET, pTarget);
returnCode = conn.makeRequest(COMMAND DESCRIBE, pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return describe( pTarget, optionalAttributes, count + 1);
}
/**
* This method verifies whether or not a specified domain name is available.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED
* </PRE><BR>
* C~param pDomainName the parameter value * Qreturn the Wholesale Server Protocol server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND VERIFY
* Osee NSIWholesaleAPI#CLASS DOMAIN NAME
* Qsee NSIWholesaleAPI#COMBO VERIFY DOMAIN NAME
* Qsee NSIWholesaleAPI#PARM DOMAIN NAME
* @see WSPResponse#COMMAND EXECUTION_SUCCEEDED NO DATA BEING RETURNED
*/
public WSPResponse verifyDomainName( String pDomainName) throws NSIWholesaleException {
return verifyDomainName( pDomainName, new Properties(), 0);
}
/**
* This method verifies whether or not a specified domain name is available.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED
* </PRE><BR>
* @param pDomainName the parameter value * c~param optionalAttributes a property list of optional attributes 5~, * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND VERIFY
* Qsee NSIWholesaleAPI#CLASS DOMAIN NAME
* Qsee NSIWholesaleAPI#COMBO VERIFY DOMAIN NAME
* Qsee NSIWholesaleAPI#PARM DOMAIN NAME
* Qsee WSPResponse#COMMAND-EXECUTION SUCCEEDED NO DATA BEING RETURNED
*/
public WSPResponse verifyDomainName( String pDomainName, Properties optionalAttributes) throws NSIWholesaleException {
return verifyDomainName( pDomainName, optionalAttributes, oj;
protected WSPResponse verifyDomainName( String pDomainName, Properties optionalAt.tributes, int count) throws NSIWholesaleException String methodName = className + ".verifyDomainName(String, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try conn = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM DOMAIN NAME, pDomainName);
returnCode = conn.makeRequest(COMBO VERIFY DOMAIN NAME, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
catch (Exception e) try {
pool.release(conn);
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
finally return verifyDomainName( pDomainName, optionalAttributes, count + 1);

/**

* This method verifies if series of domains are available.
The command * will take the domain target string and add the .com, .net, and .org * TLD suffix and verify the domain name availability.

* <BR><PRE>

Expected Major Result Code:

1O COMMAND_E XECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

DomainNamei:

DomainName2:

DomainName3:

...etc...

* </PRE><BR>

* C~param pDomainTarget the parameter value * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable complete command to * Qsee NSIWholesaleAPI#COMMAND VERIFY

* Qsee NSIWholesaleAPI#CLASS DOMAINS

* @see NSIWholesaleAPI#COMBO VERIFY DOMAINS

* Qsee NSIWholesaleAPI#PARM DOMAIN TARGET

* Qsee WSPResponse#COMMAND EXECUTION_SUCCEEDED NO DATA BEING
RETURNED

* c~see WSPResponse#COMMAND-EXECUTION
SUCCEEDED_PROPERTIES
BEING
RETURNED
-*

*/

public WSPResponse verifyDomains( String pDomainTarget) throws NSIWholesaleException return verifyDomains( pDomainTarget, new Properties(), 0) ;

/**

* This method verifies if series of domains are available.
The command * will take the domain target string and add the .com, .net, and .org * TLD suffix and verify the domain name availability.

* <BR><PRE>

Expected Major Result Code:

EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
COMMAND

_ Expected Result Property Keys) Returned:

DomainNamel:

DomainName2:

DomainName3:

...etc...
5O * </PRE><BR>

* Qparam pDomainTarget the parameter value * C~param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * C~see NSIWholesaleAPI#COMMAND VERIFY

* Qsee NSIWholesaleAPI#CLASS DOMAINS

* Qsee NSIWholesaleAPI#COMBO VERIFY DOMAINS
* C~see NSIWholesaleAPI#PARM DOMAIN TARGET
* Qsee WSPResponse#COMMAND_EXECUTION SUCCEEDED NO DATA BEING RETURNED
* c~see WSPResponse#COMMAND-EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse verifyDomains( String pDomainTarget, Properties optionalAttributes) throws NSIWholesaleException return verifyDomains( pDomainTarget, optionalAttributes, 0>;
}
protected WSPResponse verifyDomains( String pDomainTarget, Properties optionalAttributes, ' int count) throws NSIWholesaleException String methodName = className + ".verifyDomains(String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM DOMAIN TARGET, pDomainTarget);
returnCode = conn.makeRequest(COMBO VERIFY DOMAINS, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) try {
pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return verifyDomains( pDomainTarget, optionalAttributes, count + 1);

/**
* This method verifies whether or not a specified customer account id and * password are valid.
* <BR><PRE>
Expected Major Result Code:
1O COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED
* </PRE><BR>
* Qparam pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND VERIFY
* Qsee NSIWholesaleAPI#CLASS PASSWORD
* Qsee NSIWholesaleAPI#COMBO VERIFY PASSWORD
* c~see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* @see NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
* -*/
public WSPResponse verifyPassword( String pCustomerAccountId, String pCustomerPassword) throws NSIWholesaleException {
return verifyPassword( pCustomerAccountld, pCustomerPassword, new Properties(), 0) ;
/**
* This method verifies whether or not a specified customer account id and * password are valid.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED
* </PRE><BR>
* C~param pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * @param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * Cexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND VERIFY
* see NSIWholesaleAPI#CLASS PASSWORD
* Csee NSIWholesaleAPI#COMBO VERIFY PASSWORD
* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* @see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
*/
public WSPResponse verifyPassword( String pCustomerAccountld, String pCustomerPassword, Properties optionalAttributes) throws NSIWholesaleException return verifyPassword( pCustomerAccountId, pCustomerPassword, optionalAttributes, 0);
}
protected WSPResponse verifyPassword( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".verifyPassword(String, String, Properties, int) ";
if _(count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.check0ut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
returnCode = conn.makeRequest(COMBO VERIFY PASSWORD, allParmsAndAttrs);
pool.checkln(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally return verifyPassword( pCustomerAccountId, pCustomerPassword, optionalAttributes, count + 1);

/**

* This method creates an individual customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_CUSTOMER ACCOUNT ID
_ * </PRE><BR>

* Cparam aFirstName the attribute value * Qparam aLastName the attribute value * c~param aAddressl the attribute value * Cparam aCountryCode the attribute value * Qparam aPhone the attribute value * Qparam aCustomerPassword the attribute value * Qparam aAuthQuestion the attribute value * ~param aAuthAnswer the attribute value * c~param aCity the attribute value * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND CREATE

* Csee NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT

* @see NSIWholesaleAPI#COMBO_CREATE_INDIVIDUAL_ACCOUNT

* Qsee NSIWholesaleAPI#ATTR FIRST NAME

* Csee NSIWholesaleAPI#ATTR LAST NAME

* @see NSIWholesaleAPI#ATTR ADDRESS1 * Osee NSIWholesaleAPI#ATTR COUNTRY CODE

* @see NSIWholesaleAPI#ATTR PHONE

* @see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* @see NSIWholesaleAPI#ATTR AUTH QUESTION

* C~see NSIWholesaleAPI#ATTR AUTH ANSWER

* Qsee NSIWholesaleAPI#ATTR CITY

* Qsee NSIWholesaleAPI#ATTR_'STATE
* Csee NSIWholesaleAPI#ATTR POSTAL CODE
* @see NSIWholesaleAPI#ATTR ADDRESS2 * Qsee NSIWholesaleAPI#ATTR ADDRESS3 * Qsee NSIWholesaleAPI#ATTR ADDRESS4 * @see NSIWholesaleAPI#ATTR ADDRESS5 * @see NSIWholesaleAPI#ATTR EMAIL
* Qsee NSIWholesaleAPI#ATTR FAX
* _ * @see WSPResponse#INVALID VALUE
* c~see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR CUSTOMER ACCOUNT-ID
*/
public WSPResponse createlndividualAccount( String aFirstName, String aLastName, String aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity) thr ows NSIWholesaleException {

return createlndividualAccount( aFirstName, aLastName, aAddressl, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aCity, new Properties(), 0) ;

/**

* This method creates an individual customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Optional Attribute Key(s):

ATTR_ADDRESS2 ATTR_ADDRESS3 ATTR_ADDRESS4 ATTR_ADDRESS5 ATTR_EMAIL

ATTR FAX

Expected Major Result Code:

EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
COMMAND

_ Expected Result Property Keys) Returned:

ATTR CUSTOMER ACCOUNT-ID

* </PRE><BR>

* @param aFirstName the attribute value * c~param aLastName the attribute value * C~param aAddressl the attribute value * Qparam aCountryCode the attribute value * Qparam aPhone the attribute value * c~param aCustomerPassword the attribute value * c~param aAuthQuestion the attribute value * Qparam aAuthAnswer the attribute value * @param aCity the attribute value * C~param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND CREATE

* C~see NSIWholesaleAPI#CLASS INDIVIDUAL_ACCOUNT

* C~see NSIWholesaleAPI#COMBO CREATE-INDIVIDUAL ACCOUNT

* Qsee NSIWholesaleAPI#ATTR FIRST NAME

* Qsee NSIWholesaleAPI#ATTR LAST NAME

* C~see NSIWholesaleAPI#ATTR ADDRESS1 * Qsee NSIWholesaleAPI#ATTR COUNTRY CODE

* Qsee NSIWholesaleAPI#ATTR PHONE

* Qsee NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#ATTR AUTH QUESTION

* Qsee NSIWholesaleAPI#ATTR RUTH ANSWER

* Qsee NSIWholesaleAPI#ATTR CITY

* Qsee NSIWholesaleAPI#ATTR STATE

* Qsee NSIWholesaleAPI#ATTR POSTAL CODE

* Qsee NSIWholesaleAPI#ATTR ADDRESS2 * Qsee NSIWholesaleAPI#ATTR ADDRESS3 * Qsee NSIWholesaleAPI#ATTR ADDRESS4 * Osee NSIWholesaleAPI#ATTR ADDRESSS

* Qsee NSIWholesaleAPI#ATTR EMAIL

* Qsee NSIWholesaleAPI#ATTR FAX

* Qsee WSPResponse#INVALID VALUE

* Qsee WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES
BEING
RETURNED

* Qsee NSIWholesaleAPI#ATTR CUSTOMER ACCOUNT ID
_ _ *

*/

public WSPResponse createIndividualAccount( String aFirstName, String aLastName, String aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity, Properties optionalAttributes) throws NSIWholesaleException {

return createIndividualAccount( aFirstName, aLastName, aAddressl, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aCity, optionalAttributes, 0) ;

}

protected WSPResponse createIndividualAccount( String aFirstName, String aLastName, String aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className +
".createIndividualAccount(StringX9, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(ATTR-FIRST NAME, aFirstName);
allParmsAndAttrs.put(ATTR LAST NAME, aLastName);
allParmsAndAttrs.put(ATTR ADDRESS1, aAddressl);
allParmsAndAttrs.put(ATTR-COUNTRY CODE, aCountryCode);
allParmsAndAttrs.put(ATTR-PHONE, aPhone);
allParmsAndAttrs.put(ATTR CUSTOMER-PASSWORD, aCustomerPassword);
allParmsAndAttrs.put(ATTR AUTH QUESTION, aAuthQuestion);
allParmsAndAttrs.put(ATTR RUTH ANSWER, aAuthAnswer);
allParmsAndAttrs.put(ATTR CITY, aCity);
returnCode =
corm.makeRequest(COMBO CREATE INDIVIDUAL ACCOUNT, allParmsAndAttrs);
pool checkIn(conn);
return returnCode;
}
catch (Exception e) {
try {
pool.release(conn);
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return createIndividualAccount( aFirstName, aLastName, aAddressl, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aCity, optionalAttributes, count + 1);
}

/**

* This method creates an individual customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_CUSTOMER_ACCOUNT_ID

* </PRE><BR>

* @param aFirstName the attribute value * @param aLastName the attribute value * @param aAddressl the attribute value * @param aCountryCode the attribute value * @param aPhone the attribute value * @param aCustomerPassword the attribute value * @param aAuthQuestion the attribute value * @param aAuthAnswer the attribute value * @param aCity the attribute value * @param aState the attribute value * @param aPostalCode the attribute value * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * @see NSIWholesaleAPI#COMMAND CREATE

* @see NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT

* @see NSIWholesaleAPI#COMBO_CREATE_INDIVIDUAL_ACCOUNT

* @see NSIWholesaleAPI#ATTR FIRST NAME

* @see NSIWholesaleAPI#ATTR LAST NAME

* @see NSIWholesaleAPI#ATTR ADDRESS1 * @see NSIWholesaleAPI#ATTR COUNTRY CODE

* @see NSIWholesaleAPI#ATTR PHONE

* @see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* @see NSIWholesaleAPI#ATTR RUTH QUESTION

* @see NSIWholesaleAPI#ATTR AUTH ANSWER

* @see NSIWholesaleAPI#ATTR CITY

* @see NSIWholesaleAPI#ATTR STATE

* @see NSIWholesaleAPI#ATTR POSTAL CODE

* @see NSIWholesaleAPI#ATTR ADDRESS2 * @see NSIWholesaleAPI#ATTR ADDRESS3 * @see NSIWholesaleAPI#ATTR ADDRESS4 * @see NSIWholesaleAPI#ATTR ADDRESS5 * @see NSIWholesaleAPI#ATTR EMAIL
* @see NSIWholesaleAPI#ATTR FAX
* _ * @see WSPResponse#INVALID VALUE
* @see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES BEING_RETURNED
* @see NSIWholesaleAPI#ATTR CUSTOMER ACCOUNT ID
- _ -*/
public WSPResponse createIndividualAccount( String aFirstName, String aLastName, String aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity, String aState, String aPostalCode) throws NSIWholesaleException return createlndividualAccount( aFirstName, aLastName, aAddressl, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aCity, aState, aPostalCode, new Properties(), 0) ;

/**

* This method creates an individual customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Optional Attribute Key(s):

ATTR_ADDRESS2 ATTR_ADDRESS3 ATTR_ADDRESS4 ATTR_ADDRESS5 ATTR_EMAIL

ATTR_FAX

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_CUSTOMER_ACCOUNT_ID

* </PRE><BR>

* @param aFirstName the attribute value ' * Qparam aLastName the attribute value * Qparam aAddressl the attribute value * C~param aCountryCode the attribute value * c~param aPhone the attribute value * Qparam aCustomerPassword the attribute value * Qparam aAuthQuestion the attribute value * C~param aAuthAnswer the attribute value * C~param aCity the attribute value * Qparam aState the attribute value * Qparam aPostalCode the attribute value * C~param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * @see NSIWholesaleAPI#COMMAND CREATE

* Qsee NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT

* Qsee NSIWholesaleAPI#COMBO CREATE INDIVIDUAL ACCOUNT
* C~see NSIWholesaleAPI#ATTR FIRST NAME
* Qsee NSIWholesaleAPI#ATTR LAST NAME
* Qsee NSIWholesaleAPI#ATTR ADDRESS1 * Qsee NSIWholesaleAPI#ATTR COUNTRY CODE
* Qsee NSIWholesaleAPI#ATTR PHONE
* @see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD
* Qsee NSIWholesaleAPI#ATTR RUTH QUESTION
* see NSIWholesaleAPI#ATTR AUTH ANSWER
* Qsee NSIWholesaleAPI#ATTR CITY
* Csee NSIWholesaleAPI#ATTR STATE
* Qsee NSIWholesaleAPI#ATTR POSTAL CODE
* Qsee NSIWholesaleAPI#ATTR ADDRESS2 * Qsee NSIWholesaleAPI#ATTR ADDRESS3 * @see NSIWholesaleAPI#ATTR ADDRESS4 * @see NSIWholesaleAPI#ATTR ADDRESS5 * Qsee NSIWholesaleAPI#ATTR EMAIL
* Qsee NSIWholesaleAPI#ATTR FAX
* C~see WSPResponse#INVALID VALUE
* Qsee WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR CUSTOMER ACCOUNT ID
*/
public WSPResponse createIndividualAccount( String aFirstName, String aLastName, String aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity, String aState, String aPostalCode, Properties optionalAttributes) throws NSIWholesaleException {
return createIndividualAccount( aFirstName, aLastName, aAddressl, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aCity, aState, aPostalCode, optionalAttributes, 0);
}
protected WSPResponse createIndividualAccount( String aFirstName, String aLastName, String aAddressl, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aCity, String aState, String aPostalCode, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className +
".createIndividualAccount(StringXll, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(ATTR-FIRST NAME, aFirstName);
allParmsAndAttrs.put(ATTR LAST_NAME, aLastName);
allParmsAndAttrs.put(ATTR ADDRESS1, aAddressl);
allParmsAndAttrs.put(ATTR COUNTRY CODE, aCountryCode);
allParmsAndAttrs.put(ATTR-PHONE, aPhone);
allParmsAndAttrs.put(ATTR CUSTOMER-PASSWORD, aCustomerPassword);
allParmsAndAttrs.put(ATTR_AUTH QUESTION, aAuthQuestion);
allParmsAndAttrs.put(ATTR AUTH ANSWER, aAuthAnswer);
allParmsAndAttrs.put(ATTR_CITY, aCity);
allParmsAndAttrs.put(ATTR STATE, aState);
allParmsAndAttrs.put(ATTR-POSTAL CODE, aPostalCode);
returnCode =
conn.makeRequest(COMBO CREATE INDIVIDUAL ACCOUNT, allParmsAndAttrs);
pool checkln(conn);
return returnCode;
catch (Exception e) {
try pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return createIndividualAccount( aFirstName, aLastName, aAddressl, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aCity, aState, aPostalCode, optionalAttributes, count + 1);
~**

* This method creates a business customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_CUSTOMER_ACCOUNT_ID

* </PRE><BR>

* Qparam aCompanyName the attribute value * c~param aCompanyType the attribute value * Qparam aAddressl the attribute value * c~param aCity the attribute value * c~param aCountryCode the attribute value * Qparam aPhone the attribute value * Qparam aCustomerPassword the attribute value * Qparam aAuthQuestion the attribute value * @param aAuthAnswer the attribute value * Qparam aLegalContactFirstName the attribute value * C~param aLegalContactLastName the attribute value * C~param optionalAttributes a property list of optional attributes * C~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND CREATE

* Qsee NSIWholesaleAPI#CLASS BUSINESS ACCOUNT

* Qsee NSIWholesaleAPI#COMBO CREATE BUSINESS ACCOUNT

* C~see NSIWholesaleAPI#ATTR COMPANY NAME

* C~see NSIWholesaleAPI#ATTR COMPANY TYPE

* Osee NSIWholesaleAPI#ATTR ADDRESS1 * @see NSIWholesaleAPI#ATTR CITY

* Qsee NSIWholesaleAPI#ATTR COUNTRY CODE

* Qsee NSIWholesaleAPI#ATTR PHONE

* Qsee NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#ATTR AUTH QUESTION

* Qsee NSIWholesaleAPI#ATTR AUTH ANSWER

* Qsee NSIWholesaleAPI#ATTR LEGAL CONTACT FIRST NAME

* Qsee NSIWholesaleAPI#ATTR LEGAL CONTACT LAST NAME
_ _ _ _ *

* Qsee NSIWholesaleAPI#ATTR STATE

* Qsee NSIWholesaleAPI#ATTR POSTAL
CODE

* Qsee NSIWholesaleAPI#ATTR ADDRESS2 * Qsee NSIWholesaleAPI#ATTR ADDRESS3 * Qsee NSIWholesaleAPI#ATTR ADDRESS4 * Qsee NSIWholesaleAPI#ATTR ADDRESSS

* Qsee NSIWholesaleAPI#ATTR EMAIL

* Qsee NSIWholesaleAPI#ATTR FAX

* Osee NSIWholesaleAPI#ATTR LEGAL ADDRESS1 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS2 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS3 CONTACT

* Osee NSIWholesaleAPI#ATTR LEGAL ADDRESS4 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESSS
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL CITY
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL STATE
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL POSTAL CODE
CONTACT

* LEGAL COUNTRY
CONTACT CODE
Qsee NSIWholesaleAPI#ATTR

* _ _ _ _ Qsee NSIWholesaleAPI#ATTR LEGAL PHONE
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL FAX
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL EMAIL
CONTACT

* @see WSPResponse#INVALID VALUE

* c~see WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES

BEING
RETURNED

* Qsee NSIWholesaleAPI#ATTR CUSTOMER
ACCOUNT ID

*/

public WSPResponse createBusinessAccount( String aCompanyName, String aCompanyType, String aAddressl, String aCity, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName) throws NSIWholesaleException return createBusinessAccount( aCompanyName, aCompanyType, aAddressl, aCity, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aLegalContactFirstName, aLegalContactLastName, new Properties(), 0) ;

/* *

* This method creates a business customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Optional Attribute Key(s):

ATTR_ADDRESS2 ATTR_ADDRESS3 ATTR_ADDRESS4 ATTR_ADDRESSS

ATTR_EMAIL

ATTR_FAX

LEGAL_CONTACT_ADDRESS1 ATTR

1O _ ATTR_LEGAL_CONTACT_ADDRESS2 ATTR_LEGAL_CONTACT_ADDRESS3 _ ATTR_LEGAL_CONTACT_ADDRESS4 ATTR_LEGAL_CONTACT_ADDRESS5 ATTR_LEGAL_CONTACT_CITY

ATTR_LEGAL_CONTACT_STATE

ATTR_LEGAL_CONTACT_POSTAL_CODE

ATTR_LEGAL_CONTACT_COUNTRY_CODE

ATTR_LEGAL_CONTACT_PHONE

LEGAL_CONTACT_FAX
ATTR

_ ATTR LEGAL CONTACT EMAIL

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_CUSTOMER_ACCOUNT_ID

* </PRE><BR>

* Qparam aCompanyName the attribute value * ~param aCompanyType the attribute value * c~param aAddressl the attribute value * Qparam aCity the attribute value * @param aCountryCode the attribute value * Qparam aPhone the attribute value * Qparam aCustomerPassword the attribute value * Cparam aAuthQuestion the attribute value * @param aAuthAnswer the attribute value * Qparam aLegalContactFirstName the attribute value * c~param aLegalContactLastName the attribute value * Qparam optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND CREATE

* @see NSIWholesaleAPI#CLASS BUSINESS ACCOUNT

* Qsee NSIWholesaleAPI#COMBO CREATE BUSINESS ACCOUNT

* @see NSIWholesaleAPI#ATTR COMPANY NAME

* @see NSIWholesaleAPI#ATTR COMPANY TYPE

* Qsee NSIWholesaleAPI#ATTR ADDRESS1 * @see NSIWholesaleAPI#ATTR CITY

* Qsee NSIWholesaleAPI#ATTR COUNTRY CODE

* Qsee NSIWholesaleAPI#ATTR PHONE

* @see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#ATTR AUTH QUESTION

* C~see NSIWholesaleAPI#ATTR AUTH ANSWER

* Qsee NSIWholesaleAPI#ATTR LEGAL CONTACT FIRST NAME

* C~see NSIWholesaleAPI#ATTR LEGAL CONTACT LAST NAME
- - - -*

* c~see NSIWholesaleAPI#ATTR STATE

* @see NSIWholesaleAPI#ATTR POSTAL CODE
* @see NSIWholesaleAPI#ATTR ADDRESS2 * @see NSIWholesaleAPI#ATTR ADDRESS3 * @see NSIWholesaleAPI#ATTR ADDRESS4 * @see NSIWholesaleAPI#ATTR ADDRESSS

* @see NSIWholesaleAPI#ATTR EMAIL

* @see NSIWholesaleAPI#ATTR FAX

* @see NSIWholesaleAPI#ATTR LEGAL ADDRESS1 CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL ADDRESS2 CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL ADDRESS3 CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL ADDRESS4 CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL ADDRESSS
CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL CITY
CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL STATE
CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL POSTAL CODE
CONTACT

* @see NSIWholesaleAPI#ATTR_LEGAL_CONTACT_COUNTRY_CODE

* @see NSIWholesaleAPI#ATTR LEGAL PHONE
CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL FAX
CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL EMAIL
CONTACT

* @see WSPResponse#INVALID VALUE

* @see WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES

BEING
RETURNED

* @see NSIWholesaleAPI#ATTR CUSTOMER
ACCOUNT ID

*/

public WSPResponse createBusinessAccount( String aCompanyName, String aCompanyType, String aAddressl, String aCity, String aCountryCode, String aPhone,-String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName, Properties optionalAttributes) throws NSIWholesaleException {

return createBusinessAccount( aCompanyName, aCompanyType, aAddressl, aCity, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aLegalContactFirstName, aLegalContactLastName, optionalAttributes, 0);

}
protected WSPResponse createBusinessAccount( String aCompanyName, String aCompanyType, String aAddressl, String aCity, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".createBusinessAccount(StringXll, Properties, int) ";
if .(count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection conn = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(ATTR COMPANY NAME, aCompanyName);
allParmsAndAttrs.put(ATTR COMPANY_TYPE, aCompanyType);
allParmsAndAttrs.put(ATTR_ADDRESS1, aAddressl);
allParmsAndAttrs.put(ATTR-CITY, aCity);
allParmsAndAttrs.put(ATTR COUNTRY CODE, aCountryCode);
allParmsAndAttrs.put(ATTR_PHONE, aPhone);
allParmsAndAttrs.put(ATTR CUSTOMER_PASSWORD, aCustomerPassword);
allParmsAndAttrs.put(ATTR-AUTH QUESTION, aAuthQuestion);
allParmsAndAttrs.put(ATTR AUTH ANSWER, aAuthAnswer);
allParmsAndAttrs.put(ATTR LEGAL CONTACT FIRST NAME, aLegalContactFirstName);
allParmsAndAttrs.put(ATTR-LEGAL CONTACT LAST NAME, aLegalContactLastName);
returnCode = conn.makeRequest(COMBO CREATE BUSINESS ACCOUNT, allParmsAndAttrs);
pool.checkln(conn);
return returnCode;
catch (Exception e) try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {

return createBusinessAccount( aCompanyName, aCompanyType, aAddressl, aCity, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aLegalContactFirstName, aLegalContactLastName, optionalAttributes, count + 1);

}

/* *

* This method creates a business customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Expected Major Result Code:

COMMAND SUCCEEDED_PROPERTIES_BEING_RETURNED
EXECUTION

_ _ Expected Result Property Keys) Returned:

ATTR_CUSTOMER_ACCOUNT_ID

* </PRE><BR>

* @param aCompanyName the attribute value * @param aCompanyType the attribute value * c~param aAddressl the attribute value * Cparam aCity the attribute value * @param astate the attribute value * @param aPostalCode the attribute value * C~param aCountryCode the attribute value * C~param aPhone the attribute value * c~param aCustomerPassword the attribute value * @param aAuthQuestion the attribute value * C~param aAuthAnswer the attribute value * C~param aLegalContactFirstName the attribute value * @param aLegalContactLastName the attribute value * C~return the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * @see NSIWholesaleAPI#COMMAND CREATE

* see NSIWholesaleAPI#CLASS BUSINESS ACCOUNT

* Csee NSIWholesaleAPI#COMBO CREATE BUSINESS ACCOUNT

* Qsee NSIWholesaleAPI#ATTR COMPANY NAME

* @see NSIWholesaleAPI#ATTR COMPANY TYPE

* Qsee NSIWholesaleAPI#ATTR ADDRESS1 * Qsee NSIWholesaleAPI#ATTR CITY

* C~see NSIWholesaleAPI#ATTR STATE

* C~see NSIWholesaleAPI#ATTR POSTAL CODE

* @see NSIWholesaleAPI#ATTR COUNTRY CODE

* Qsee NSIWholesaleAPI#ATTR PHONE

* C~see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* C~see NSIWholesaleAPI#ATTR AUTH QUESTION

* Csee NSIWholesaleAPI#ATTR RUTH ANSWER

* Csee NSIWholesaleAPI#ATTR LEGAL CONTACT FIRST_NAME
* @see NSIWholesaleAPI#ATTR LEGAL CONTACT LAST NAME
*
* Qsee NSIWholesaleAPI#ATTR ADDRESS2 * Qsee NSIWholesaleAPI#ATTR ADDRESS3 * Qsee NSIWholesaleAPI#ATTR ADDRESS4 * C~see NSIWholesaleAPI#ATTR ADDRESS5 * Qsee NSIWholesaleAPI#ATTR EMAIL

* Qsee NSIWholesaleAPI#ATTR FAX

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS1 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS2 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS3 CONTACT

* @see NSIWholesaleAPI#ATTR LEGAL ADDRESS4 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESSS
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL CITY
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL STATE
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL POSTAL CODE
CONTACT

* Qsee NSIWholesaleAPI#ATTR_LEGAL_CONTACT_COUNTRY_CODE

* Qsee NSIWholesaleAPI#ATTR LEGAL PHONE
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL FAX
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL EMAIL
CONTACT
_ _ _ *

* Qsee WSPResponse#INVALID VALUE

* Qsee WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES

BEING
RETURNED

* Qsee NSIWholesaleAPI#ATTR CUSTOMER
ACCOUNT ID
_ _ -*

*/

public WSPResponse createBusinessAccount( String aCompanyName, String aCompanyType, String aAddressl, String aCity, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName, String aState, String aPostalCode) throws NSIWholesaleException return CreateBusinessAccount( aCompanyName, aCompanyType, aAddressl, aCity, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aLegalContactFirstName, aLegalContactLastName, aState, aPostalCode, new Properties(), 0) ;
/**

* This method creates a business customer account and returns an * automatically generated customer account id.

* <BR><PRE>

Optional Attribute Key(s):

ATTR_ADDRESS2 1O ATTR_ADDRESS3 ATTR_ADDRESS4 ATTR_ADDRESSS

ATTR_EMAIL

ATTR_FAX

ATTR_LEGAL_CONTACT_ADDRESS1 ATTR_LEGAL_CONTACT_ADDRESS2 ATTR_LEGAL_CONTACT_ADDRESS3 ATTR_LEGAL_CONTACT_ADDRESS4 ATTR_LEGAL_CONTACT_ADDRESSS

ATTR_LEGAL_CONTACT_CITY

ATTR_LEGAL_CONTACT_STATE

ATTR_LEGAL_CONTACT_POSTAL_CODE

ATTR_LEGAL_CONTACT_COUNTRY_CODE

ATTR_LEGAL_CONTACT_PHONE

ATTR_LEGAL_CONTACT_FAX

ATTR LEGAL CONTACT EMAIL

Expected Major Result Code:

COMMAND EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

_ Expected Result Property Keys) Returned:

ATTR_CUSTOMER ACCOUNT ID

* </PRE><BR>

* @param aCompanyName the attribute value * Qparam aCompanyType the attribute value * Qparam aAddressl the attribute value * Qparam aCity the attribute value * Qparam aState the attribute value * Qparam aPostalCode the attribute value * @param aCountryCode the attribute value * c~param aPhone the attribute value * c~param aCustomerPassword the attribute value * @param aAuthQuestion the attribute value * C~param aAuthAnswer the attribute value ' * ~param aLegalContactFirstName the attribute value * Qparam aLegalContactLastName the attribute value * Qparam optionalAttributes a property list of optional attributes * Oreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND CREATE

* Qsee NSIWholesaleAPI#CLASS BUSINESS ACCOUNT

* C~see NSIWholesaleAPI#COMBO CREATE BUSINESS ACCOUNT

* C~see NSIWholesaleAPI#ATTR COMPANY NAME

* @see NSIWholesaleAPI#ATTR COMPANY TYPE

* @see NSIWholesaleAPI#ATTR ADDRESS1 * C~see NSIWholesaleAPI#ATTR CITY

* @see NSIWholesaleAPI#ATTR STATE

* Qsee NSIWholesaleAPI#ATTRPOSTAL CODE

* Qsee NSIWholesaleAPI#ATTRCOUNTRY CODE

* Qsee NSIWholesaleAPI#ATTRPHONE

* Qsee NSIWholesaleAPI#ATTRCUSTOMER
PASSWORD

* Qsee NSIWholesaleAPI#ATTRAUTH QUESTION

* @see NSIWholesaleAPI#ATTRAUTH ANSWER

* Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTFIRST NAME

* Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTLAST NAME
_ _ _ -* @see NSIWholesaleAPI#ATTRADDRESS2 *

* Qsee NSIWholesaleAPI#ATTRADDRESS3 * Qsee NSIWholesaleAPI#ATTR

* Qsee NSIWholesaleAPI#ATTRADDRESS5 * Qsee NSIWholesaleAPI#ATTREMAIL

* C~see NSIWholesaleAPI#ATTRFAX

* Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTADDRESS1 * Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTADDRESS2 * @see NSIWholesaleAPI#ATTRLEGAL CONTACTADDRESS3 * @see NSIWholesaleAPI#ATTRLEGAL CONTACTADDRESS4 * Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTADDRESSS

* @see NSIWholesaleAPI#ATTRLEGAL CONTACTCITY

* Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTSTATE

* Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTPOSTAL CODE

* Qsee NSIWholesaleAPI#ATTR_LEGAL_CONTACT_COUNTRY_CODE

* @see NSIWholesaleAPI#ATTRLEGAL CONTACTPHONE

* C~see NSIWholesaleAPI#ATTRLEGAL CONTACTFAX

* Qsee NSIWholesaleAPI#ATTRLEGAL CONTACTEMAIL
_ - _ *

* C~see WSPResponse#INVALID
VALUE

* c~see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES

BEING
RETURNED

* Qsee NSIWholesaleAPI#ATTRCUSTOMER
ACCOUNT
ID
_ _ -*

*/

public WSPResponse createBusinessAccount( String aCompanyName, String aCompanyType, String aAddressl, String aCity, . String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName, String aState, String aPostalCode, Properties optionalAttributes) throws NSIWholesaleException return createBusinessAccount( aCompanyName, aCompanyType, aAddressl, aCity, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aLegalContactFirstName, aLegalContactLastName, aState, aPostalCode, optionalAttributes, 0) ;
}
protected WSPResponse createBusinessAccount(_ String aCompanyName, String aCompanyType, String aAddressl, String aCity, String aCountryCode, String aPhone, String aCustomerPassword, String aAuthQuestion, String aAuthAnswer, String aLegalContactFirstName, String aLegalContactLastName, String aState, String aPostalCode, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".createBusinessAccount(StringXl3, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection conn = null;
WSPResponse returnCode;
try conn = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(ATTR COMPANY NAME, aCompanyName);
allParmsAndAttrs.put(ATTR COMPANY TYPE, aCompanyType);
allParmsAndAttrs.put(ATTR ADDRESS1, aAddressl);
allParmsAndAttrs.put(ATTR CITY, aCity);
allParmsAndAttrs.put(ATTR COUNTRY CODE, aCountryCode);
allParmsAndAttrs.put(ATTR-PHONE, aPhone);
allParmsAndAttrs.put(ATTR CUSTOMER-PASSWORD, aCustomerPassword);
allParmsAndAttrs.put(ATTR_AUTH QUESTION, aAuthQuestion);
allParmsAndAttrs.put(ATTR AUTH ANSWER, aAuthAnswer);
allParmsAndAttrs.put(ATTR LEGAL CONTACT-FIRST NAME, aLegalContactFirstName);
allParmsAndAttrs.put(ATTR LEGAL CONTACT LAST NAME, aLegalContactLastName);

allParmsAndAttrs.put(ATTR STATE, aState);
allParmsAndAttrs.put(ATTR_POSTAL CODE, aPostalCode);
returnCode = conn.makeRequest(COMBO CREATE BUSINESS ACCOUNT, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) try pool.release(conn);
_ }
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return createBusinessAccount( aCompanyName, aCompanyType, -' aAddressl, aCity, aCountryCode, aPhone, aCustomerPassword, aAuthQuestion, aAuthAnswer, aLegalContactFirstName, aLegalContactLastName, aState, aPostalCode, optionalAttributes, count + 1);
}
}
}
/**
* This method creates a technical contact and returns an * automatically generated technical contact id (NIC Handle).
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR TECH CONTACT ID
* </PRE><BR>
* ~param aFirstName the attribute value * @param aLastName the attribute value * c~param aOrganization the attribute value * c~param aAddressl the attribute value * C~param aCountryCode the attribute value * C~param aPhone the attribute value * Qparam aEmail the attribute value * Cparam aTechContactPassword the attribute value * C~param aCity the attribute value * C~return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND CREATE
* Qsee NSIWholesaleAPI#CLASS TECHNICAL CONTACT
* Qsee NSIWholesaleAPI#COMBO CREATE TECHNICAL CONTACT
* @see NSIWholesaleAPI#ATTR FIRST NAME
* Qsee NSIWholesaleAPI#ATTR LAST NAME
* Osee NSIWholesaleAPI#ATTR ORGANIZATION
* Qsee NSIWholesaleAPI#ATTR ADDRESS1 * c~see NSIWholesaleAPI#ATTR COUNTRY CODE
* Qsee NSIWholesaleAPI#ATTR PHONE
* C~see NSIWholesaleAPI#ATTR EMAIL
* Qsee NSIWholesaleAPI#ATTR TECH CONTACT PASSWORD
* Qsee NSIWholesaleAPI#ATTR CITY
* C~see NSIWholesaleAPI#ATTR STATE
* Qsee NSIWholesaleAPI#ATTR POSTAL CODE
* @see NSIWholesaleAPI#ATTR FAX
* Qsee WSPResponse#INVALID VALUE
* Qsee WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
* _ */
public WSPResponse createTechnicalContact( String aFirstName, String aLastName, String aOrganization, String aAddressl, String aCountryCode, String aPhone, String aEmail, String aTechContactPassword, String aCity) throws NSIWholesaleException return createTechnicalContact( aFirstName, aLastName, aOrganization, aAddressl, aCountryCode, aPhone, aEmail, aTechContactPassword, aCity, new Properties(), 0) ;
/**
* This method creates a technical contact and returns an * automatically generated technical contact id (NIC Handle).
* <BR><PRE>
Optional Attribute Key(s):
ATTR FAX

Expected Major Result Code:

COMMAND_ PROPERTIES_BEING_RETURNED
EXECUTION_SUCCEEDED

_ Expected Result Property Keys) Returned:

ATTR_TECH_CONTACT_ID

* </PRE><BR>

* C~param aFirstName the attribute value * Qparam aLastName the attribute value * @param aOrganization the attribute value * Qparam aAddressl the attribute value * c~param aCountryCode the attribute value * Qparam aPhone the attribute value _ * Qparam aEmail the attribute value * Qparam aTechContactPassword the attribute value * Qparam aCity the attribute value * c~param optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND CREATE

* Qsee NSIWholesaleAPI#CLASS TECHNICAL CONTACT

* Qsee NSIWholesaleAPI#COMBO CREATE TECHNICAL CONTACT

* Qsee NSIWholesaleAPI#ATTR FIRST NAME

* Qsee NSIWholesaleAPI#ATTR LAST NAME

* Qsee NSIWholesaleAPI#ATTR ORGANIZATION

* Qsee NSIWholesaleAPI#ATTR ADDRESS1 * @see NSIWholesaleAPI#ATTR COUNTRY CODE

* Qsee NSIWholesaleAPI#ATTR PHONE

* Qsee NSIWholesaleAPI#ATTR EMAIL

* Qsee NSIWholesaleAPI#ATTR TECH CONTACT PASSWORD

* Qsee NSIWholesaleAPI#ATTR CITY
-*

* Qsee NSIWholesaleAPI#ATTR STATE
* @see NSIWholesaleAPI#ATTR POSTAL CODE
* Qsee NSIWholesaleAPI#ATTR FAX
* Qsee WSPResponse#INVALID VALUE
* @see WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
*/
public WSPResponse createTechnicalContact( String aFirstName, String aLastName, String aOrganization, String aAddressl, String aCountryCode, String aPhone, String aEmail, String aTechContactPassword, String aCity, Properties optionalAttributes) throws NSIWholesaleException t return createTechnicalContact( ~ aFirstName, aLastName, aOrganization, aAddressl, aCountryCode, aPhone, aEmail, aTechContactPassword, aCity, optionalAttributes, 0) ;
}
protected WSPResponse createTechnicalContact( _ String aFirstName, String aLastName, String aOrganization, String aAddressl, String aCountryCode, String aPhone, String aEmail, String aTechContactPassword, String aCity, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".createTechnicalContact(StringX9, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection conn = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(ATTR-FIRST NAME, aFirstName);
allParmsAndAttrs.put(ATTR LAST NAME, aLastName);
allParmsAndAttrs.put(ATTR ORGANIZATION, aOrganization);
allParmsAndAttrs.put(ATTR ADDRESS1, aAddressl);
allParmsAndAttrs.put(ATTR COUNTRY CODE, aCountryCode);
allParmsAndAttrs.put(ATTR-PHONE, aPhone);
allParmsAndAttrs.put(ATTR_EMAIL, aEmail);
allParmsAndAttrs.put(ATTR TECH CONTACT-PASSWORD, aTechContactPassword);
allParmsAndAttrs.put(ATTR CITY, aCity);
returnCode =
corm.makeRequest(COMBO CREATE TECHNICAL CONTACT, allParmsAndAttrs);
pool checkIn(conn);
return returnCode;
} catch (Exception e) try {
pool.release(conn);

catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return createTechnicalContact( aFirstName, aLastName, aOrganization, aAddressl, aCountryCode, aPhone, aEmail, aTechContactPassword, aCity, optionalAttributes, count + 1);
}

}
}

/**

* This method creates a technical contact and returns an * automatically generated technical contact id (NIC Handle).

* <BR><PRE>

Expected Major Result Code:

COMMAND_E XECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_TECH_CONTACT_ID

* </PRE><BR>

* @param aFirstName the attribute value * @param aLastName the attribute value * @param aOrganization the attribute value * @param aAddressl the attribute value * @param aCountryCode the attribute value * @param aPhone the attribute value * @param aEmail the attribute value * @param aTechContactPassword the attribute value * @param aCity the attribute value * @param aState the attribute value * @param aPostalCode the attribute value * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND CREATE

* @see NSIWholesaleAPI#CLASS TECHNICAL CONTACT

* @see NSIWholesaleAPI#COMBO CREATE TECHNICAL CONTACT

* @see NSIWholesaleAPI#ATTR FIRST NAME

* @see NSIWholesaleAPI#ATTR LAST NAME

* @see NSIWholesaleAPI#ATTR ORGANIZATION

* @see NSIWholesaleAPI#ATTR ADDRESS1 * @see NSIWholesaleAPI#ATTR COUNTRY CODE

* @see NSIWholesaleAPI#ATTR PHONE

* @see NSIWholesaleAPI#ATTR EMAIL

* @see NSIWholesaleAPI#ATTR TECH CONTACT PASSWORD

* @see NSIWholesaleAPI#ATTR CITY

* @see NSIWholesaleAPI#ATTR STATE

* @see NSIWholesaleAPI#ATTR POSTAL CODE
* @see NSIWholesaleAPI#ATTR FAX
*
* @see WSPResponse#INVALID VALUE
* @see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES BEING RETURNED
* @see NSIWholesaleAPI#ATTR TECH CONTACT ID
* _ _ -*/

public WSPResponse createTechnicalContact( String aFirstName, String aLastName, String aOrganization, String aAddressl, String aCountryCode, String aPhone, String aEmail, String aTechContactPassword, String aCity, String aState, String aPostalCode) throws NSIWholesaleException return createTechnicalContact( aFirstName, aLastName, aOrganization, aAddressl, aCountryCode, aPhone, aEmail, aTechContactPassword, aCity, aState, aPostalCode, new Properties(), 0) ;

/**

* This method creates a technical contact and returns an * automatically generated technical contact id (NIC Handle).
* <BR><PRE>
Optional Attribute Key(s):
ATTR_FAX
Expected Major Result Code:
COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
Expected Result Property Keys) Returned:
ATTR TECH CONTACT ID
5O * </PRE><BR> - -* @param aFirstName the attribute value * @param aLastName the attribute value * @param a0rganization the attribute value * @param aAddressl the attribute value * @param aCountryCode the attribute value * @param aPhone the attribute value * @param aEmail the attribute value * @param aTechContactPassword the attribute value * @param aCity the attribute value * @param aState the attribute value * @param aPostalCode the attribute value * @param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND CREATE

* @see NSIWholesaleAPI#CLASS_TECHNICAL_CONTACT

* @see NSIWholesaleAPI#COMBO CREATE TECHNICAL CONTACT

* @see NSIWholesaleAPI#ATTR FIRST NAME

* @see NSIWholesaleAPI#ATTR LAST NAME

* @see NSIWholesaleAPI#ATTR ORGANIZATION

* @see NSIWholesaleAPI#ATTR ADDRESS1 * @see NSIWholesaleAPI#ATTR COUNTRY CODE

* @see NSIWholesaleAPI#ATTR PHONE

* @see NSIWholesaleAPI#ATTR EMAIL

* @see NSIWholesaleAPI#ATTR TECH CONTACT PASSWORD

-20 * @see NSIWholesaleAPI#ATTR CITY

* @see NSIWholesaleAPI#ATTR STATE

* @see NSIWholesaleAPI#ATTR POSTAL CODE
_ _ *

* @see NSIWholesaleAPI#ATTR FAX

* @see WSPResponse#INVALID VALUE

* @see WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES
BEING
RETURNED

* @see NSIWholesaleAPI#ATTR TECH CONTACT ID

*/

public WSPResponse createTechnicalContact( String aFirstName, String aLastName, String a0rganization, String aAddressl, String aCountryCode, String aPhone, String aEmail, String aTechContactPassword, String aCity, String aState, String aPostalCode, Properties optionalAttributes) throws NSIWholesaleException {

return createTechnicalContact( aFirstName, aLastName, aOrganization, aAddressl, aCountryCode, aPhone, aEmail, aTechContactPassword, aCity, aState, aPostalCode, optionalAttributes, 0);
}
protected WSPResponse createTechnicalContact( String aFirstName, String aLastName, String aOrganization, String aAddressl, String aCountryCode, String~aPhone, String aEmail, String aTechContactPassword, String aCity, String aState, String aPostalCode, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className +
".createTechnicalContact(StringXll, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(ATTR-FIRST NAME, aFirstName);
allParmsAndAttrs.put(ATTR LAST NAME, aLastName);
allParmsAndAttrs.put(ATTR ORGANIZATION, aOrganization);
allParmsAndAttrs.put(ATTR ADDRESS1, aAddressl);
allParmsAndAttrs.put(ATTR COUNTRY CODE, aCountryCode);
allParmsAndAttrs.put(ATTR_PHONE, aPhone);
allParmsAndAttrs.put(ATTR EMAIL, aEmail);
allParmsAndAttrs.put(ATTR TECH CONTACT-PASSWORD, aTechContactPassword);
allParmsAndAttrs.put(ATTR CITY, aCity);
allParmsAndAttrs.put(ATTR STATE, aState);
allParmsAndAttrs.put(ATTR-POSTAL CODE, aPostalCode);
returnCode =
corm.makeRequest(COMBO_CREATE_TECHNICAL_CONTACT, allParmsAndAttrs);
pool checkln(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) System.err.println(methodName + ~~Caught ResourceException~~ + re);
finally return createTechnicalContact( aFirstName, aLastName, aOrganization, aAddressl, aCountryCode, aPhone, aEmail, aTechContactPassword, aCity, aState, aPostalCode, optionalAttributes, count + 1);
/**

* This method registers a new domain product for an existing * customer account. This request assumes that the domain * name will be hosted by some organization other than * Network Solutions.

* <BR>NOTE: This command is asynchronous. Receipt of the * SUCCEEDED
PROPERTIES
BEING
RETURNED code COMMAND
EXECUTION

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
COMMAND

_ Expected Result Property Keys) Returned:

ATTR_ISP_PASSWORD

* </PRE><BR>

* @param pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * @param aDomainName the attribute value * C~param aHostNamel the attribute value * c~param aHostAddrl the attribute value * @param aHostName2 the attribute value * ~param aHostAddr2 the attribute value * c~param aTechContactld the attribute value * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND CREATE

* Qsee NSIWholesaleAPI#CLASS DOMAIN

* @see NSIWholesaleAPI#COMBO CREATE DOMAIN

* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* C~see NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* Csee NSIWholesaleAPI#ATTR DOMAIN NAME

* @see NSIWholesaleAPI#ATTR HOST NAME1 * Qsee NSIWholesaleAPI#ATTR HOST ADDR1 * Csee NSIWholesaleAPI#ATTR HOST NAME2 * @see NSIWholesaleAPI#ATTR HOST ADDR2 * @see NSIWholesaleAPI#ATTR TECH CONTACT ID
* _ - _ * @see WSPResponse#COMMAND FAILED UNKNOWN_ERROR

* @see WSPResponse#GENERAL ACCESS DENIED

* @see WSPResponse#INVALID VALUE

* @see WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES
BEING
RETURNED

* @see NSIWholesaleAPI#ATTR ISP PASSWORD

*/

_ public WSPResponse createDomain( String pCustomerAccountId, String pCustomerPassword, String aDomainName, String aHostNamel, String aHostAddrl, String aHOStName2, String aHostAddr2, String aTechContactId throws NSIWholesaleException {

return createDomain( pCustomerAccountId, pCustomerPassword, aDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactld, new Properties(), 0) ;

/**

* This method registers a new domain product for an existing * customer account. This request assumes that the domain * name will be hosted by some organization other than * Network Solutions.

* <BR>NOTE: This command is asynchronous. Receipt of the * SUCCEEDED
PROPERTIES
BEING
EXECUTION
RETURNED code COMMAND

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR ISP PASSWORD

* </PRE><BR>

* @param pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * @param aDomainName the attribute value * @param aHostNamel the attribute value * @param aHostAddrl the attribute value * @param aHostName2 the attribute value * @param aHostAddr2 the attribute value * @param aTechContactld the attribute value * @param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable complete command to * Qsee NSIWholesaleAPI#COMMAND CREATE

* Qsee NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO CREATE DOMAIN

* Osee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* c~see NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* @see NSIWholesaleAPI#ATTR DOMAIN NAME

* Qsee NSIWholesaleAPI#ATTR HOST NAME1 * C~see NSIWholesaleAPI#ATTR HOST ADDR1 * c~see NSIWholesaleAPI#ATTR HOST NAME2 * Qsee NSIWholesaleAPI#ATTR HOST ADDR2 * Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID

* FAILED UNKNOWN
ERROR
Qsee WSPResponse#COMMAND

* _ -c~see WSPResponse#GENERAL ACCESS DENIED

* @see WSPResponse#INVALID VALUE

* c~see .

WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES
BEING
RETURNED

* Qsee NSIWholesaleAPI#ATTR ISP PASSWORD
- -*

*~

public WSPResponse createDOmain( String pCustomerAccountId, String pCustomerPassword, String aDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId, .

Properties optionalAttributes) throws NSIWholesaleException return createDomain( pCustomerAccountId, pCustomerPassword, aDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactId, optionalAttributes, 0);

protected WSPResponse createDomain( String pCustomerACCOUntId, String pCustomerPassword, String aDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId, Properties optionalAttributes, int count) throws NSIWholesaleException {
int rc;
String methodName = className + ".createDomain(StringX8, Properties, int) ";
System.out.println("*** Made it into createDomain...");
if (count > retry) rc = refundCard(pCustomerAccountId, aDomainName, CreateDomainPrice, CreateDomainWNRP, optionalAttributes);
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
// Double check to see if the domain really is available (to minimize charges) // with immediate credits try System.out.println("***Attempting to verify domain is available.");
WSPResponse wspResponse = verifyDOmainName( aDomainName);
if (wspResponse.getMajorResultCode() --WSPResponse.COMMAND EXECUTION SUCCEEDED NO DATA BEING_RETURNED) {
// See if credit card information is 'available, if so get transaction System. out.println("*** Begining to do Charge Card Validation.");
rc = ChargeCard(pCustomerAccountId, aDomainName, CreateDomainPrice, CreateDomainWNRP, optionalAttributes);
declined for:" +
if (rc !- 0) {
// Bad credit card. Return bad code.
throw new NSIWholesaleException(methodName + "Credit card aDomainName);
}
} else {
// Domain name not available. Return bad code.
throw new NSIWholesaleException(methodName + "Domain name not available:"+
aDomainName);
}
}
catch (NSIWholesaleException e) {
throw new NSIWholesaleException("Domain name previously taken:" + aDomainName);
}
// All o.k. create the domain.
System. out.println("*** After the credit card interaction, going on to create a name.");
try corm = (NSIWholesaleConnection)pool.check0ut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);

allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountld);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
allParmsAndAttrs.put(ATTR DOMAIN NAME, aDomainName);
allParmsAndAttrs.put(ATTR HOST NAME1, aHostNamel);
allParmsAndAttrs.put(ATTR HOST ADDR1, aHostAddrl);
allParmsAndAttrs.put(ATTR_HOST NAME2, aHostName2);
allParmsAndAttrs.put(ATTR HOST ADDR2, aHostAddr2);
allParmsAndAttrs.put(ATTR TECH CONTACT-ID, aTechContactId);
returnCode = conn.makeRequest(COMBO CREATE DOMAIN, allParmsAndAttrs);
pool.checkln(conn);
return returnCode;
} catch (Exception e) {
try pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return createDomain( pCustomerAccountId, pCustomerPassword, aDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactId, optionalAttributes, count + 1);
}
/**
* This method registers a new domain product for an existing * customer account. This request assumes that the domain * name will be hosted by some organization other than * Network Solutions.
* <BR>NOTE: This command is asynchronous. Receipt of the * COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED code * indicates that the command has been successfully queued.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR_ISP_PASSWORD
* </PRE><BR>
* c~param pCustomerAccountId the parameter value * C~param pCustomerPassword the parameter value * c~param aDomainName the attribute value * c~param aHostldl the attribute value * Qparam aHostId2 the attribute value * Qparam aTechContactld the attribute value * Qreturn the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND CREATE
* @see NSIWholesaleAPI#CLASS DOMAIN
* Qsee NSIWholesaleAPI#COMBO CREATE DOMAIN
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* C~see NSIWholesaleAPI#ATTR DOMAIN NAME
* Qsee NSIWholesaleAPI#ATTR HOST ID1 * Osee NSIWholesaleAPI#ATTR HOST ID2 * Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
* _ _ _ * Qsee WSPResponse#COMMAND_FAILED UNKNOWN ERROR
* Qsee WSPResponse#GENERAL ACCESS_DENIED
* Qsee WSPResponse#INVALID VALUE
* @see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR ISP PASSWORD
* _ */
public WSPResponse createDomain( String pCustomerAccountId, String pCustomerPassword, String aDomainName, String aHostIdl, String aHostId2, String aTechContactId throws rlSIWholesaleException return createDomain( pCustomerAccountId, pCustomerPassword, aDomainName, aHostIdl, aHostId2, aTechContactId, new Properties(), 0) ;
/**
* This method registers a new domain product for an existing * customer account. This request assumes that the domain * name will be hosted by some organization other than * Network Solutions.
* <BR>NOTE: This command is asynchronous. Receipt of the * COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED code * indicates that the command has been successfully queued.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR ISP PASSWORD
* </PRE><BR>

* Qparam pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * c~param aDomainName the attribute value * Qparam aHostIdl the attribute value * c~param aHostId2 the attribute value * Qparam aTechContactId the attribute value * Qparam optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Osee NSIWholesaleAPI#COMMAND CREATE

* Osee NSIWholesaleAPI#CLASS DOMAIN

* C~see NSIWholesaleAPI#COMBO CREATE DOMAIN

* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#ATTR DOMAIN NAME

* Qsee NSIWhoiesaleAPI#ATTR HOST ID1 * Qsee NSIWholesaleAPI#ATTR HOST ID2 * Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
_ _ _ .. *
_20 * Qsee WSPResponse#COMMAND-FAILED UNKNOWN ERROR

* Qsee WSPResponse#GENERAL ACCESS DENIED

* Qsee WSPResponse#INVALID VALUE

* Csee WSPResponse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES
BEING
RETURNED

* Qsee NSIWholesaleAPI#ATTR ISP PASSWORD

*/

public WSPResponse createDomain( String pCustomerACCOUntId, String pCustomerPassword, String aDomainName, String aHostIdl, String aHostld2, String aTechContactId, Properties optionalAttributes) throws NSIWholesaleException {

return createDomain( pCustomerAccountId, pCustomerPassword, aDomainName, aHostIdl, aHostId2, aTechContactId, optionalAttributes, 0) ;

protected WSPResponse createDomain( String pCustomerAccountId, String pCustomerPassword, String aDomainName, String aHOStIdl, String aHostId2, String aTechContactId, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".createDomain(StringX6, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM_CUSTOMER-PASSWORD, pCustomerPassword);
allParmsAndAttrs.put(ATTR DOMAIN NAME, aDomainName);
allParmsAndAttrs.put(ATTR HOST-ID1, aHostIdl);
allParmsAndAttrs.put(ATTR HOST-ID2, aHostId2);
allParmsAndAttrs.put(ATTR TECH CONTACT-ID, aTechContactId);
returnCode = conn.makeRequest(COMBO CREATE DOMAIN, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return createDOmain( pCustomerAccountId, pCustomerPassword, aDomainName, aHostIdl, aHostId2, aTechContactId, optionalAttributes, count + 1);
}
}
~**
* This method registers a DNS Hosting product for an existing * customer account.
* <BR>NOTE: This command is asynchronous. Receipt of the * COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED code * indicates that the command has been successfully queued.
- $0-* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION
SUCCEEDED_PROPERTIES_BEING_RETURNED

_ Expected Result Property Keys) Returned:

ATTR_DNS_HOSTING_CREATED

ATTR_ISP_PASSWORD

* </PRE><BR>

* @param pCustomerACCOUntId the parameter value * @param pCustomerPassword the parameter value * @param aDomainName the attribute value * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * @see NSIWholesaleAPI#COMMAND CREATE

* @see NSIWholesaleAPI#CLASS DNS HOSTING

* @see NSIWholesaleAPI#COMBO CREATE DNS HOSTING

* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* @see NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* @see NSIWholesaleAPI#ATTR DOMAIN NAME

* @see WSPResponse#GENERAL ACCESS DENIED

* @see WSPResponse#INVALID VALUE

* @see WSPRespo nse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES BEING RETURNED

* @see NSIWholesaleAPI#ATTR DNS HOSTING CREATED

* @see NSIWholesaleAPI#ATTR ISP PASSWORD
_ -*

*/

pu blic WSPResponse createDnsHosting( String pCustomerAccountId, String pCustomerPassword, String aDomainName) th rows NSIWholesaleException return createDnsHosting( pCustomerAccountId,, pCustomerPassword, aDomainName, new Properties(), 0) ;

}

/* *

* This method registers a DNS Hosting product for an existing * customer account.

* <BR>NOTE: This command is asynchronous. Receipt of the * PROPERTIES
BEING
RETURNED code EXECUTION
SUCCEEDED
COMMAND

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_DNS_HOSTING_CREATED

ATTR ISP PASSWORD
_ _ * </PRE><BR>

* @param pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * @param aDomainName the attribute value * @param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND CREATE
* Qsee NSIWholesaleAPI#CLASS DNS_HOSTING
* C~see NSIWholesaleAPI#COMBO CREATE DNS_HOSTING
* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT-ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* Qsee NSIWholesaleAPI#ATTR DOMAIN NAME
*
* Qsee WSPResponse#GENERAL ACCESS DENIED
* C~see WSPResponse#INVALID VALUE
* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR DNS HOSTING CREATED
* Qsee NSIWholesaleAPI#ATTR ISP PASSWORD
*/
public WSPResponse createDnsHosting( String pCustomerAccountId, String pCustomerPassword, String aDomainName, Properties optionalAttributes) throws NSIWholesaleException return createDnsHosting( pCustomerAccountId, pCustomerPassword, aDomainName, optionalAttributes, 0);
protected WSPResponse createDnsHosting( String pCustomerAccountId, String pCustomerPassword, String aDomainName, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".createDnsHosting(String, String, String, Properties, int) ";
if (count > retry) rc = refundCard(pCustomerAccountId, aDomainName, CreateDnsHostPrice, CreateDnsHostWNRP, optionalAttributes);
throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
// Double check to see if the domain really is available (to minimize charges) // with immediate credits try System.out.println("***Attempting to verify domain for DNS
Hosting.");
WSPResponse wspResponse = verifyDomainName( aDomainName);
if (wspResponse.getMajorResultCode() --WSPResponse.COMMAND EXECUTION SUCCEEDED NO DATA BEING_RETURNED) {
// See if credit card information is available, if so get transaction System. out.println("*** Begining to do Charge Card Validation.");
rc = ChargeCard(pCustomerAccountId, aDomainName, CreateDomainPrice, CreateDomainWNRP, optionalAttributes);
, if (rc !- o) {
// Bad credit card. Return bad code.
throw new NSIWholesaleException(methodName + "Credit card declined for:" +
aDomainName);
}
else {
// Domain name not available. Return bad code.
throw new NSIWholesaleException(methodName + "Domain name not available:"+
- aDOmainName);
catch (NSIWholesaleException e) throw new NSIWholesaleException("Domain name previously taken:" + aDomainName);
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountld);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
allParmsAndAttrs.put(ATTR DOMAIN NAME, aDomainName);
returnCode = conn.makeRequest(COMBO CREATE DNS HOSTING, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try pool.release(conn);
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
finally {
return createDnsHosting( pCustomerAccountId, pCustomerPassword, aDomainName, optionalAttributes, count + 1);
/**

* This method allows a customer to modify one or more attributes * associated with a specific instance of a Domain product * registered to that customer.

* This method will also convert a DNS Hosting product domain * into a standard domain.

* <BR>NOTE: This command is asynchronous. Receipt of the * PROPERTIES_BEING_RETURNED code SUCCEEDED
EXECUTION
COMMAND

* _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_EXECUTION_SUCCEEDED
NO DATA
BEING
RETURNED
- -* </PRE><BR>

* c~param pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * c~param pDomainName the parameter value * Qparam aHostNamel the attribute value * @param aHostAddrl the attribute value * Qparam aHostName2 the attribute value * Qparam aHostAddr2 the attribute value * @param aTechContactId the attribute value * C~return the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * C~see NSIWholesaleAPI#COMMAND MODIFY

* Osee NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO MODIFY DOMAIN

* Qsee NSIWholesaleAPI#PARM CUSTOMER_ACCOUNT_ID

* C~see NSIWholesaleAPI#PARM CUSTOMER-PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME

* Qsee NSIWholesaleAPI#ATTR HOST NAME1 * C~see NSIWholesaleAPI#ATTR HOST ADDR1 * C~see NSIWholesaleAPI#ATTR HOST NAME2 * Qsee NSIWholesaleAPI#ATTR HOST_ADDR2 * Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID

* Qsee WSPResponse#COMMAND FAILED UNKNOWN ERROR
* Qsee WSPResponse#INVALID VALUE
* Qsee WSPResponse#GENERAL ACCESS DENIED
* Osee WSPResponse#OBJECT NOT FOUND
* see WSPResponse#COMMAND EXECUTION-SUCCEEDED NO DATA BEING RETURNED
* c~see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR TECH CONTACT-ID
*/
public WSPResponse modifyDomain( String pCustomerACCOUntId, String pCustomerPassword, String pDOmainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId ) th rows NSIWholesaleException return modifyDomain( pCustomerAccountId, pCustomerPassword, pDomainName, aHostNamel, _ aHostAddrl, aHostName2, aHostAddr2, aTechContactId, new Properties(), 0) ;

/* *

* This method allows a customer to modify one or more attributes * associated with a specific instance of a Domain product * registered to that customer.

* This method will also convert a DNS Hosting product domain * into a standard domain.

* <BR>NOTE: This command is asynchronous. Receipt of the * SUCCEEDED
PROPERTIES
BEING
EXECUTION
RETURNED code COMMAND

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

3O COMMAND_ EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED

* </PRE><BR>

* @param pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * @param pDomainName the parameter value * @param aHostNamel the attribute value * @param aHostAddrl the attribute value * @param aHostName2 the attribute value * @parain aHostAddr2 the attribute value * @param aTechContactId the attribute value * @param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * @see NSIWholesaleAPI#COMMAND MODIFY

* @see NSIWholesaleAPI#CLASS DOMAIN

* @see NSIWholesaleAPI#COMBO MODIFY DOMAIN

* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* @see NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* @see NSIWholesaleAPI#PARM DOMAIN NAME

* @see NSIWholesaleAPI#ATTR HOST NAME1 * @see NSIWholesaleAPI#ATTR HOST ADDR1 * @see NSIWholesaleAPI#ATTR HOST NAME2 * @see NSIWholesaleAPI#ATTR HOST ADDR2 * @see NSIWholesaleAPI#ATTR TECH CONTACT ID

* @see WSPResponse#COMMAND FAILED UNKNOWN ERROR
* @see WSPResponse#INVALID VALUE

* Qsee WSPResponse#GENERAL ACCESS_DENIED
* Qsee WSPResponse#OBJECT NOT_FOUND
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA_BEING RETURNED
* c~see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES BEING RETURNED
* Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
* _ -*/
public WSPResponse modifyDomain( String pCustomerAccountId, String pCustomerPassword, String pDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHOStAddr2, String aTechContactId, Properties optionalAttributes) throws NSIWholesaleException return modifyDomain( pCustomerAccountId, pCustomerPassword, pDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactId, optionalAttributes, 0 ) ;
protected WSPResponse modifyDomain( String pCustomerAccountld, String pCustomerPassword, String pDomainName, String aHOStNamel, String aHostAddrl, String aHostName2, String aHOStAddr2, String aTechContactId, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".modifyDomain(StringX8, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection conn = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM-CUSTOMER_ACCOUNT_ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
allParmsAndAttrs.put(PARM DOMAIN NAME, pDomainName);
allParmsAndAttrs.put(ATTR HOST NAME1, aHostNamel);
allParmsAndAttrs.put(ATTR HOST ADDR1, aHostAddrl);
allParmsAndAttrs.put(ATTR HOST_NAME2, aHostName2);
allParmsAndAttrs.put(ATTR HOST ADDR2, aHostAddr2);
allParmsAndAttrs.put(ATTR TECH CONTACT-ID, aTechContactId);
returnCode = conn.makeRequest(COMBO MODIFY DOMAIN, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
catch (Exception e) {
_ try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return modifyDomain( pCustomerAccountId, pCustomerPassword, pDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactId, optionalAttributes, count + 1);
}
}
/**
* This method allows a customer to modify one or more attributes * associated with a specific instance of a Domain product * registered to that customer.
* This method will also convert a DNS Hosting product domain * into a standard domain.
* <BR>NOTE: This command is asynchronous. Receipt of the * COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED code * indicates that the command has been successfully queued.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED
* </PRE><BR>
* Qparam pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * Oparam pDomainName the parameter value * Qparam aHostldl the attribute value * Qparam aHostId2 the attribute value * c~param aTechContactId the attribute value * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Osee NSIWholesaleAPI#COMMAND MODIFY

* Osee NSIWholesaleAPI#CLASS DOMAIN

* C~see NSIWholesaleAPI#COMBO MODIFY DOMAIN

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* see NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME

* Qsee NSIWholesaleAPI#ATTR HOST ID1 * Qsee NSIWholesaleAPI#ATTR HOST ID2 * Osee NSIWholesaleAPI#ATTR TECH CONTACT ID
-- -* .
, * Qsee WSPResponse#COMMAND_FAILED UNKNOWN ERROR

* Qsee WSPResponse#INVALID VALUE

* C~see WSPResponse#GENERAL ACCESS DENIED

* Qsee WSPResponse#OBJECT NOT FOUND

* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA
BEING RETURNED

* C~see WSPResponse#COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING
RETURNED

* Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
- - _ *

*/

public WSPResponse modifyDomain( String pCustomerAccountId, String pCustomerPassword, String pDomainName, String aHostIdl, String aHostld2, String aTechContactId ) throws NSIWholesaleException return modifyDomain( pCustomerAccountId, pCustomerPassword, pDomainName, aHostIdl, aHostId2, aTechContactId, new Properties(), 0);

~* *

* This method allows a customer to modify one or more attributes * associated with a specific instance of a Domain product * registered to that customer.
* This method will also convert a DNS Hosting product domain * into a standard domain.
* <BR>NOTE: This command is asynchronous. Receipt of the * COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED code * indicates that the command has been successfully queued.
* <BR><PRE>
_ $$_ Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED

* </PRE><BR>

* c~param ~pCustomerAccountld the parameter value * Qparam pCustomerPassword the parameter value * Qparam pDomainName the parameter value * c~param aHostldl the attribute value * Qparam aHostId2 the attribute value * c~param aTechContactld the attribute value * Qparam optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND MODIFY

* Qsee NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO MODIFY DOMAIN

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME

* Qsee NSIWholesaleAPI#ATTR HOST ID1 * C~see NSIWholesaleAPI#ATTR HOST ID2 * Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
_ . _ *

* Qsee WSPResponse#COMMAND FAILED UNKNOWN ERROR

* Qsee WSPResponse#INVALID VALUE

* Qsee WSPResponse#GENERAL ACCESS DENIED

* Qsee WSPResponse#OBJECT NOT_FOUND

* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA_BEING
RETURNED

* c~see WSPRespo nse#COMMAND_EXECUTION_SUCCEEDED-PROPERTIES BEING RETURNED

* Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
_ _ _ *

*/

pu blic WSPResponse modifyDomain( String pCustomerAccountId, String pCustomerPassword, String pDomainName, String aHostIdl, String aHostId2, String aTechContactId, Properties optionalAttributes) th rows NSIWholesaleException return modifyDomain( pCustomerAccountld, pCustomerPassword, pDomainName, aHostIdl, aHostId2, aTechContactId, optionalAttributes, 0);

pr otected WSPResponse modifyDomain( String pCustomerAccountId, String pCustomerPassword, String pDomainName, String aHostIdl, _ 89_ String aHostId2, String aTechContactId, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".modifyDomain(StringX6, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
conn = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(P_ARM CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER_PASSWORD, pCustomerPassword); ' allParmsAndAttrs.put(PARM DOMAIN_NAME, pDomainName);
allParmsAndAttrs.put(ATTR HOST_ID1, aHostIdl);
allParmsAndAttrs.put(ATTR HOST ID2, aHostId2);
allParmsAndAttrs.put(ATTR-TECH CONTACT-ID, aTechContactId);
returnCode = conn.makeRequest(COMBO MODIFY DOMAIN, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return modifyDomain( pCustomerAccountld, pCustomerPassword, pDomainName, aHostIdl, aHostId2, aTechContactId, optionalAttributes, count + 1);
}
}

/**

* This method allows a technical contact of a customer's domain * product to modify one or more attributes * associated with that specific instance of the Domain product * registered to that customer.

* This method will also convert a DNS Hosting product domain * into a standard domain.

* <BR>NOTE: This command is asynchronous. Receipt of the * RETURNED code PROPERTIES
BEING
SUCCEEDED
EXECUTION
COMMAND

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_EXECUTION_SUCCEEDED
NO DATA
BEING
RETURNED
- - - -* </PRE><BR>

* @param pCustomerAccountId the parameter value * @param pTechContactId the parameter value * @param pTechContactPassword the parameter value * @param pDomainName the parameter value * @param aHostNamel the attribute value * @param aHostAddrl the attribute value * @param aHostName2 the attribute value * @param aHostAddr2 the attribute value * @param aTechContactId the attribute value * @param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND.MODIFY

* @see NSIWholesaleAPI#CLASS DOMAIN

* @see NSIWholesaleAPI#COMBO MODIFY DOMAIN

* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* @see NSIWholesaleAPI#PARM TECH CONTACT ID

* @see NSIWholesaleAPI#PARM TECH CONTACT PASSWORD

* @see NSIWholesaleAPI#PARM DOMAIN NAME

* @see NSIWholesaleAPI#ATTR HOST NAME1 * @see NSIWholesaleAPI#ATTR HOST ADDR1 * @see NSIWholesaleAPI#ATTR HOST NAME2 * @see NSIWholesaleAPI#ATTR HOST ADDR2 * @see NSIWholesaleAPI#ATTR TECH CONTACT ID

* @see WSPResponse#COMMAND FAILED UNKNOWN ERROR

* @see WSPResponse#INVALID VALUE

* @see WSPResponse#GENERAL ACCESS_DENIED

* @see WSPResponse#COMMAND EXECUTION SUCCEEDED_NO DATA
BEING RETURNED

* @see WSPResponse#COMMAND
EXECUTION
SUCCEEDED-PROPERTIES
BEING
RETURNED

*/

public WSPResponse modifyDomain( String pCustomerAccountId, String pTechContactld, String pTechContactPassword, String pDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactld throws NSIWholesaleException return modifyDomain( pCustomerAccountId, pTechContactld, pTechContactPassword, pDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactld, new Properties(), 0);
/**
* This method allows a technical contact of a customer's domain * product to modify one or more attributes * associated with that specific instance of the Domain product * registered to that customer.

* This method will also convert a DNS Hosting product domain * into a standard domain.

* <BR>NOTE: This command is asynchronous. Receipt of the * RETURNED code PROPERTIES
BEING
SUCCEEDED
EXECUTION
COMMAND

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED

3O * </PRE><BR>

* Qparam pCustomerAccountId the parameter value * @param pTechContactId the parameter value * @param pTechContactPassword the parameter value * ~param pDomainName the parameter value * ~param aHostNamel the attribute value * Cparam aHostAddrl the attribute value * @param aHostName2 the attribute value * Qparam aHostAddr2 the attribute value * Qparam aTechContactId the attribute value * Qparam optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND MODIFY

* @see NSIWholesaleAPI#CLASS DOMAIN

* @see NSIWholesaleAPI#COMBO MODIFY DOMAIN

* see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID

* @see NSIWholesaleAPI#PARM TECH_CONTACT_PASSWORD

* C~see NSIWholesaleAPI#PARM DOMAIN NAME

* Qsee NSIWholesaleAPI#ATTR HOST NAME1 * Qsee NSIWholesaleAPI#ATTR HOST ADDR1 * Qsee NSIWholesaleAPI#ATTR HOST NAME2 * Qsee NSIWholesaleAPI#ATTR HOST ADDR2 * c~see NSIWholesaleAPI#ATTR TECH CONTACT_ID

* Qsee WSPResponse#COMMAND_FAILED UNKNOWN ERROR
_ 92_ * Qsee WSPResponse#INVALID VALUE
* C~see WSPResponse#GENERAL ACCESS_DENIED
* c~see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse modifyDomain( String pCustomerAccountId, String pTechContactId, String pTechContactPassword, String pDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactId, Properties optionalAttributes) throws NSIWholesaleException return modifyDomain( pCustomerAccountId, pTechContactId, pTechContactPassword, pDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactId, optionalAttributes, 0) ;
protected WSPResponse modifyDomain( String pCustomerAccountId, String pTechContactld, String pTechContactPassword, String pDomainName, String aHostNamel, String aHostAddrl, String aHostName2, String aHostAddr2, String aTechContactld, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".modifyDomain(StringX9, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
conn = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();

// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM_CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM TECH CONTACT_ID, pTechContactId);
allParmsAndAttrs.put(PARM TECH CONTACT-PASSWORD, pTechContactPassword);
allParmsAndAttrs.put(PARM DOMAIN_NAME, pDomainName);
allParmsAndAttrs.put(ATTR HOST_NAME1, aHostNamel);
allParmsAndAttrs.put(ATTR_HUST_ADDR1, aHostAddrl);
allParmsAndAttrs.put(ATTR HOST NAME2, aHostName2);
allParmsAndAttrs.put(ATTR HOST ADDR2, aHostAddr2);
allParmsAndAttrs.put(ATTR TECH CONTACT_ID, aTechContactId);
returnCode = conn.makeRequest(COMBO MODIFY DOMAIN, allParmsAndAttrs);
pool.checkln(conn);
return returnCode;
catch (Exception e) try {
pool.release(conn);
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
finally {
return modifyDomain( pCustomerAccountId, pTechContactId, pTechContactPassword, pDomainName, aHostNamel, aHostAddrl, aHostName2, aHostAddr2, aTechContactld, optionalAttributes, count + 1);
~**
* This method allows a technical contact of a customer's domain * product to modify one or more attributes * associated with that specific instance of the Domain product * registered to that customer.
* This method will also convert a DNS Hosting product domain * into a standard domain.
* <BR>NOTE: This command is asynchronous. Receipt of the * COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED code * indicates that the command has been successfully queued.
* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED

* </PRE><BR>

* c~param pCustomerAccountId the parameter value * Qparam pTechContactId the parameter value * Qparam pTechContactPassword the parameter value * c~param pDomainName the parameter value * C~param aHostIdl the attribute value * c~param aHostId2 the attribute value * C~param aTechContactId the attribute value * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND MODIFY

* Qs~e NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO MODIFY DOMAIN

* C~see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* C~see NSIWholesaleAPI#PARM TECH CONTACT ID

* c~see NSIWholesaleAPI#PARM TECH CONTACT PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME

* C~see NSIWholesaleAPI#ATTR HOST ID1 * C~see NSIWholesaleAPI#ATTR HOST ID2 * see NSIWholesaleAPI#ATTR TECH CONTACT ID

* Qsee WSPResponse#COMMAND FAILED UNKNOWN ERROR
* Qsee WSPResponse#INVALID VALUE
* Qsee WSPResponse#GENERAL ACCESS_DENIED
* Qsee WSPResponse#COMMAND EXECUTION_SUCCEEDED NO DATA BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION-SUCCEEDED PROPERTIES BEING RETURNED
*/
public WSPResponse modifyDomain( String pCustomerAccountId, String pTechContactId, String pTechContactPassword, String pDomainName, String aHostIdl, String aHostId2, String aTechContactId throws NSIWholesaleException return modifyDomain( pCustomerAccountId, pTechContactId, pTechContactPassword, pDomainName, aHostIdl, aHostId2, aTechContactld, new Properties(), 0);
/**
* This method allows a technical contact of a customer s domain * product to modify one or more attributes * associated with that specific instance of the Domain product * registered to that customer.

* This method will also convert a DNS Hosting product domain * into a standard domain.

* <BR>NOTE: This command is asynchronous. Receipt of the * BEING
RETURNED code PROPERTIES
SUCCEEDED
COMMAND
EXECUTION

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED

* </PRE><BR>

* c~param pCustomerAccountId the parameter value * Qparam pTechContactId the parameter value * c~param pTechContactPassword the parameter value * Qparam pDomainName the parameter value * c~param aHostIdl the attribute value * Qparam aHostId2 the attribute value * Qparam aTechContactId the attribute value * Qparam optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND MODIFY

* Qsee NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO MODIFY DOMAIN

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID

* C~see NSIWholesaleAPI#PARM TECH CONTACT PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME

* C~see NSIWholesaleAPI#ATTR HOST ID1 * Qsee NSIWholesaleAPI#ATTR HOST ID2 * Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID
- - -*

* Qsee WSPResponse#COMMAND FAILED UNKNOWN ERROR

* Qsee WSPResponse#INVALID VALUE

* Qsee WSPResponse#GENERAL ACCESS_DENIED

* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA_BEING
RETURNED

* @see WSPRespo nse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED

*/

pu blic WSPResponse modifyDomain( String pCustomerAccountId, String pTechContactId, String pTechContactPassword, String pDomainName, String aHostIdl, String aHostId2, String aTechContactId, Properties optionalAttributes) throws NSIWholesaleException {

return modifyDomain( pCustomerAccountId, pTechContactld, pTechContactPassword, pDomainName, aHostIdl, aHostId2, aTechContactId, optionalAttributes, 0);
protected WSPResponse modifyDomain( String pCustomerAccountId, String pTechContactId, String pTechContactPassword, String pDomainName, String aHostIdl, String aHostId2, String aTechContactld, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".modifyDomain(StringX7, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerACCOUntId);
allParmsAndAttrs.put(PARM TECH_CONTACT_ID, pTechContactId);
allParmsAndAttrs.put(PARM TECH CONTACT_PASSWORD, pTechContactPassword);
allParmsAndAttrs.put(PARM DOMAIN_NAME, pDomainName);
allParmsAndAttrs.put(ATTR HOST-ID1, aHostIdl);
allParmsAndAttrs.put(ATTR HOST ID2, aHostId2);
allParmsAndAttrs.put(ATTR_TECH CONTACT-ID, aTechContactId);
returnCode = conn.makeRequest(COMBO MODIFY DOMAIN, allParmsAndAttrs);
pool.checkln(conn);
return returnCode;
catch (Exception e) try pool.release(conn);
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
finally return modifyDomain( pCustomerAccountId, pTechContactId, pTechContactPassword, pDomainName, aHostIdl, aHostId2, aTechContactId, optionalAttributes, count + 1);
}

}
}

/**

* This method allows an Internet Service Provider (ISP) * to modify the Technical Contact Id of a specific domain product.

* <BR>NOTE: This command is asynchronous. Receipt of the * SUCCEEDED
PROPERTIES
BEING
RETURNED code EXECUTION
COMMAND

* _ _ _ _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_EXECUTION_SUCCEEDED
NO DATA
BEING RETURNED
- - _ _ * </PRE><BR>

* Qparam pCustomerAccountId the parameter value * c~param plspPassword the parameter value * c~param pDomainName the parameter value * Qparam aTechContactId the attribute value * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND MODIFY

* C~see NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO MODIFY DOMAIN

* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* see NSIWholesaleAPI#PARM ISP PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME

* Qsee NSIWholesaleAPI#ATTR TECH CONTACT ID

* Qsee WSPResponse#INVALID VALUE
* Qsee WSPResponse#GENERAL ACCESS_DENIED
* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
*/
public WSPResponse modifyDomain( String pCustomerAccountId, String pIspPassword, String pDomainName, String aTechContactId throws NSIWholesaleException {
return modifyDomain( pCustomerAccountId, pIspPassword, pDomainName, aTechContactId, new Properties(), 0) ;
_ 98_ /**

* This method allows an Internet Service Provider (ISP) * to modify the Technical Contact Id of a specific domain product.

* <BR>NOTE: This command is asynchronous. Receipt of the * SUCCEEDED_PROPERTIES_BEING_RETURNED code COMMAND
EXECUTION

* _ _ indicates that the command has been successfully queued.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED

1O * </PRE><BR>

* Qparam pCustomerAccountId the parameter value * c~param plspPassword the parameter value * c~param pDomainName the parameter value * Qparam aTechContactId the attribute value * Qparam optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server. Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * C~see NSIWholesaleAPI#COMMAND MODIFY

* Qsee NSIWholesaleAPI#CLASS DOMAIN

* C~see NSIWholesaleAPI#COMBO MODIFY DOMAIN

* see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* @see NSIWholesaleAPI#PARM ISP PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME

* C~see NSIWholesaleAPI#ATTR TECH CONTACT ID

* @see WSPResponse#INVALID VALUE
* Qsee WSPResponse#GENERAL ACCESS_DENIED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
*/
public WSPResponse modifyDomain( String pCustomerAccountId, String plspPassword, String pDOmainName, String aTechContactld, Properties optionalAttributes) throws NSIWholesaleException {
return modifyDomain( pCustomerAccountId, pIspPassword, pDomainName, aTechContactId, optionalAttributes, 0);
protected WSPResponse modifyDomain( String pCustomerAccountld, String plspPassword, String pDomainName, String aTechContactId, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".modifyDomain(StringX4, Properties, int) ";
if (count > retry) _ 99_ throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER_ACCOUNT-ID, pCustomerAccountld);
allParmsAndAttrs.put(PARM_ISP_PASSWORD, pIspPassword);
allParmsAndAttrs.put(PARM DOMAIN_NAME, pDomainName);
allParmsAndAttrs.put(ATTR TECH CONTACT_ID, aTechContactId);
returnCode = conn.makeRequest(COMBO MODIFY DOMAIN, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return modifyDomain( pCustomerAccountId, pIspPassword, pDomainName, aTechContactId, optionalAttributes, count + 1);
}
}
/**
* This method is used to modify one or more attributes * of an existing individual customer account.
* <BR><PRE>
Expected Major Result Code:
COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
* </PRE><BR>
* Qparam pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * c~return the Wholesale Server Protocol Server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Osee NSIWholesaleAPI#COMMAND MODIFY

* Qsee NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT

* @see NSIWholesaleAPI#COMBO_MODIFY_INDIVIDUAL_ACCOUNT

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#ATTR FIRST NAME

* Qsee NSIWholesaleAPI#ATTR LAST NAME

* Osee NSIWholesaleAPI#ATTR ADDRESS1 * Qsee NSIWholesaleAPI#ATTR ADDRESS2 * Qsee NSIWholesaleAPI#ATTR ADDRESS3 * Qsee NSIWholesaleAPI#ATTR ADDRESS4 * Qsee NSIWholesaleAPI#ATTR ADDRESS5 * C~see NSIWholesaleAPI#ATTR CITY

* Qsee NSIWholesaleAPI#ATTR STATE

* Qsee NSIWholesaleAPI#ATTR POSTAL CODE

* Qsee NSIWholesaleAPI#ATTR COUNTRY CODE

* @see NSIWholesaleAPI#ATTR PHONE

* Qsee NSIWholesaleAPI#ATTR FAX

* Qsee NSIWholesaleAPI#ATTR EMAIL

* Qsee NSIWholesaleAPI#ATTR RUTH QUESTION

* Qsee NSIWholesaleAPI#ATTR RUTH ANSWER
_ _ * Qsee WSPResponse#GENERAL ACCESS DENIED

* Qsee WSPResponse#INVALID VALUE

* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA
BEING RETURNED
_ *

*/

public WSPResponse modifyIndividualAccount( String pCustomerAccountld, String pCustomerPassword) throws NSIWholesaleException return modifylndividualAccount( pCustomerAccountId, pCustomerPassword, new Properties(), 0) ;

/**

* This method is used to modify one or more attributes * of an existing individual customer account.

* <BR><PRE>

Optional Attribute Key(s):

ATTR_CUSTOMER_PASSWORD

ATTR_FIRST_NAME

ATTR_LAST_NAME

ATTR_ADDRESS1 ATTR_ADDRESS2 ATTR_ADDRESS3 5O ATTR_ADDRESS4 ATTR_ADDRESSS

ATTR_CITY

ATTR_STATE

ATTR_POSTAL_CODE

ATTR_COUNTRY_CODE

ATTR_PHONE

ATTR FAX

ATTR_EMAIL
ATTR_AUTH_QUESTION
ATTR AUTH ANSWER
Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED NO DATA BEING RETURNED
- - _ _ * </PRE><BR>

* Qparam pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * ~param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND MODIFY

* C~see NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT

* Qsee NSIWholesaleAPI#COMBO_MODIFY_INDIVIDUAL_ACCOUNT

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* C~see NSIWholesaleAPI#PARM CUSTOMER PASSWORD
_ _ *

* C~see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#ATTR FIRST NAME

* Qsee NSIWholesaleAPI#ATTR LAST NAME

* @see NSIWholesaleAPI#ATTR ADDRESS1 * @see NSIWholesaleAPI#ATTR ADDRESS2 * C~see NSIWholesaleAPI#ATTR ADDRESS3 * C~see NSIWholesaleAPI#ATTR ADDRESS4 * Qsee NSIWholesaleAPI#ATTR ADDRESS5 * Qsee NSIWholesaleAPI#ATTR CITY

* Qsee NSIWholesaleAPI#ATTR STATE

* @see NSIWholesaleAPI#ATTR POSTAL CODE

* C~see NSIWholesaleAPI#ATTR COUNTRY CODE

* @see NSIWholesaleAPI#ATTR PHONE

* Qsee NSIWholesaleAPI#ATTR FAX

* Qsee NSIWholesaleAPI#ATTR EMAIL

* Qsee NSIWholesaleAPI#ATTR AUTH QUESTION

* @see NSIWholesaleAPI#ATTR RUTH ANSWER
_ *

* Qsee WSPResponse#GENERAL ACCESS DENIED

* @see WSPResponse#INVALID VALUE

* @see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING
RETURNED

*/

public WSPResponse modi~fyIndividualAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes) th rows NSIWholesaleException return modifyIndividualAccount( pCustomerAccountId, pCustomerPassword, optionalAttributes, 0);

pr otected WSPResponse modifyIndividualAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".modifyIndividualAccount(String, String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
returnCode =
conn.makeRequest(COMBO_MODIFY_INDIVIDUAL_ACCOUNT, allParmsAndAttrs);
pool checkIn(conn);
return returnCode;
} catch (Exception e) {
try pool.release(conn);
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return modifyIndividualAccount( pCustomerAccountId, pCustomerPassword, optionalAttributes, count + 1);
}
/**
* This method is used to modify one or more attributes * of an existing business (organization) customer account.
5O * <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED NO DATA BEING RETURNED
* </PRE><BR> - _ -* c~param pCustomerAccountId the parameter value * c~param pCustomerPassword the parameter value * C~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * QseeNSIWholesaleAPI#COMMAND MODIFY

* QseeNSIWholesaleAPI#CLASS BUSINESS
ACCOUNT

* QseeNSIWholesaleAPI#COMBO MODIFY
BUSINESS ACCOUNT

* QseeNSIWholesaleAPI#PARM CUSTOMER
ACCOUNT ID

* QseeNSIWholesaleAPI#PARM CUSTOMER
PASSWORD
- _ *

* @seeNSIWholesaleAPI#ATTR CUSTOMER
PASSWORD

* QseeNSIWholesaleAPI#ATTR COMPANY
NAME

* OseeNSIWholesaleAPI#ATTR COMPANY
TYPE

* QseeNSIWholesaleAPI#ATTR ADDRESS1 * QseeNSIWholesaleAPI#ATTR ADDRESS2 * @seeNSIWholesaleAPI#ATTR ADDRESS3 * QseeNSIWholesaleAPI#ATTR ADDRESS4 * QseeNSIWholesaleAPI#ATTR ADDRESSS

* QseeNSIWholesaleAPI#ATTR CITY

* QseeNSIWholesaleAPI#ATTR STATE

* C~seeNSIWholesaleAPI#ATTR POSTAL
CODE

* QseeNSIWholesaleAPI#ATTR COUNTRY
CODE

* QseeNSIWholesaleAPI#ATTR PHONE

* QseeNSIWholesaleAPI#ATTR FAX

* QseeNSIWholesaleAPI#ATTR EMAIL

* QseeNSIWholesaleAPI#ATTR AUTH
QUESTION

* QseeNSIWholesaleAPI#ATTR AUTH
ANSWER

* C~seeNSIWholesaleAPI#ATTR LEGAL FIRST NAME
CONTACT

* QseeNSIWholesaleAPI#ATTR LEGAL LAST NAME
CONTACT

* QseeNSIWholesaleAPI#ATTR_LEGAL_CONTACT_ADDRESS1 * C~seeNSIWholesaleAPI#ATTR LEGAL ADDRESS2 CONTACT

* @seeNSIWholesaleAPI#ATTR LEGAL ADDRESS3 CONTACT

* QseeNSIWholesaleAPI#ATTR LEGAL ADDRESS4 CONTACT

* C~seeNSIWholesaleAPI#ATTR LEGAL ADDRESSS
CONTACT

* QseeNSIWholesaleAPI#ATTR LEGAL CITY
CONTACT

* @seeNSIWholesaleAPI#ATTR LEGAL STATE
CONTACT

* QseeNSIWholesaleAPI#ATTR LEGAL POSTAL CODE
CONTACT

* C~seeNSIWholesaleAPI#ATTR_LEGAL_CONTACT_COUNTRY_CODE

* @seeNSIWholesaleAPI#ATTR LEGAL PHONE
CONTACT

* QseeNSIWholesaleAPI#ATTR LEGAL FAX
CONTACT

* QseeNSIWholesaleAPI#ATTR LEGAL FAX
CONTACT

* QseeWSPResponse#GENERAL ACCESS
DENIED

* QseeWSPResponse#INVALID VALUE

* QseeWSPResponse#COMMAND EXECUTION
SUCCEEDED NO DATA BEING RETURNED

*/

public WSPResponse modifyBusinessAccount( String pCustomerACCOUntId, String pCustomerPassword) throws NSIWholesaleException return modifyBusinessAccount( pCustomerAccountld, pCustomerPassword, new Properties(), 0) ;

}
/**
* This method is used to modify one or more attributes * of an existing business (organization) customer,account.

* <BR><PRE>

Optional Attribute Key(s):

ATTR_CUSTOMER_PASSWORD

ATTR_COMPANY_NAME

ATTR_COMPANY_TYPE

ATTR_ADDRESS1 ATTR_ADDRESS2 ATTR_ADDRESS3 ATTR_ADDRESS4 ATTR_ADDRESSS

ATTR_CITY

ATTR_STATE

ATTR_POSTAL_CODE

ATTR_COUNTRY_CODE

ATTR_PHONE

ATTR_FAX

ATTR_EMAIL

ATTR_AUTH_QUESTION

ATTR_AUTH_ANSWER

ATTR_LEGAL_CONTACT_FIRST_NAME

ATTR_LEGAL_CONTACT_LAST_NAME

ATTR_LEGAL_CONTACT_ADDRESS1 LEGAL_CONTACT_ADDRESS2 ATTR

_ ATTR_LEGAL_CONTACT_ADDRESS3 ATTR_LEGAL_CONTACT_ADDRESS4 ATTR_LEGAL_CONTACT_ADDRESS5 ATTR_LEGAL_CONTACT_CITY

ATTR_LEGAL_CONTACT_STATE

ATTR_LEGAL_CONTACT_POSTAL_CODE

ATTR_LEGAL_CONTACT_COUNTRY_CODE

ATTR_LEGAL_CONTACT_PHONE

ATTR_LEGAL_CONTACT_FAX

ATTR_LEGAL_CONTACT_EMAIL

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED

* </PRE><BR>

* C~param pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * Qparam optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND MODIFY

* Qsee NSIWholesaleAPI#CLASS BUSINESS ACCOUNT

* Qsee NSIWholesaleAPI#COMBO MODIFY BUSINESS ACCOUNT

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* C~see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD
* C~see NSIWholesaleAPI#ATTR COMPANY NAME
* Qsee NSIWholesaleAPI#ATTR COMPANY TYPE
* see NSIWholesaleAPI#ATTR ADDRESS1 * Qsee NSIWholesaleAPI#ATTR ADDRESS2 * Osee NSIWholesaleAPI#ATTR ADDRESS3 * Qsee NSIWholesaleAPI#ATTR ADDRESS4 * Qsee NSIWholesaleAPI#ATTR ADDRESS5 * Qsee NSIWholesaleAPI#ATTR CITY

* see NSIWholesaleAPI#ATTR STATE

* C~see NSIWholesaleAPI#ATTR POSTAL
CODE

* Qsee NSIWholesaleAPI#ATTR COUNTRY
CODE

* Qsee NSIWholesaleAPI#ATTR PHONE

* Qsee NSIWholesaleAPI#ATTR FAX

* Qsee NSIWholesaleAPI#ATTR EMAIL

* Qsee NSIWholesaleAPI#ATTR AUTH
QUESTION

* Qsee NSIWholesaleAPI#ATTR RUTH
ANSWER

* Qsee NSIWholesaleAPI#ATTR LEGAL FIRST NAME
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL LAST NAME
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS1 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS2 CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL ADDRESS3 CONTACT

* Osee NSIWholesaleAPI#ATTR LEGAL ADDRESS4 CONTACT

* C~see NSIWholesaleAPI#ATTR LEGAL ADDRESSS
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL CITY
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL STATE
CONTACT

* C~see NSIWholesaleAPI#ATTR LEGAL POSTAL CODE
CONTACT

* Qsee NSIWholesaleAPI#ATTR_LEGAL_CONTACT_COUNTRY_CODE

* Qsee NSIWholesaleAPI#ATTR LEGAL PHONE
CONTACT

* Osee NSIWholesaleAPI#ATTR LEGAL FAX
CONTACT

* Qsee NSIWholesaleAPI#ATTR LEGAL FAX
CONTACT

* C~see WSPResponse#GENERAL ACCESS
DENIED

* Qsee WSPResponse#INVALID VALUE

* Osee WSPResponse#COMMAND EXECUTION-SUCCEEDED
NO DATA BEING RETURNED

*/

pu blic WSPResponse modifyBusinessAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes) th rows NSIWholesaleException {

return modifyBusinessAccount( pCustomerAccountld, pCustomerPassword, optionalAttributes, 0 ) ;

pr otected WSPResponse modifyBusinessAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes, int count) th rows NSIWholesaleException {

String methodName = className +
".modifyBusinessAccount(String, String, Properties, int) ";

if (count > retry) {

throw new NSIWholesaleException(methodName + "Unable to complete command");

NSIWholesaleConnection conn = null;

WSPResponse returnCode;

try {

corm = (NSIWholesaleConnection)pool.check0ut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER_PASSWORD, pCustomerPassword);
returnCode = conn.makeRequest(COMBO MODIFY BUSINESS ACCOUNT, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return modifyBusinessAccount( pCustomerAccountId, pCustomerPassword, optionalAttributes, count + 1);
}
/**
* This method is used to modify one or more attributes * of an existing technical contact.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED
* </PRE><BR>
* c~param pTechContactId the parameter value * Qparam pTechContactPassword the parameter value * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND MODIFY
* Qsee NSIWholesaleAPI#CLASS TECHNICAL CONTACT
* C~see NSIWholesaleAPI#COMBO MODIFY TECHNICAL CONTACT
* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID
* Qsee NSIWholesaleAPI#PARM TECH CONTACT PASSWORD
* - - -* see NSIWholesaleAPI#ATTR FIRST NAME
* Qsee NSIWholesaleAPI#ATTR LAST NAME
* c~see NSIWholesaleAPI#ATTR ORGANIZATION
* Qsee NSIWholesaleAPI#ATTR ADDRESS1 * Qsee NSIWholesaleAPI#ATTR CITY
* Qsee NSIWholesaleAPI#ATTR STATE

* Qsee NSIWholesaleAPI#ATTR POSTAL CODE

* Qsee NSIWholesaleAPI#ATTR COUNTRY CODE

* C~see NSIWholesaleAPI#ATTR PHONE

* @see NSIWholesaleAPI#ATTR FAX

* Qsee NSIWholesaleAPI#ATTR EMAIL
_ *

* @see WSPResponse#GENERAL ACCESS DENIED

* Qsee WSPResponse#INVALID VALUE

* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING
RETURNED

*/ _ public WSPResponse modifyTechnicalContact( String pTechContactId, String pTechContactPassword) th rows NSIWholesaleException return modifyTechnicalContact( pTechContactId, pTechContactPassword, _ new Properties(), 0 ) ;

/* *

* This method is used to modify one or more attributes * of an existing technical contact.

* <BR><PRE>

Optional Attribute Key(s):

ATTR_FIRST_NAME

ATTR_LAST_NAME

ATTR_ORGANIZATION

3O ATTR_ADDRESS1 ATTR_CITY

ATTR_STATE

ATTR_POSTAL_CODE

ATTR_COUNTRY_CODE

ATTR_EMAIL

ATTR_FAX

ATTR PHONE

Expected Major Result Code:

4O COMMAND_ EXECUTION_SUCCEEDED NO DATA BEING RETURNED
- _ _ _ * </PRE><BR>

* c~param pTechContactId the parameter value * c~param pTechContactPassword the parameter value * @param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND MODIFY

* Qsee NSIWholesaleAPI#CLASS TECHNICAL CONTACT

* Qsee NSIWholesaleAPI#COMBO MODIFY TECHNICAL CONTACT

* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID

* Qsee NSIWholesaleAPI#PARM TECH CONTACT PASSWORD
- _ *

* @see NSIWholesaleAPI#ATTR FIRST NAME
* @see NSIWholesaleAPI#ATTR LAST NAME
* C~see NSIWholesaleAPI#ATTR ORGANIZATION
* @see NSIWholesaleAPI#ATTR ADDRESS1 *. Qsee NSIWholesaleAPI#ATTR CITY
* Qsee NSIWholesaleAPI#ATTR STATE
* see NSIWholesaleAPI#ATTR POSTAL CODE
* Qsee NSIWholesaleAPI#ATTR COUNTRY CODE
* C~see NSIWholesaleAPI#ATTR PHONE
* Qsee NSIWholesaleAPI#ATTR FAX
* Qsee NSIWholesaleAPI#ATTR EMAIL
* Qsee WSPResponse#GENERAL ACCESS DENIED
* Qsee WSPResponse#INVALID-VALUE
* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
_ * -*/
public WSPResponse modifyTechnicalContact( String pTechContactId, String pTechContactPassword, Properties optionalAttributes) throws NSIWholesaleException {
return modifyTechnicalContact( pTechContactId, pTechContactPassword, optionalAttributes, 0);
}
protected WSPResponse modifyTechnicalContact( String pTechContactId, String pTechContactPassword, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".modifyTechnicalContact(String, String, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM TECH CONTACT-ID, pTechContactId);
allParmsAndAttrs.put(PARM TECH CONTACT-PASSWORD, pTechContactPassword);
returnCode =
corm.makeRequest(COMBO MODIFY TECHNICAL CONTACT, allParmsAndAttrs);
pool checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);

}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return modifyTechnicalContact( pTechContactId, pTechContactPassword, optionalAttributes, count + 1);
/**
* This method is used to modify/reset a customer's account password.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED
* </PRE><BR>
* c~param pCustomerAccountld the parameter value * c~param aCustomerPassword the attribute value * @return the Wholesale Server Protocol Server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND MODIFY
* @see NSIWholesaleAPI#CLASS PASSWORD
* Qsee NSIWholesaleAPI#COMBO MODIFY PASSWORD
* Osee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* CA?see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD
* Csee WSPResponse#GENERAL ACCESS_DENIED
* l~see WSPResponse#COMMAND EXECUTION-SUCCEEDED NO DATA BEING RETURNED
*/
public WSPResponse modifyPassword( String pCustomerAccountId, String aCustomerPassword) throws NSIWholesaleException return modifyPassword( pCustomerACCOUntId, aCustomerPassword, new Properties(), 0) ;
}
/**
* This method is used to modify/reset a customer's account password.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED NO DATA BEING RETURNED
* </PRE><BR> - _ -* Qparam pCustomerAccountId the parameter value * C~param aCustomerPassword the attribute value * Qparam optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND MODIFY
* C~see NSIWholesaleAPI#CLASS PASSWORD
* C~see NSIWholesaleAPI#COMBO MODIFY PASSWORD
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* C~see NSIWholesaleAPI#ATTR CUSTOMER PASSWORD
* _ * Qsee WSPResponse#GENERAL ACCESS_DENIED
* Osee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
*/
public WSPResponse modifyPassword( String pCustomerAccountId, String aCustomerPassword, Properties optionalAttributes) throws NSIWholesaleException {
return modifyPassword( pCustomerAccountId, aCustomerPassword, optionalAttributes, 0);
}
protected WSPResponse modifyPassword( String pCustomerAccountld, String aCustomerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".modifyPassword(String, String, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);

allParmsAndAttrs.put(PARM CUSTOMER_ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(ATTR CUSTOMER_PASSWORD, aCustomerPassword);
returnCode = conn.makeRequest(COMBO MODIFY PASSWORD, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);

}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return modifyPassword( pCustomerAccountId, aCustomerPassword, optionalAttributes, count + 1);
/**
* This method is used to generate a list of available * domain names based on a specified list of keywords.
- * <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
DomainNameO:
DomainNamel:
DomainName2:
DomainName3:
...etc...
* </PRE><BR>
* C~param pKeyWords the parameter value * C~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND GENERATE
* @see NSIWholesaleAPI#CLASS DOMAIN NAME
* Qsee NSIWholesaleAPI#COMBO GENERATE DOMAIN NAME
* Qsee NSIWholesaleAPI#PARM KEY WORDS
* - -* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA_BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse generateDomainName( String pKeyWords) throws NSIWholesaleException {
return generateDomainName( pKeyWords, new Properties(), 0) ;
}
/**
* This method is used to generate a list of available * domain names based on a specified list of keywords.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:

DomainNameO:
DomainNamel:
DomainName2:
DomainName3:
...etc...
* </PRE><BR>
* Qparam pKeyWords the parameter value * Qparam optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND GENERATE
* Qsee NSIWholesaleAPI#CLASS DOMAIN NAME
* Qsee NSIWholesaleAPI#COMBO GENERATE DOMAIN NAME
* Qsee NSIWholesaleAPI#PARM KEY WORDS
* _ _ * Qsee WSPResponse#COMMAND EXECUTION-SUCCEEDED NO DATA_BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
., */
public WSPResponse generateDomainName( String pKeyWords, Properties optionalAttributes) throws NSIWholesaleException {
return generateDomainName( pKeyWords, optionalAttributes, 0);
}
protected WSPResponse generateDomainName( String pKeyWords, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".generateDomainName(String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
conn = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM-KEY WORDS, pKeyWOrds);
returnCode = conn.makeRequest(COMBO GENERATE DOMAIN_NAME, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;

} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException~~ + re);
}
finally return generateDOmainName( pKeyWords, optionalAttributes, count + 1);
}
/** _ * Retrieves a list of all domain products owned by customer.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
DomainNamel:
DomainName2:
DomainName3:
...etc...
* </PRE><BR>
* @param pCustomerAccountld the parameter value * c~param pCustomerPassword the parameter value * @return the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* @see NSIWholesaleAPI#CLASS DOMAIN
* @see NSIWholesaleAPI#COMBO LOOKUP DOMAIN
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* @see NSIWholesaleAPI#PARM CUSTOMER PASSWORD
~ * Qsee WSPResponse#GENERAL ACCESS_DENIED
* Csee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA_BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED_PROPERTIES BEING RETURNED
*/
public WSPResponse lookupDomain( String pCustomerAccountId, String pCustomerPassword) throws NSIWholesaleException return lookupDomain( pCustomerAccountId, pCustomerPassword, new Properties(), 0);
}
/**

* Retrieves a list of all domain products owned by customer.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
DomainNamel:
DomainName2:
DomainName3:
...etc...
* </PRE><BR>
_* C~param pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * Qparam optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* C~see NSIWholesaleAPI#CLASS DOMAIN
* Qsee NSIWholesaleAPI#COMBO LOOKUP DOMAIN
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* -* Qsee WSPResponse#GENERAL ACCESS DENIED
* Osee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupDomain( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes) throws NSIWholesaleException {
return lookupDomain( pCustomerAccountld, pCustomerPassword, optionalAttributes, 0) ;
protected WSPResponse lookupDomain( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".lookupDomain(String, String, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
conn = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();

// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM-CUSTOMER-PASSWORD, pCustomerPassword);
returnCode = conn.makeRequest(COMBO LOOKUP DOMAIN, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
catch (Exception e) try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return lookupDomain( pCustomerAccountId, pCustomerPassword, optionalAttributes, count + 1);
}
/**

* Retrieves detail information about a specific domain product * registered to a customer. This form of the lookup domain * command will also retrieve the status of the domain while * it is being processed or after it has failed.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_DOMAIN_NAME

ATTR_TECH_CONTACT_ID

HOST_NAME1 ATTR

_ ATTR_HOST_ADDR1 ATTR_HOST_ID1 ATTR_HOST_NAME2 ATTR_HOST_ADDR2 ATTR_HOST_ID2 5O * </PRE><BR>

* Qparam pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * Qparam pDomainName the parameter value * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND LOOKUP

* see NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO LOOKUP DOMAIN

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* C~see NSIWholesaleAPI#PARM DOMAIN NAME

* C~see WSPResponse#GENERAL ACCESS_DENIED

* Qsee WSPResponse#OBJECT NOT FOUND

* Qsee WSPRespo nse#COMMAND EXECUTION_SUCCEEDED_PROPERTIES BEING_RETURNED

* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED TEXT BEING
RETURNED

*/

pu blic WSPResponse lookupDomain( String pCustomerAccountId, String pCustomerPassword, String pDomainName) th rows NSIWholesaleException return lookupDomain( pCustomerAccountId, pCustomerPassword, pDomainName, new Properties(), 0) ;

}

~* *

* Retrieves detail information about a specific domain product * registered to a customer. This form of the lookup domain * command will also retrieve the status of the domain while * it is being processed or after it has failed.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_DOMAIN_NAME

ATTR_TECH_CONTACT_ID

ATTR_HOST_NAME1 ATTR_HOST_ADDR1 ATTR_HOST_ID1 4O ATTR_HOST_NAME2 ATTR_HOST_ADDR2 * </PRE><BR>

* C~param pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * Qparam pDomainName the parameter value * c~param optionalAttributes a property list of optional attributes * return the Wholesale Server Protocol Server response * exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * C~see NSIWholesaleAPI#COMMAND LOOKUP

* Qsee NSIWholesaleAPI#CLASS DOMAIN

* Qsee NSIWholesaleAPI#COMBO LOOKUP DOMAIN

* C~see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME
_ _ *

* Qsee WSPResponse#GENERAL ACCESS DENIED
* Qsee WSPResponse#OBJECT NOT FOUND
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED TEXT BEING RETURNED
*/
public WSPResponse lookupDomain( String pCustomerAccountId, String pCustomerPassword, String pDomainName, Properties optionalAttributes) throws NSIWholesaleException {
return lookupDomain( pCustomerAccountId, pCustomerPassword, pDomainName, optionalAttributes, 0) ;
}
protected WSPResponse lookupDomain( String pCustomerAccountId, String pCustomerPassword, String pDomainName, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".lookupDomain(String, String, String, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER_ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
allParmsAndAttrs.put(PARM DOMAIN NAME, pDomainName);
returnCode = conn.makeRequest(COMBO LOOKUP DOMAIN, allParmsAndAttrs);
pool.checkln(conn);
return returnCode;
catch (Exception e) {
try {
pool.release(conn);

catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException'~ + re);
finally {
return lookupDomain( pCustomerAccountld, pCustomerPassword, pDomainName, optionalAttributes, count + 1);
/**

* Retrieves a list of the customer's domain products * for which the technical contact id is the technical contact.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

DomainNamel:

DomainName2:

DomainName3:

...etc...
* </PRE><BR>

* c~param pCustomerAccountId the parameter value * C~param pTechContactId the parameter value * @param pTechContactPassword the parameter value * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND LOOKUP

* Qsee NSIWholesaleAPI#CLASS DOMAIN

* @see NSIWholesaleAPI#COMBO LOOKUP DOMAIN

* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* C~see NSIWholesaleAPI#PARM TECH CONTACT ID

* c~see NSIWholesaleAPI#PARM TECH CONTACT PASSWORD
_ _ -*

* C~see WSPResponse#GENERAL ACCESS_DENIED

* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING
RETURNED

* c~see WSPRespo nse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED

*/

pu blic WSPResponse lookupDOmainByTechContact( String pCustomerAccountId, String pTechContactId, String pTechContactPassword) th rows NSIWholesaleException return lookupDomainByTechContact( pCustomerAccountId, pTechContactld, pTechContactPassword, new Properties(), 0);
/**
* Retrieves a list of the customer's domain products * for which the technical contact id is the technical contact.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
DomainNamel:
DomainName2: _ DomainName3:
...etc...
* </PRE><BR>
* ~param pCustomerAccountId the parameter value * c~param pTechContactld the parameter value * Qparam pTechContactPassword the parameter value * c~param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * C~see NSIWholesaleAPI#COMMAND LOOKUP
* C~see NSIWholesaleAPI#CLASS DOMAIN
* Qsee NSIWholesaleAPI#COMBO LOOKUP DOMAIN
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID
* C~see NSIWholesaleAPI#PARM TECH CONTACT PASSWORD
* - _ * Qsee WSPResponse#GENERAL ACCESS_DENIED
* Qsee WSPResponse#COMMAND EXECUTION_SUCCEEDED NO DATA_BEING RETURNED
* c~see WSPResponse#COMMAND EXECUTION SUCCEEDED_PROPERTIES BEING RETURNED
*/
public WSPResponse lookupDomainByTechContact( String pCustomerAccountId, String pTechContactld, String pTechContactPassword, Properties optionalAttributes) throws NSIWholesaleException return lookupDomainByTechContact( pCustomerAccountId, pTechContactld, pTechContactPassword, optionalAttributes, o) ;
protected WSPResponse lookupDomainByTechContact( String pCustomerACCOUntId, String pTechContactId, String pTechContactPassword, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className +
".lookupDOmainByTechContact(String, String, String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.check0ut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER_ACCOUNT_ID, pCustomerAccountld);
allParmsAndAttrs.put(PARM TECH_CONTACT-ID, pTechContactId);
allParmsAndAttrs.put(PARM TECH CONTACT_PASSWORD, pTechContactPassword);
returnCode = conn.makeRequest(COMBO LOOKUP DOMAIN, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
catch (Exception e) {
trY {
pool.release(conn);
catch (ResourceExcep'tion re) System. err.println(methodName + "Caught ResourceException" + re);
finally return lookupDomainByTechContact( pCustomerAccountId, pTechContactId, pTechContactPassword, optionalAttributes, count + 1);
}
~**
* Retrieves details of a specific domain product owned by customer, * for which the technical contact id is the technical contact for * the specific product.
* <BR><PRE>
Expected Major Result Code:
COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
Expected Result Property Keys) Returned:
ATTR_DOMAIN_NAME
ATTR_TECH_CONTACT_ID
ATTR_HOST_NAME1 ATTR_HOST_ADDR1 ATTR_HOST_ID1 ATTR_HOST_ADDR2 * </PRE><BR> - _ * Oparam pCustomerAccountId the parameter value * Qparam pTechContactld the parameter value * C~param pTechContactPassword the parameter value * Qparam pDomainName the parameter value * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS DOMAIN
* Qsee NSIWholesaleAPI#COMBO LOOKUP DOMAIN
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID
* Qsee NSIWholesaleAPI#PARM TECH CONTACT PASSWORD
* Qsee NSIWholesaleAPI#PARM DOMAIN NAME
* -* Qsee WSPResponse#GENERAL ACCESS DENIED
* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED_PROPERTIES BEING RETURNED
* Osee WSPResponse#COMMAND EXECUTION-SUCCEEDED TEXT BEING RETURNED
*/
public WSPResponse lookupDomainByTechContact( String pCustomerAccountId, String pTechContactId, String pTechContactPassword, String pDomainName) throws NSIWholesaleException return lookupDomainByTechContact( pCustomerAccountId, pTechContactId, pTechContactPassword, pDomainName, new Properties(), 0) ;
/**
* Retrieves details of a specific domain product owned by customer, * for which the technical contact id is the technical contact for * the specific product.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR_DOMAIN_NAME
ATTR_TECH_CONTACT_ID
ATTR_HOST_NAME1 ATTR_HOST_ADDR1 ATTR_HOST_ID1 ATTR_HOST_NAME2 ATTR_HOST_ADDR2 ATTR_HOST_ID2 * </PRE><BR>
* c~param pCustomerAccountld the parameter value * Qparam pTechContactld the parameter value * Qparam pTechContactPassword the parameter value * ~param pDomainName the parameter value * Qparam optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS DOMAIN
* @see NSIWholesaleAPI#COMBO LOOKUP DOMAIN
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT-ID
* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID
* Qsee NSIWholesaleAPI#PARM TECH CONTACT PASSWORD
* Qsee NSIWholesaleAPI#PARM DOMAIN NAME
* C~see WSPResponse#GENERAL ACCESS DENIED
* @see WSPResponse#COMMAND EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED TEXT BEING RETURNED
*/
public WSPResponse lookupDomainByTechContact( String pCustomerAccountId, String pTechContactld, String pTechContactPassword, String pDomainName, Properties optionalAttributes) throws NSIWholesaleException return lookupDomainByTechContact( pCustomerAccountId, pTechContactId, pTechContactPassword, pDomainName, optionalAttributes, 0) ;
}
protected WSPResponse lookupDomainByTechContact( String pCustomerAccountId, String pTechContactId, String pTechContactPassword, String pDomainName, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className +
".lookupDomainByTechContact(StringX4, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT_ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM TECH CONTACT-ID, pTechContactId);
allParmsAndAttrs.put(PARM TECH CONTACT-PASSWORD, pTechContactPassword);
allParmsAndAttrs.put(PARM DOMAIN NAME, pDomainName);
returnCode = conn.makeRequest(COMBO LOOKUP DOMAIN, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
catch (Exception e) {
try {
pool.release(conn);

}
catch (ResourceException re) {

System. err.println(methodName + "Caught ResourceE xception" + re);

}
finally return lookupDomainByTechContact( pCustomerAccountId, pTechContactId, pTechContactPassword, pDomainName, optionalAttributes, count + 1);

}
} }

/**

* Retrieves a list of all domain names associated with * DNS Hosting products owned by customer.

* <BR><PRE>

Expected Major Result Code:

COMMAND XECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
E

_ Expected Result Property Keys) Returned:

DomainNamel:

DomainName2:

DomainName3:

...etc...

* </PRE><BR>

* C~param pCustomerAccountId the parameter value * C~param pCustomerPassword the parameter value * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP

* Qsee NSIWholesaleAPI#CLASS DNS HOSTING

* Qsee NSIWholesaleAPI#COMBO LOOKUP DNS HOSTING

* Osee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT_ID

* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
_ _ *

* Qsee WSPResponse#GENERAL ACCESS_DENIED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED_NO DATA BEING RETURNED
* @see WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupDnsHosting( String pCustomerAccountId, String pCustomerPassword) throws NSIWholesaleException return lookupDnsHosting( pCustomerAccountId, pCustomerPassword, new Properties(), 0) ;
/**
* Retrieves a list of all domain names associated with * DNS Hosting products owned by customer.
2O * <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
DomainNamel:
. DomainName2:
DomainName3:
...etc...
* </PRE><BR>
* Qparam pCustomerAccountId the parameter value * @param pCustomerPassword the parameter value * c~param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * C~see NSIWholesaleAPI#COMMAND LOOKUP
* @see NSIWholesaleAPI#CLASS DNS HOSTING
* @see NSIWholesaleAPI#COMBO LOOKUP DNS HOSTING
* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* @see NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* C~see WSPResponse#GENERAL ACCESS_DENIED
* Csee WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION-SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupDnsHosting( String pCustomerACCOUntId, String pCustomerPassword, Properties optionalAttributes) throws NSIWholesaleException {
return lookupDnsHosting( pCustomerAccountId, pCustomerPassword, optionalAttributes, 0);

protected WSPResponse lookupDnsHosting( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".lookupDnsHosting(String, String, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM-CUSTOMER_ACCOUNT-ID, pCustomerAccountId);
. allParmsAndAttrs.put(PARM CUSTOMER_PASSWORD, pCustomerPassword);
returnCode = conn.makeRequest(COMBO LOOKUP DNS HOSTING, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return lookupDnsHosting( pCustomerAccountld, pCustomerPassword, optionalAttributes, count + 1);
~**
* Retrieves details of a specific * DNS Hosting product owned by customer.
* Used_to verify a domain name is part of a DNS Hosting Product * <BR><PRE>
Expected Major Result Code:
COMMAND EXECUTION SUCCEEDED PROPERTIES BEING RETURNED

Expected Result Property Key.(s) Returned:
ATTR_DOMAIN NAME
* </PRE><BR>
* Qparam pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * c~param pDomainName the parameter value * Qreturn the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS DNS HOSTING
* Qsee NSIWholesaleAPI#COMBO LOOKUP DNS HOSTING
* Osee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT-ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* Qsee NSIWholesaleAPI#PARM DOMAIN NAME
* Qsee WSPResponse#GENERAL ACCESS DENIED
* Qsee WSPResponse#OBJECT NOT-FOUND
* @see WSPResponse#COMMAND EXECUTION_SUCCEEDED_PROPERTIES_BEING RETURNED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED TEXT BEING RETURNED
*/
public WSPResponse lookupDnsHosting( String pCustomerAccountld, String pCustomerPassword, String pDomainName) throws NSIWholesaleException return lookupDnsHosting( pCustomerAccountld, pCustomerPassword, pDomainName, new Properties(), 0) ;
}
/**
* Retrieves details of a specific * DNS Hosting product owned by customer.
* Used to verify a domain name is part of a DNS Hosting Product * <BR><PRE>
Expected Major Result Code:
COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
Expected Result Property Keys) RReturned:
ATTR_DOMAIN_NAME
* </PRE><BR>
* Qparam pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * Qparam pDomainName the parameter value * @param optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS DNS HOSTING
* Qsee NSIWholesaleAPI#COMBO LOOKUP DNS_HOSTING
* c~see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* Qsee NSIWholesaleAPI#PARM DOMAIN NAME
* _ _ * Qsee WSPResponse#GENERAL ACCESS DENIED
* Qsee WSPResponse#OBJECT NOT FOUND
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED_PROPERTIES BEING RETURNED
* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED TEXT BEING RETURNED
*/
public WSPResponse lookupDnsHosting( String pCustomerAccountId, String pCustomerPassword, String pDomainName, Properties optionalAttributes) throws NSIWholesaleException {
return lookupDnsHosting( pCustomerAccountId, pCustomerPassword, pDomainName, optionalAttributes, 0);
protected WSPResponse lookupDnsHosting( String pCustomerAccountld, String pCustomerPassword, String pDOmainName, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".lookupDnsHOSting(String, String, String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection conn = null;
WSPResponse returnCode;
try conn = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT_ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
allParmsAndAttrs.put(PARM DOMAIN NAME, pDomainName);
returnCode = conn.makeRequest(COMBO LOOKUP DNS HOSTING, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) try pool.release(conn);
}
catch (ResourceException re) {
System.err.println(methodName + ~~Caught ResourceException~~ + re);
}
finally {
return lookupDnsHosting( pCustomerAccountId, pCustomerPassword, pDomainName, optionalAttributes, count + 1);
}
}
}
/**
* Retrieves a list of all individual accounts linked to a wholesaler.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
CustomerAccountIdl:
CustomerAccountId2:
CustomerAccountId3:
...etc...
* </PRE><BR>
* C~return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND LOOKUP
* C~see NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT
* Qsee NSIWholesaleAPI#COMBO LOOKUP INDIVIDUAL ACCOUNT
* _ _ _ * Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED_NO DATA_BEING RETURNED
* @see WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupIndividualAccount() throws NSIWholesaleException {
return lookupIndividualAccount( new Properties(), 0) ;
/**
* Retrieves a list of all individual accounts linked to a wholesaler.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
CustomerAccountIdl:
CustomerACCOUntId2:
CustomerAccountId3:
...etc...

* </PRE><BR>
* c~param optionalAttributes a property list of optional attributes * C~return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT
* see NSIWholesaleAPI#COMBO LOOKUP INDIVIDUAL ACCOUNT
* _ _ _ * @see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
* @see WSPResponse#COMMAND EXECUTION SUCCEEDED_PROPERTIES BEING RETURNED
*/
public WSPResponse lookupIndividualAccount( Properties optionalAttributes) throws NSIWholesaleException return lookupIndividualAccount( optionalAttributes, 0 ) ;
protected WSPResponse lookupIndividualAccount( Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className +
".lookupIndividualAccount(Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
returnCode =
corm.makeRequest(COMBO_LOOKUP_INDIVIDUAL_ACCOUNT, allParmsAndAttrs);
pool checkIn(conn);
return returnCode;
catch (Exception e) {
try {
pool.release(conn);
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
f final 1y {
return lookupIndividualAccount( optionalAttributes, count + 1);

/**

* Retrieves details of a specific individual customer account.

* <BR><PRE>

Expected Major Result Code:

COMMAND_ EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

Expected Result Property Keys) Returned:

ATTR_FIRST_NAME

ATTR_LAST_NAME

ATTR_PHONE

ATTR_AUTH_QUESTION

ATTR_AUTH_ANSWER

ATTR_FAX

ATTR_EMAIL

ATTR_ADDRESS1 ATTR_ADDRESS2 ATTR_ADDRESS3 ATTR_ADDRESS4 ATTR_ADDRESS5 ATTR_CITY

ATTR_STATE

ATTR_POSTAL_CODE

ATTR_COUNTRY_CODE

* </PRE><BR>

* c~param pCustomerAccountId the parameter value * C~param pCustomerPassword the parameter value * @return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * Qsee NSIWholesaleAPI#COMMAND LOOKUP

* @see NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT

* c~see NSIWholesaleAPI#COMBO_LOOKUP_INDIVIDUAL_ACCOUNT

* Qsee NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID

* @see NSIWholesaleAPI#PARM CUSTOMER PASSWORD

* @see WSPResponse#GENERAL ACCESS DENIED
* @see WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupIndividualAccount( String pCustomerAccountId, String pCustomerPassword) throws NSIWholesaleException {
return lookupIndividualAccount( pCustomerAccountld, pCustomerPassword, new Properties(), 0) ;
/**
* Retrieves details of a specific individual customer account.
* <BR><PRE>

Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR_FIRST_NAME
ATTR_LAST_NAME
ATTR_PHONE
ATTR_AUTH_QUESTION
ATTR_AUTH_ANSWER
ATTR_FAX
ATTR_EMAIL
ATTR_ADDRESS1 ATTR_ADDRESS2 ATTR_ADDRESS3 ATTR_ADDRESS4 ATTR_ADDRESS5 ATTR_CITY
ATTR_STATE
ATTR_POSTAL_CODE
ATTR_COUNTRY_CODE
* </PRE><BR>
* c~param pCustomerAccountId the parameter value * C~param pCustomerPassword the parameter value * Qparam optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP
* C~see NSIWholesaleAPI#CLASS INDIVIDUAL ACCOUNT
* Qsee NSIWholesaleAPI#COMBO_LOOKUP_INDIVIDUAL_ACCOUNT
* @see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* C~see NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* - -* C~see WSPResponse#GENERAL ACCESS DENIED
* c~see WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookuplndividualAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes) throws NSIWholesaleException return lookupIndividualAccount( pCustomerAccountId, pCustomerPassword, optionalAttributes, 0) ;
protected WSPResponse lookupIndividualAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".lookupIndividualAccount(String, String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT_ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER_PASSWORD, pCustomerPassword);
returnCode =
corm.makeRequest(COMBO LOOKUP INDIVIDUAL ACCOUNT, allParmsAndAttrs);
pool checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally return lookupIndividualAccount( pCustomerAccountId, pCustomerPassword, optionalAttributes, count + 1);
}
/**
* Retrieves a list of all business customer accounts linked to wholesaler.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
CustomerAccountIdl:
CustomerAccountId2:
CustomerAccountId3:
...etc...
* </PRE><BR>
* Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS BUSINESS ACCOUNT
* Qsee NSIWholesaleAPI#COMBO LOOKUP BUSINESS ACCOUNT
* _ _ _ * C~see WSPResponse#COMMAND-EXECUTION SUCCEEDED NO DATA BEING RETURNED
* @see WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupBusinessAccount() throws NSIWholesaleException {
return lookupBusinessAccount( new Properties(), 0) ;
}
/**
* Retrieves a list of all business customer accounts linked to wholesaler.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
CustomerAccountIdl:
CustomerAccountId2:
CustomerACCOUntId3:
...etc...
* </PRE><BR>
* Qparam optionalAttributes a property list of optional attributes * c~return the Wholesale Server Protocol Server response * @exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * C~see NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS BUSINESS ACCOUNT
* C~see NSIWholesaleAPI#COMBO LOOKUP BUSINESS ACCOUNT
* see WSPResponse#COMMAND EXECUTION SUCCEEDED NO DATA BEING RETURNED
* @see WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupBusinessAccount( Properties optionalAttributes) throws NSIWholesaleException return lookupBusinessAccount( optionalAttributes, 0) ;
}
protected WSPResponse lookupBusinessAccount( Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className +
".lookupBusinessAccount(Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}

NSIWholesaleConnection conn = null;
WSPResponse returnCode;
try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
returnCode = conn.makeRequest(COMBO LOOKUP BUSINESS_ACCOUNT, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return lookupBusinessAccount( optionalAttributes, count + 1);
}
~**
* Retrieves details of a specific business customer account.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_PROPERTIES BEING RETURNED
Expected Result Property Keys) RReturned:
ATTR_COMPANY_NAME
ATTR COMPANY_TYPE

ATTR_PHONE
ATTR_FAX
ATTR_ADDRESS1 ATTR_ADDRESS4 ATTR_ADDRESS5 ATTR_CITY
ATTR_STATE
5O ATTR_POSTAL CODE
ATTR_COUNTRY_CODE
ATTR_LEGAL_CONTACT_FIRST_NAME
ATTR_LEGAL_CONTACT_LAST_NAME
ATTR_LEGAL_CONTACT_PHONE
ATTR LEGAL CONTACT FAX
ATTR_LEGAL_CONTACT_EMAIL
ATTR LEGAL CONTACT CITY

ATTR_LEGAL_CONTACT_STATE
ATTR_LEGAL_CONTACT_POSTAL_CODE
ATTR_LEGAL_CONTACT_COUNTRY_CODE
ATTR_LEGAL_CONTACT_ADDRESS1 ATTR_LEGAL_CONTACT_ADDRESS2 ATTR_LEGAL_CONTACT_ADDRESS3 ATTR_LEGAL_CONTACT_ADDRESS4 ATTR_LEGAL_CONTACT_ADDRESS5 * </PRE><BR>
* Qparam pCustomerAccountId the parameter value * Qparam pCustomerPassword the parameter value * return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * c~see NSIWholesaleAPI#COMMAND LOOKUP
* Osee NSIWholesaleAPI#CLASS BUSINESS ACCOUNT
* Qsee NSIWholesaleAPI#COMBO LOOKUP BUSINESS ACCOUNT
* C~see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* c~see WSPResponse#GENERAL ACCESS DENIED
* C~see WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
*/
public WSPResponse lookupBusinessAccount( String pCustomerAccountld, String pCustomerPassword) throws NSIWholesaleException return lookupBusinessAccount( pCustomerAccountId, pCustomerPassword, new Properties(), 0);
}
/**
* Retrieves details of a specific business customer account.
* <BR><PRE>
Expected Major Result Code:
4O COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
Expected Result Property Keys) Returned:
ATTR_COMPANY_NAME
ATTR_COMPANY_TYPE
ATTR_EMAIL
ATTR_PHONE
ATTR_FAX
ATTR_ADDRESS1 ATTR_ADDRESS2 ATTR_ADDRESS3 5O ATTR_ADDRESS4 ATTR_ADDRESS5 ATTR_CITY
ATTR_STATE
ATTR_POSTAL_CODE
ATTR_COUNTRY_CODE
ATTR_LEGAL_CONTACT_FIRST_NAME
ATTR LEGAL CONTACT LAST NAME

ATTR_LEGAL_CONTACT_PHONE
ATTR_LEGAL_CONTACT_FAX
ATTR_LEGAL_CONTACT_EMAIL
ATTR_LEGAL_CONTACT_CITY
ATTR_LEGAL_CONTACT_STATE
ATTR_LEGAL_CONTACT_POSTAL_CODE
ATTR_LEGAL_CONTACT_COUNTRY_CODE
ATTR_LEGAL_CONTACT_ADDRESS1 ATTR_LEGAL_CONTACT_ADDRESS2 1O ATTR_LEGAL_CONTACT_ADDRESS3 ATTR_LEGAL_CONTACT_ADDRESS4 ATTR_LEGAL CONTACT ADDRESS5 * </PRE><BR>
* c~param pCustomerAccountld the parameter value * Qparam pCustomerPassword the parameter value * Qparam optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * C~see NSIWholesaleAPI#COMMAND LOOKUP
* Qsee NSIWholesaleAPI#CLASS BUSINESS ACCOUNT
* Qsee NSIWholesaleAPI#COMBO_LOOKUP_BUSINESS_ACCOUNT
* C~see NSIWholesaleAPI#PARM CUSTOMER ACCOUNT ID
* Qsee NSIWholesaleAPI#PARM CUSTOMER PASSWORD
* Qsee WSPResponse#GENERAL ACCESS DENIED
* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED
* -*/ -public wSPResponse lookupBusinessAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes) throws NSIWholesaleException return lookupBusinessAccount( pCustomerAccountId, pCustomerPassword, optionalAttributes, 0);
protected WSPResponse lookupBusinessAccount( String pCustomerAccountId, String pCustomerPassword, Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".lookupBusinessAccount(String, String, Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try {

corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM CUSTOMER ACCOUNT-ID, pCustomerAccountId);
allParmsAndAttrs.put(PARM CUSTOMER-PASSWORD, pCustomerPassword);
returnCode = conn.makeRequest(COMBO LOOKUP BUSINESS ACCOUNT, allParmsAndAttrs);
pool.checkIn(conn);
return returnCode;
} catch (Exception e) try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return lookupBusinessAccount( pCustomerAccountId, pCustomerPassword, optionalAttributes, count + 1);
35 /**

* Retrieves details of a specific technical contact.

* <BR><PRE>

Expected Major Result Code:

COMMAND XECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED
E

_ Expected Result Property Keys) Returned:

ATTR_ORGANIZATION

ATTR_PHONE

ATTR_FAX

ATTR_EMAIL

ATTR_ADDRESS1 ATTR_CITY

ATTR_STATE

ATTR_POSTAL_CODE

ATTR_COUNTRY_CODE

5O * </PRE><BR>

* Qparam pTechContactId the parameter value * c~return the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND LOOKUP

* Qsee NSIWholesaleAPI#CLASS TECHNICAL CONTACT

* Qsee NSIWholesaleAPI#COMBO LOOKUP TECHNICAL CONTACT

* Qsee NSIWholesaleAPI#PARM TECH CONTACT-ID
* c~see WSPResponse#COMMAND EXECUTION SUCCEEDED PROPERTIES BEING RETURNED
*/
public WSPResponse lookupTechnicalContact( String pTechContactId) throws NSIWholesaleException return lookupTechnicalContact( pTechContactId, new Properties(), 0) ;
/**
* Retrieves details of a specific technical contact.
* <BR><PRE>

Expected Major Result Code:

COMMAND EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED

_ Expected Result Property Keys) Returned:

ATTR_ORGANIZATION

ATTR_PHONE

ATTR_FAX

ATTR_EMAIL

ATTR_ADDRESS1 ATTR_CITY

ATTR_STATE

ATTR_POSTAL_CODE

ATTR_COUNTRY_CODE

* </PRE><BR>

* Cparam pTechContactId the parameter value * c~param optionalAttributes a property list of optional attributes * return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable o complete command t * @see NSIWholesaleAPI#COMMAND LOOKUP

* @see NSIWholesaleAPI#CLASS TECHNICAL CONTACT

* Osee NSIWholesaleAPI#COMBO LOOKUP TECHNICAL CONTACT

* Qsee NSIWholesaleAPI#PARM TECH CONTACT ID

* Qsee WSPResponse#COMMAND EXECUTION SUCCEEDED PROPERTIES BEING RETURNED
*/
public WSPResponse lookupTechnicalContact( String pTechContactId, Properties optionalAttributes) throws NSIWholesaleException {
return lookupTechnicalContact( pTechContactId, optionalAttributes, 0) ;
protected WSPResponse lookupTechnicalContact( String pTechContactId, Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".lookupTechnicalContact(String, Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try conn = (NSIWholesaleConnection)pool.check0ut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
allParmsAndAttrs.put(PARM TECH CONTACT-ID, pTechContactId);
returnCode =
corm.makeRequest(COMBO LOOKUP TECHNICAL CONTACT, allParmsAndAttrs);
pool checkIn(conn);
return returnCode;
catch (Exception e) try {
pool.release(conn);
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
finally return lookupTechnicalContact( pTechContactId, optionalAttributes, count + 1);
/**
* This method returns basic information about the supported * protocol commands and classes.
* <BR><PRE>
Expected Major Result Code:
COMMAND_EXECUTION_SUCCEEDED_TEXT_BEING_RETURNED
Expected Text Returned:
...The Help Text...
Expected Result Property Keys) Returned:
textl:
text2:
text3:
...etc...
* </PRE><BR>
* @return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Csee WSPResponse#getProperties * Qsee NSIWholesaleAPI#COMMAND HELP
* Qsee WSPResponse#COMMAND EXECUTION-SUCCEEDED TEXT BEING RETURNED
*/
public WSPResponse help() throws NSIWholesaleException {
return help( new Properties(), 0) ;
}
/**
* This method returns basic information about the supported * protocol commands and classes.
* <BR><PRE>
Expected Major Result Code:
2O COMMAND_EXECUTION_SUCCEEDED_TEXT_BEING_RETURNED
Expected Text Returned:
. .The Help Text...
Expected Result Property Keys) Returned:
texts:
text2:
text3:
...etc...
* </PRE><BR>
* C~param optionalAttributes a property list of optional attributes * return the Wholesale Server Protocol Server response * Qexception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee WSPResponse#getProperties * Qsee NSIWholesaleAPI#COMMAND HELP
* c~see WSPResponse#COMMAND EXECUTION SUCCEEDED TEXT BEING RETURNED
*/
public WSPResponse help( Properties optionalAttributes) throws NSIWholesaleException {
return help( optionalAttributes, 0) ;
}
protected WSPResponse help( Properties optionalAttributes, int count) throws NSIWholesaleException String methodName = className + ".help(Properties, int) ";
if (count > retry) {
throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection conn = null;
WSPResponse returnCode;

try {
corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
returnCode = conn.makeRequest(COMMAND HELP, allParmsAndAttrs);
pool.checkln(conn);
return returnCode; _ } catch (Exception e) try pool.release(conn);
}
catch (ResourceException re) System. err.println(methodName + "Caught ResourceException" + re);
}
finally {
return help( optionalAttributes, count + 1);
}
}
/**
* This method terminates the wholesaler's access to session commands.
* <BR><PRE>
Expected Major Result Code: COMMAND SUCCEEDED CLOSING CONNECTION
* </PRE><BR>
* C~param optionalAttributes a property list of optional attributes * Qreturn the Wholesale Server Protocol Server response * c~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * Qsee NSIWholesaleAPI#COMMAND QUIT
_.
* Qsee WSPResponse#COMMAND SUCCEEDED CLOSING CONNECTION
*/
public WSPResponse quit() throws NSIWholesaleException {
return quit( new Properties(), 0);
}
/**
* This method terminates the wholesaler's access to session commands.
5O * <BR><PRE>
Expected Major Result Code: COMMAND SUCCEEDED CLOSING CONNECTION
* </PRE><BR>
* c~param optionalAttributes a property list of optional attributes * @return the Wholesale Server Protocol Server response * C~exception nsi.wholesale.toolkit.javaapi.NSIWholesaleException when unable to complete command * @see NSIWholesaleAPI#COMMAND QUIT

* Qsee WSPResponse#COMMAND SUCCEEDED CLOSING CONNECTION
*/
public WSPResponse quit( Properties optionalAttributes) throws NSIWholesaleException {
return quit( optionalAttributes, 0);
. ) protected WSPResponse quit( Properties optionalAttributes, int count) throws NSIWholesaleException {
String methodName = className + ".quit(Properties, int) ";
if (count > retry) throw new NSIWholesaleException(methodName + "Unable to complete command");
}
NSIWholesaleConnection corm = null;
WSPResponse returnCode;
try corm = (NSIWholesaleConnection)pool.checkOut();
Properties allParmsAndAttrs = new Properties();
// put optional attributes propertiesCat(allParmsAndAttrs, optionalAttributes);
returnCode = conn.makeRequest(COMMAND QUIT, allParmsAndAttrs);
pool.checkln(conn);
return returnCode;
} catch (Exception e) {
try {
pool.release(conn);
}
catch (ResourceException re) {
System. err.println(methodName + "Caught ResourceException" + re);
}
finally return quit( optionalAttributes, count + 1);
}
}
//#--END API-_________________________________________________________________ /**
* This method shutsdown the Wholesaler Services Protocol API.
* @return void */

public void shutdown() {
System.out.println("NSIWholesaleAPI.shutdown: " +
"Calling pool.shutdown()...");
//pool. shutdown();
try {
//pool. close();
pool.close(60000, 60000);
catch (ResourceException re) {
System. err.println("Exception Caught: " + re);
System.out.println("NSIWholesaleAPI.shutdown: " +
"pool.shutdown() returned!");
//**************************************************************
// Support Functions /**
* This method parses the string argument as a signed decimal integer * c~param valueString the string to be parsed as an int * Qreturn an int representing the valueString * c~see java.lang.Integer##parseInt */
protected static int parselnt(String valueString) {
try {
return Integer.parseInt(valueString);
catch (NumberFormatException nfe) return 0;
/**
* This method concatenates the source property list onto the end of the * target propery list. Filtering is done to remove properties associated with * credit card charges.
* @param target the target (destination) property list * Qparam source the source property list * Qreturn void * Qsee java.util.Properties *
*/
protected static void propertiesCat(Properties target, Properties source ) String methodName = className + ".propertiesCat(Properties, Properties) ";
if ((target == null) (~ (source == null)) {
return;
// concatenate source properties onto target properties if (source.isEmpty() -- false) {
try {
String key;

String value;
Enumeration a = source.propertyNames();
while (e.hasMoreElements()) {
key = (String)e.nextElement();
value = source.getProperty(key);
target.put(key, value);
}
catch (NoSuchElementException nsee) {
System.err.println(methodName +
"Invalid Properties"); _ nsee.printStackTrace();
}
return;
~**
* This method concatinates the source property list onto the end of the * target propery list.
* Qparam protocol client (your) protocol * c~return true if your protocol matches wholesale services protocol, * otherwise false * Qsee NSIWholesaleAPI#ATTR PROTOCOL
* Qsee NSIWholesaleAPI#Describe */
protected boolean verifyConnecti'onProtocol(String protocol) throws NSIWholesaleException {
String methodName = className + ".verifyConnectionProtocol(String) .. .
WSPResponse wspResponse = describe(ATTR-PROTOCOL);
if (wspResponse == null) System. err.println(methodName + "Unable to verify connection protocol " + protocol);
return false;
if (wspResponse.getMajorResultCode() --WSPResponse.COMMAND_EXECUTION SUCCEEDED-PROPERTIES BEING RETURNED) {
String wspProtocol = wspResponse.getProperty(ATTR-PROTOCOL);
if (wspProtocol == null) System. err.println(methodName + "Unable to verify connection protocol " + protocol);
return false;
}
if (protocol.equals(wspProtocol)) System. out.println(methodName + "Successfully verified connection protocol " + protocol);
return true;
else System. err.println(methodName + "Failed to verify connection protocol: " +
"Your Protocol = <" + protocol + "> while Wholesale Services Protocol = <" + wspProtocol + ">");
return false;

}.
}
else {
System. err.println(methodName + "Unable to verify connection protocol " + protocol);
return false;
}
}
____________________________________________________________________ // -// End of file NSIWholesaleAPI.java // ------------ Copyright (c) 2000 Network Solutions, Inc ------------The class definition for WSPResponse is as follows:
//-___________________________________________________________________ // Package //____________________________________________________________________ package nsi.wholesale.toolkit.javaapi;
//-___________________________________________________________________ // Imports...
//____________________________________________________________________ import java.util.NoSuchElementException;
import java.util.StringTokenizer;
import java.util.Hashtable;
import java.util.Vector;
import java.util.Enumeration;
import java.util.Properties;
import java.text.*;
/**
* ------------ Copyright (c) 2000 Network Solutions, Inc ------------<BR>
* This class represents the various components of a * Wholesale Services Protocol (WSP) Response.
* A WSP response will be returned for each request that is issued * throught the protocol. A response will describe, in as much detail * as possible, the outcome of the issued request, and will optionally * include any additional information that was generated by the request.
* A result consists of a 'result code' followed by a descriptive * 'result message'. A 'result code' consists of a major result code * followed by a period ('.'), followed by a minor result code.
* The three-digit major result code provides a general indication of * the success or failure of an issued request.
* In most cases, one or more result properties are returned. A result * property consists of a property key followed by a colon (':'), * followed by a property value.
* In other cases, plain text is returned (e. g. the information returned * from the Help command). Both of these cases are indicated by specific * result codes.
* @author David A. Moston * Osee NSIWholesaleAPI

* Osince 27 July 2000 * C~version 1.0 *<BR>-___________________________________________________________________<BR>
* $Log$
* ____________________________________________________________________ <BR> <8R>
*/
public class WSPResponse {
//-___________________________________________________________________ // Beginning of Required/Standard Fields //-___________________________________________________________________ /** Serial Version */
static long serialVersion = 1L;
/** Release Version */
static double version = 1.0D;
/** SCCS control ID */
static final String sccsID = "Q(#) wholesale-sdk d1.12.1.3 08/04/00 10:27:15 WSPResponse.java NSI";
/** JDK Version */
static String jdkVersion = "1.1.7";
// Static Accessor Method(s)...
/** Static accessor method to get serial version */
static public long getSerialVersion() { return serialVersion;
/** Static accessor method to get release version */
static public double getVersion() { return version; }
/** Static accessor method to get JDK version */
static public String getJdkVersion() ~ return jdkVersion; f //-___________________________________________________________________ // End of Required/Standard Fields //-___________________________________________________________________ //____________________________________________________________________ // class (static) variables) ...
//-___________________________________________________________________ /** The name of this class */
private static final String className = "WSPResponse";
/** Ease-of-use constant for Major Result Code: Minimum.
(Note: this is NOT a valid/supported major result code) All valid/supported major result codes will be greater than the minimum and less than the maximum, respectively */
public static final int MAJOR RESULT CODE MIN = 99;
/** Ease-of-use constant for Major Result Code[General Information]:
Minimum.
(Note: this is NOT a valid/supported major result code) */
public static final int MAJOR_RESULT CODE_GENERAL-INFORMATION MIN = 99;
/** Ease-of-use constant for Major Result Code[General Information]:
General information */

public static final int GENERAL INFORMATION = 100;
/** Ease-of-use constant for Major Result Code[General Information]:
Maximum.
(Note: this is NOT a valid/supported major result code) */
public static final int MAJOR RESULT CODE GENERAL-INFORMATION MAX = 199;
/** Ease-of-use constant for Major Result Code[Success]: Minimum.
(Note: this is NOT a valid/supported major result code) */
public static final int MAJOR RESULT CODE SUCCESS MIN = 199;
/** Ease-of-use constant for Major Result Code[Success]: Authentication successful */
public static final int AUTHENTICATION_SUCCESSFUL = 210;
/** Ease-of-use constant for Major Result Code[Success]: Session created */
public static final int SESSION CREATED = 220;
/** Ease-of-use constant for Major Result Code[Success]: Command succeeded, closing connection */
public static final int COMMAND SUCCEEDED CLOSING CONNECTION = 221;
/** Ease-of-use constant for Major Result Code[Success]: Command accepted, now executing */
public static final int COMMAND ACCEPTED_NOW_EXECUTING = 230;
/** Ease-of-use constant for.Major Result Code[Success]: Command not available */
public static final int COMMAND NOT_AVAILABLE = 231;
/** Ease-of-use constant for Major Result Code[Success]: Command execution succeeded, no data being returned; Ok */
public static final int COMMAND_EXECUTION_SUCCEEDED_NO_DATA_BEING_RETURNED = 240;
/** Ease-of use constant for Major Result Code[Success]: Command execution succeeded, properties being returned */
public static final int COMMAND_EXECUTION_SUCCEEDED_PROPERTIES_BEING_RETURNED = 241;
/** Ease-of-use constant for Major Result Code[Success]: Command execution succeeded, text being returned */
public static final int COMMAND_EXECUTION SUCCEEDED TEXT BEING RETURNED
- 242;
/** Ease-of-use constant for Major Result Code[Success]: Maximum.
(Note: this is NOT a valid/supported major result code) */
public static final int MAJOR RESULT CODE SUCCESS MAX = 299;
/** Ease-of-use constant for Major Result Code[Failure]: Minimum.
(Note: this is NOT a valid/supported major result code) */
public static final int MAJOR RESULT_CODE_FAILURE MIN = 299;
/** Ease-of-use constant for Major Result Code[Failure]: Authentication failed */
public static final int AUTHENTICATION_FAILED = 310;
/** Ease-of-use constant for Major Result Code[Failure]: Too many connections */
public static final int TOO MANY_CONNECTIONS = 320;
/** Ease-of-use constant for Major Result Code[Failure]: Too many connections from current wholesaler */
public static final int TOO MANY CONNECTIONS FROM CURRENT WHOLESALER =
321;
/** Ease-of-use constant for Major Result Code[Failure]: Wholesaler account has been suspened */
public static final int WHOLESALER ACCOUNT HAS BEEN SUSPENDED = 322;

/** Ease-of-use constant for Major Result Code[Failure]: Session timed out */
public static final int SESSION TIMED OUT = 323;
/** Ease-of-use constant for Major Result Code[Failure]: Server closing connection - Command timed out */
public static final int SERVER_CLOSING_CONNECTION = 324;
/** Ease-of-use constant for Major Result Code[Failure]: Invalid command */
public static final int INVALID COMMAND = 330;
/** Ease-of-use constant for Major Result Code[Failure]: Invalid class */
public static final int INVALID CLASS = 331;
/** Ease-of-use constant for Major Result Code[Failure): Formatting error */
public static final int FORMATTING ERROR = 332;
/** Ease-of-use constant for Major Result Code[Failure]: Missing required parameter */
public static final int MISSING REQUIRED_PARAMETER = 333;
/** Ease-of-use constant for Major Result Code[Failure]: Invalid attribute */
public static final int INVALID ATTRIBUTE = 334;
/** Ease-of-use constant for Major Result Code[Failure]: Invalid value */
public static final int INVALID VALUE = 335;
/** Ease-of-use constant for Major Result Code[Failure]: Missing required attribute */
public static final int MISSING REQUIRED_ATTRIBUTE = 336;
/** Ease-of-use constant for Major Result Code[Failure]: Missing required value */
public static final int MISSING REQUIRED_VALUE = 337;
/** Ease-of-use constant for Major Result Code[Failure]: Missing parameter */
public static final int INVALID PARAMETER = 338;
/** Ease-of-use constant for Major Result Code[Failure]: Command failed, unknown error - Command failed, internal error */
public static final int COMMAND FAILED_UNKNOWN_ERROR = 340;
/** Ease-of-use constant for Major Result Code[Failure]: Object not found */
public static final int OBJECT_NOT_FOUND = 341;
/** Ease-of-use constant for Major Result Code[Failure]: Command access denied */
public static final int COMMAND ACCESS_DENIED = 342;
/** Ease-of-use constant for Major Result Code[Failure]: General access denied - Access to request denied */
public static final int GENERAL ACCESS_DENIED = 343;
/** Ease-of-use constant for Major Result Code[Failure]: Maximum.
(Note: this is NOT a valid/supported major result code) */
public static final int MAJOR RESULT CODE-FAILURE MAX = 399;
/** Ease-of-use constant for Major Result Code: Maximum.
(Note: this is NOT a valid/supported major result code) All valid/supported major result codes will be greater than the minimum and less than the maximum, respectively */
public static final int MAJOR RESULT CODE MAX = 400;
//-___________________________________________________________________ // class (static) methods) ...

//- ___________________________________________________________________ //- ___________________________________________________________________ // static initializer block ...

//- ___________________________________________________________________ //_ ___________________________________________________________________ // instance Variables) ...

//- ___________________________________________________________________ /**

* WSP response result code (consisting of a major result code, * followed by a period ('.'), followed by a minor result code).

*/

private String resultCode = null;

/**

* WSP response major result code */

private int majorResultCode = 0;

/**

* WSP response minor result code */

private int minorResultCode = 0;

/**

* The original WSP text response' string used to instantiate object.

* The raw WSP response consists of one or more <CRLF> delimited lines, * terminated by a line containing only a period ('.'), followed by <CRLF>.

*/

private String rawResponse = null;

/**

* The result message extracted from the original WSP text response.

*/

private String resultMessage = null;

/**

The WSP response attributes extracted from the original WSP

text response.

*/

private Hashtable attributes = null;

// -___________________________________________________________________ // Constructors // -___________________________________________________________________ /**

* Parses a WSP text response and extracts and stores the * various components.

* @param data the raw WSP response text * c~exception InvalidArgumentException if <code>data</code> is null.
* Qexception InvalidResponseFormatException if <code>data</code> is, * not a properly formatted * WSP response.
*/
public WSPResponse (String data) throws InvalidArgumentException, InvalidResponseFormatException if (data =- null) {
throw new InvalidArgumentException("null argument: data");
parseRawResponse(data);
setRawResponse(data);
/**
* Create a new WSPResponse based on value inputs.
* Qparam majorCode the major code for the WSPResponse.
* Qparam minorCode the minor code for the WSPResponse.
* Qparam message the text string associated with the message.
* C~param assocProps the properties associated with this message.
*
* exception InvalidArgumentException if majorCode or minorCode is or * not in the appropriate range.
*/
public WSPResponse (int majorCode, int minorCode, String message, Properties assocProps) throws InvalidArgumentException if ((majorCode == null) ~~ (minorCode == null) ~~
(majorCode < MAJOR RESULT CODE MIN ) ~I (majorCode >
MAJOR RESULT CODE_MAX) (minorCode < 0 ) ~~ (minorCode > 999)) {
throw new InvalidArgumentException("null argument: data");
majorResultCode = majorCode;
minorResultCode = minorCode;
resultMessage = new String(message);
if (assocProps != null) {
Enumeration enum = assocProps.propertyNames();
while (enum.hasMoreElements()) {
String prop key = (String) enum.nextElement();
String value = prop.getProperty(prop key);
addAttribute(prop key, value);
DecimalFormat myFmt = new DecimalFormat();
myFmt.setMinimumIntegerDigits(3);
myFmt.setMaximumIntegerDigits(3);
myFmt.setMaximumFractionDigits(3);
myFmt.setMinimumFractionDigits(3);
double x = majorCode + minorCode/1000.0;
resultCode = myFmt.format(x);

//-___________________________________________________________________ // Accessors and Mutators //____________________________________________________________________ /**
* Returns the original WSP text response string used to instantiate * object.
* Qreturn the original WSP text response.
*/
public String getRawResponse () return rawResponse;
}
/**
* Returns the result message extracted from the original WSP
* text response.
* C~return the WSP response result message.
*/
public String getResultMessage () return resultMessage;
}
/**
* Returns any attributes, if applicable, extracted from the original * wSP text response.
* Qreturn response attributes if any exist, null otherwise.
*/
Hashtable getAttributes () return attributes;
}
/**
* returns the result property value corresponding to the specified * result property key, if found, extracted from the original * WSP text response.
* Oparam resultPropertyKey a result property key * Qreturn the corresponding result property value, otherwise null */
public String getProperty (String resultPropertyKey) {
String resultPropertyValue = null;
Hashtable attributes = getAttributes();
if (attributes == null) {
return resultPropertyValue;
}
if (vector == null) return resultPropertyValue;
Vector vector = (Vector) attributes.get(resultPropertyKey);

for (int i = 0; i < vector.size(); i++) {
resultPropertyValue = (String)vector.elementAt(i);
}
return resultPropertyValue;
/**
* Returns a property list containing all result property specifications, * if applicable, extracted from the original WSP text response.
* Note: when the major result code =
COMMAND_EXECUTION_SUCCEEDED_TEXT BEING_RETURNED
* text is being returned in the response, as opposed to result property specifications.
* Since there are no defined result property keys for returned text, a dummy * result property key is generated for each line of text.
* That dummy result property key will lobk like 'text#'. where #
* is a number from 1 to N (N being the number of lines of text returned).
* For example, the first dummy result property key will be 'textl'.
* For example, the tenth dummy result property key will be 'textl0'.
* c~return response attributes if any exist, null otherwise.
* Qsee WSPResponse#getText */
public Properties getProperties () {
Properties props = new Properties();
Hashtable attributes = getAttributes();
if (attributes == null) return null;
}
Enumeration enum = attributes. keys();
int lineNumber = 0;
while (enum.hasMoreElements()) {
lineNumber++;
String key = null;
Vector vector = null;
key = (String) enum.nextElement();
//if Command execution succeeded; text being returned if (getMajorResultCode() --COMMAND EXECUTION SUCCEEDED TEXT BEING_RETURNED) {
key = "text" + lineNumber; // Create a "dummy" key for this line of text }
vector = (Vector) attributes.get(key);
for (int i=0; i < vector.size(); i++) {

props.put(key, (String)vector.elementAt(i));
return props;
/**
* Returns a property list containing all result property specifications, .
* if applicable, extracted from the original WSP text response.-* Note: when the major result code =
COMMAND_EXECUTION_SUCCEEDED_TEXT BEING_RETURNED
* text is being returned in the response, as opposed to result property specifications.
* Since there are no defined result property keys for returned text, a dummy * result property key is generated for each line of text.
* That dummy result property key will look like 'text#', where #
* is a number, from 1 to N (N being the number of lines of text returned).
* For example, the first dummy result property key will be 'textl'.
* For example, the tenth dummy result property key will be 'textl0' * Qparam wspResponse the WSP response * Qreturn response attributes if any exist, null otherwise.
* Qsee WSPResponse#getText */
public static Properties getProperties (WSPResponse wspResponse) {
return wspResponse.getProperties();
/**
* returns a vector containing lines of text returned in the WSP
response.
* Note: when the major result code is COMMAND_EXECUTION_SUCCEEDED_TEXT BEING_RETURNED, * text is being returned in the response, as opposed to result property specifications.
* There are no result property keys defined for text.
* This method returns a vector of Strings. Each element (String) in the vector is a line of text.
* Qparam wspResponse the WSP response * Qreturn a vector containing lines of text returned, otherwise null * Qsee WSPResponse#getProperties */
public Vector getText () {
vector text = new Vector();
//if not: Command execution succeeded; text being returned if (getMajorResultCode() !_ COMMAND EXECUTION_SUCCEEDED_TEXT BEING RETURNED) {
return null;

Hashtable attributes = getAttributes();
if (attributes =- null) {
return null;
}
Enumeration enum = attributes. keys();
int lineNumber = 0;
while (enum.hasMoreElements()) {
lineNumber++;
String key = null;
Vector vector = null;
key = (String) enum.nextElement();
//Command execution succeeded; text being returned key = "text" + lineNumber; // Create a "dummy" key for this line of text vector = (Vector) attributes.get(key);
for (int i=0; i < vector.size(); i++) {
text.addElement((String)vector.elementAt(i));
}
return text;
/**
* sets the raw response text * c~param aRawResponse the raw WSP response text * Qreturn void */
private void setRawResponse (String aRawResponse) {
rawResponse = aRawResponse;
}
/**
* sets the response result code * Qparam inResultCode the WSP response result code * c~return void */
private void setResultCode (String inResultCode) {
resultCode = inResultCode;
}
/**
* returns the WSP response result code and result message * C~return the WSP response result code and result message */
public String getResultCodeAndMessage () return (getResultCode() + " " + getResultMessage());

}
/**

* returns the WSP response result code * Qreturn the WSP response result code */

public String getResultCode () {

return resultCode;

}

/**

* returns the WSP response major result code * c~return the WSP response major result code */

public int getMajorResultCode () {

parseResultCode();

return majorResultCode;

}

/**

* returns the WSP response minor result code * c~return the WSP response minor result code */

public int getMinorResultCode () {

parseResultCode();

return minorResultCode;

}

/**
* sets the WSP response result message * Qparam aResultMessage the WSP response result message * Qreturn void */
private void setResultMessage (String aResultMessage) resultMessage = aResultMessage;
}
/**
* sets the WSP response attributes *
* Qparam hash the WSP response attributes * c~return void */
private void setAttributes (Hashtable hash) {
attributes = hash;
}
//-___________________________________________________________________ // General Methods //-___________________________________________________________________ /**
* parses the current result code into major and minor result codes.
* c~return true if result code is successfully parsed, otherwise false */
private boolean parseResultCode () boolean rc = true;
String methodName = className + ".parseResultCode() ";
String sResultCode = getResultCode();
String sMajorResultCode = null;
String sMinorResultCode = null;
int iMajorResultCode = 0;
int iMinorResultCode = 0;
try StringTokenizer st = new StringTokenizer(sResultCode, ".");
sMajorResultCode = st.nextToken();
sMinorResultCode = st.nextToken();
iMajorResultCode = Integer.parseInt(sMajorResultCode);
iMinorResultCode = Integer.parseInt(sMinorResultCode);
}
catch(NoSuchElementException nsee) {
System. err.println(methodName + "Unable to parse result code <"
+ sResultCode + ">");
nsee.printStackTrace();
}
catch(NumberFormatException nfe) {
System.err.println(methodName + "Invalid result code <"
+ sResultCode + ">");
nfe.printStackTrace();
finally {
if (iMajorResultCode <= 0) {
rc = false;
}
else {
majorResultCode = iMajorResultCode;
minorResultCode = iMinorResultCode;
} }
return rc;
}
/**
* prints debug-type representation of the WSP Response to standard output * C~param response a WSP resonse * Oreturm void */
public static void displayResponse (WSPResponse response) System. out.println("Result Code: " + response.getResultCode());

System.out.println("Major Result Code: " +
response.getMajorResultCode());
System.out.println("Minor Result Code: " +
response.getMinorResultCode());
System.out.println("Result Message: " +
response.getResultMessage());
Hashtable attributes = response.getAttributes();
if (attributes == null) {
System.out.println("Result Properties: NONE");
return;
}
System.out.println("Result Properties:");
Enumeration enum = attributes. keys();
while (enum.hasMoreElements()) {
String key = null;
Vector vector = null;
key = (String) enum.nextElement();
vector = (Vector) attributes.get(key);
for (int i=0; i < vector.size(); i++) {
System.out.println(key + ":" +
(String)vector.elementAt(i));
}
}
/**
* returns the raw WSP response * @return a string representing the raw WSP response */
public String toString () {
if (rawResponse != null) {
return rawResponse;
if (responseCode == null) {
fabricatedResponse = new String("001.001");
} else {
fabricatedResponse = new String(responseCode);
}
if (resultMessage == null) fabricatedResponse = new String(fabricatedResponse+" «Message is null»\r\n");
} else fabricatedResponse = new String(fabricatedResponse+resultMessage+"\r\n");
}
if (attributes != null) {
Enumeration enum = attributes. keys();

while (enum.hasMoreElements()) {
String key = null;
Vector vector = null;
key = (String) enum.nextElement();
vector = (Vector) attributes.get(key);
for (int i=0; i < vector.size(); i++) {
fabricatedResponse = new String(fabricatedResponse+ key +
.. ; .. +
(String)vector.elementAt(i) +
..\r\n.. ) }
fabricatedResponse = new String(fabricatedResponse+".\r\n"):
return fabricatedResponse;
}
/**
* Parse raw WSP text response and extract and store all components * c~param data the raw wSP text response * c~return void * Qexception InvalidResponseFormatException upon detection of an invalid response format */
private void parseRawResponse (String data) throws InvalidResponseFormatException {
String methodName = className + ".parseRawResponse(String) ";
//
// Split data by <CRLF>
//
StringTokenizer st = new StringTokenizer(data, "\r\n");
//
// Get the first line of the response //
String responseLine = "";
try {
responseLine = st.nextToken();
} catch (NoSuchElementException e) {
throw new InvalidResponseFormatException("Missing first line");
//
// Extract "result code" and "result message" from first line // of response.

//
int spacelndex = responseLine.indexOf(' ');
//
// If there is no space in the string, then the format is invalid.
// First line must be "code message"
//
if (spaceIndex =- -1) throw new InvalidResponseFormatException( "missing/invalid code and message");
//
// The code is comprised of the set of characters spanning the // the first character to the space //
String myresultCode = responseLine.substring(0, spacelndex);
//
// trim any whitespace from both ends of code //
myresultCode = myresultCode.trim();
//
// Attempt to convert the string result code to an integer //
setResultCode(myresultCode);
//
// Extract the result message now //
String desc = null;
//
// The result message is comprised of all characters spanning from // the first character after the space to the end of the entire string //
desc = responseLine.substring(spaceIndex + 1, responseLine.length());
//
// trim any whitespace from both ends of code //
desc = desc.trim();
if (desc.length() _- 0) throw new InvalidResponseFormatException( "Missing result message");
setResultMessage(desc);
String key;

String value;
int colonIndex = 0;
//if Command execution succeeded; text being returned if (getMajorResultCode() --COMMAND EXECUTION_SUCCEEDED TEXT BEING RETURNED) {
int lineNumber = 0;
try while (st.hasMore'rokens() ) {
lineNumber++;
//
// Create a "dummy" key for this line of text //
key = "text" + lineNumber;
//
// Get the next line from the response //
value = st.nextToken();
//
// Break from the loop if we hit the response terminator //
if (value.trim().equals(".")) {
break;
//
// Save attribute //
//addAttribute(key.toLowerCase(), value);
addAttribute(key, value);
} // end while } // end try catch (NoSuchElementException e) throw new InvalidResponseFormatException( "Error splitting response by '\r\n "', e);
} // end catch }
else {
//
// Iterate through the rest of the response, searching for // attributes. Break from the loop when we encounter the // response terminator //
try while (st.hasMoreTokens() ) //
// Get the next line from the response //

responseLine = st.nextToken();

//

// Try to find the colon (':') in the string //

colonIndex = responseLine.indexOf(':');

//

// If the colon is missing, then check to see if we've // encountered the response terminator. If we haven't, // then the response is formatted improperly //

if (colonIndex =- -1) {

responseLine = responseLine.trim();

//

// Break from the loop if we hit the response terminator //

if (responseLine.equals(".")) break;

else {

throw new InvalidResponseFormatException( "Invalid attribute key-value pair");

}

//

// The attribute key is everything before the colon //

key = responseLine.substring(0, colonlndex);

key = key. trim();

//

// The attribute value is everything after the colon //

value = responseLine.substring(colonIndex + 1);

value = value. trim();

//

// Save attribute //

//addAttribute(key.toLowerCase(), value);

addAttribute(key, value);

// end while } // end try catch (NoSuchElementException e) {

throw new InvalidResponseFormatException( "Error splitting response by '\r\n "', e);
} // end catch }//parseRawRespose /**
. * Attributes are stored in a hashtable. Since there can be multiple * values for the same key, we store all values in vectors. Everytime * a value is added for a key that already exists, we just add that * value to that key's vector. If a key does not yet exist, then * we create a new vector and add the value to it.
* c~param key a result property key * @param value a result property value * c~return void */
private void addAttribute (String key, String value) {
Hashtable hash = getAttributes();
if (hash == null) hash = new Hashtable();
setAttributes(hash);
}
Vector vector = (Vector) hash.get(key);
if (vector =- null) {
vector = new Vector(1);
hash.put(key, vector);
}
vector.addElement(value);
}
//-___________________________________________________________________ // End of file WSPResponse.java // ------------ Copyright (c) 2000 Network Solutions, Inc ------------

Claims (13)

WHAT IS CLAIMED IS:
1. A method for interfacing an application program in a user system to a server system for conducting a transaction associated with managing Internet domain names, comprising the steps of:
receiving a request from the application program to establish over the Internet a session between the user system and the server system;
establishing at least one secure socket layer between the user system and the server system;
receiving a request from the application program to initiate a transaction associated with managing Internet domain names;
generating at least one command based on the requested transaction; and transmitting the at least one command to the server system effectuating the transaction.
2. A method as set forth in claim 1, further comprising the step of:
notifying the application program as to the status of processing of the command.
3. A method as set forth in claim 2, wherein:
the notifying step comprises the step of returning a response to the application program containing a statement indicating whether the transaction has been fulfilled.
4. A method as set forth in claim 3, wherein:
the statement comprises a message which includes an ASCII text portion, followed by a delimiter portion.
5. A method as set forth in claim 4, wherein:
the ASCII text portion is selected from a predefined dictionary of statements.
6. A method as set forth in claim 10, wherein:
authenticating the user is determined from an Internet Protocol address, secure socket layer encryption, and user name and password provided by the application program.
7. A method as set forth in claim 10, wherein:
the authenticating step includes the step of at least one additional attempt to authenticate the user following a first failed attempt.
8. A method as set forth in claim 7, wherein:
following said at least one additional attempt to authenticate the user is denied further attempts to be authenticated should said at least one additional attempt fail.
9. Apparatus for interfacing an application program in a user system to a server system for conducting transactions associated with managing Internet Domain Names, comprising:
a component for receiving a request from the application program to establish over the Internet a connection between the user system and the server system;

a component for establishing at least one secure socket layer within the apparatus;
a component for initiating a transaction following receipt of a request from the application program;
a component for generating at least one command based on the requested transaction; and a component for transmitting the at least one command for effectuating the transaction via the secure socket layer to the server system.
10. The method of claim 1, further comprising authenticating the right of the user to conduct a transaction associated with managing Internet domain names.
11. The method of claim 1, wherein the command includes one or more application programming interfaces for processing transactions for at least one of:
verification of whether a domain name is available;
verification of whether a series of domain names are available;
creation of an individual customer account;
creation of a business or organization customer account;
creation of a technical contact;

registration of a domain product for an existing customer account;

registration of a domain name server hosting product for an existing customer account;
modification of information associated with a specific instance of a domain product registered to a customer;
conversion of a domain name system ("DNS") hosting product domain into a standard domain;
modification of a technical contact information;
modification of an individual customer account;
modification of a business or organization customer account;
generation of a list of available domain products owned by a customer based on a list of keywords;
generation of a list of domain products owned by a customer;
retrieval of information about a domain product;
retrieval of a list of domain names for DNS hosting products owned by a customer;
retrieval of a list of individual customer accounts linked to a wholesaler;

retrieval of information about an individual customer account;
retrieval of a list of business customer accounts linked to a wholesaler;
retrieval of information about a business customer account;
retrieval of information about a technical contact; and creation of a domain product.
12. The apparatus of claim 9, further comprising a component for authenticating the right of the user to conduct a transaction associated with managing Internet domain names.
13. The method of claim 9, wherein the command includes one or more application programming interfaces for processing transactions for at least one of:

verification of whether a domain name is available;

verification of whether a series of domain names are available;
creation of an individual customer account;
creation of a business or organization customer account;
creation of a technical contact;
registration of a domain product for an existing customer account;
registration of a domain name server hosting product for an existing customer account;
modification of information associated with a specific instance of a domain product registered to a customer;
conversion of a domain name system ("DNS") hosting product domain into a standard domain;
modification of a technical contact information;
modification of an individual customer account;
modification of a business or organization customer account;
generation of a list of available domain products owned by a customer based on a list of keywords;
generation of a list of domain products owned by a customer;
retrieval of information about a domain product;
retrieval of a list of domain names for a DNS hosting product owned by a customer;
retrieval of a list of individual customer accounts linked to a wholesaler;
retrieval of information about an individual customer account;
retrieval of a list of business customer accounts linked to a wholesaler;
retrieval of information about a business customer account;
retrieval of information about a technical contact; and creation of a domain product.
CA002384834A 1999-09-15 2000-09-15 Methods and apparatus for establishing and maintaining internet domain name registrations Abandoned CA2384834A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15396099P 1999-09-15 1999-09-15
US60/153,960 1999-09-15
PCT/US2000/025305 WO2001020484A2 (en) 1999-09-15 2000-09-15 Methods and apparatus for establishing and maintaining inernet domain name registrations

Publications (1)

Publication Number Publication Date
CA2384834A1 true CA2384834A1 (en) 2001-03-22

Family

ID=22549429

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002384834A Abandoned CA2384834A1 (en) 1999-09-15 2000-09-15 Methods and apparatus for establishing and maintaining internet domain name registrations

Country Status (11)

Country Link
EP (1) EP1222790A2 (en)
JP (1) JP2003523650A (en)
KR (1) KR20020042834A (en)
CN (1) CN1390416A (en)
AU (1) AU7490500A (en)
BR (1) BR0013989A (en)
CA (1) CA2384834A1 (en)
IL (1) IL148628A0 (en)
MX (1) MXPA02002789A (en)
NO (1) NO20021259L (en)
WO (1) WO2001020484A2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747592B2 (en) 1999-09-07 2010-06-29 Thomas C Douglass Method and system for monitoring domain name registrations
US9311399B2 (en) 1999-09-07 2016-04-12 C. Douglass Thomas System and method for providing an updating on-line forms and registrations
US7991851B2 (en) 2002-02-28 2011-08-02 International Business Machines Corporation Remote user substitution at ODBC/CLI level and stored procedure authorization
CN100373903C (en) * 2002-10-31 2008-03-05 华为技术有限公司 Method of proceeding port wholesale according to region name
US7320073B2 (en) 2003-04-07 2008-01-15 Aol Llc Secure method for roaming keys and certificates

Also Published As

Publication number Publication date
IL148628A0 (en) 2002-09-12
KR20020042834A (en) 2002-06-07
WO2001020484B1 (en) 2002-04-11
JP2003523650A (en) 2003-08-05
BR0013989A (en) 2002-07-30
MXPA02002789A (en) 2003-10-14
NO20021259L (en) 2002-05-15
AU7490500A (en) 2001-04-17
CN1390416A (en) 2003-01-08
EP1222790A2 (en) 2002-07-17
NO20021259D0 (en) 2002-03-13
WO2001020484A2 (en) 2001-03-22
WO2001020484A3 (en) 2001-12-27

Similar Documents

Publication Publication Date Title
CN108650262B (en) Cloud platform expansion method and system based on micro-service architecture
US6728884B1 (en) Integrating heterogeneous authentication and authorization mechanisms into an application access control system
WO2021218328A1 (en) Multi-tenant access service implementation method, apparatus and device, and storage medium
US6058426A (en) System and method for automatically managing computing resources in a distributed computing environment
US6567852B2 (en) Web user interface session and sharing of session environment information
US6665674B1 (en) Framework for open directory operation extensibility
US7020457B2 (en) System and method for proxy-enabling a wireless device to an existing IP-based service
US6438600B1 (en) Securely sharing log-in credentials among trusted browser-based applications
US7412501B2 (en) Event consumers for an event management system
US6587874B1 (en) Directory assisted autoinstall of network devices
US6711682B1 (en) Online service registration system and method
US20040199608A1 (en) Method for gathering domain name registration information from a registrant via a Registrar&#39;s web site
US20060248501A1 (en) Porting of information technology structures
US20040199620A1 (en) Method for transfering a registered domain name from a first registrar to a second registrar
AU743497B2 (en) Internet transaction processing interface
JP2003514279A (en) Shared Internet storage resource, user interface system and method thereof
US6567919B1 (en) Authenticated communication procedure for network computers
US7353248B1 (en) Application server and method to perform hierarchical configurable data validation
CA2384834A1 (en) Methods and apparatus for establishing and maintaining internet domain name registrations
WO1999022332A1 (en) A system and method for acquiring remote programs for performing a task
Cisco Cisco Access Registrar 1.6 Release Notes
JP3528065B2 (en) Inherited access control method on computer network
Cisco 1.5 Release Notes for Cisco Access Registrar
Cisco Cisco User Control Point 1.0 Release Notes
US20030093440A1 (en) Replica update vectors

Legal Events

Date Code Title Description
FZDE Discontinued