Introduction

DOTS Name Validation is an XML web service that provides information about a person’s name. With DOTS Name Validation users can validate names, verify name accuracy, fix unordered names and return gender information.

Web Service Structure

Web services provide a standard interface to encapsulate tricky business logic. They allow simple integration of applications via the web. Service Objects has followed web services best practices and come up with some of its own standards to ensure that its web services are as easy to integrate, and as accessible as possible.

The host path, or physical location of the web service is here:
https://trial.serviceobjects.com/nw/NameWizard.asmx

The location of the WSDL, or Web Service Definition Language document, is here (This is also accessible via the “Service Definition” link on the web service page.)
https://trial.serviceobjects.com/nw/NameWizard.asmx?WSDL

Important Note!
SOAP is done via POST, only with special XML markup in the post-body.

The WSDL is an XML document that defines the interaction web service, meaning its inputs, outputs, operations, and the like. Most likely, you will have another tool read this WSDL and make the operations available to you in your application via some type of proxy class. Whenever your utilities or IDE asks for a WSDL path, you can provide this one.

Every web service has operations that it offers to subscribers – methods that do different work and return different output. Examining the link above, you will notice several of these operations available, which are described in detail later on.

GetNameInfo – Uses the provided name to return information such as gender, name origin, and validity results.
GetNameInfo_V2 – Uses the provided name to return information such as gender, name origin, validity results, and possible related names.
GetOrderedName – Given two names, this service determines which the likely first name is, and which the likely last name is.

Request Types


DOTS Name Validation is a public XML web service that supports SOAP (1.1 and 1.2), POST, and GET request methods. A request type is just the type of web (HTTP) request used to interact with our web services.
GET – All of the input data is in the query string appended to the URL. The response is simple XML.
POST – The input parameters are in the body of the request instead of the query string. The response is simple XML.
SOAP – The input parameters are in an XML SOAP message contained within the body of the request. The response is an XML SOAP message.

Analysis of Request Types

GET is the easiest method to implement by hand because you just set up the URL and query string. It is also easy to debug because you can test the URL + query string in a web browser and see the output.
POST is probably the best method to implement by hand because you do not have to know the specifics of SOAP, and is a little cleaner than passing input parameters in the query string via GET.
SOAP is the best method if you are using a platform that supports SOAP. In many programming environments you can call the service’s WSDL file (https://trial.serviceobjects.com/nw/NameWizard.asmx?WSDL) to create a proxy class to help you interact with the web service. In this case you only have to create an instance of the proxy and use its methods. This completely abstracts the programmer from any complications like sending/receiving web requests/responses as well as any XML parsing. This is typically available in newer environments like PHP version 5, ColdFusion version 7, .NET, etc. Older languages like PHP version 4 and ColdFusion version 5 will require the use of GET or POST.

XML Parsing

If you are not using an environment that provides a proxy class for you to use, then you will have to parse XML. If you do have a proxy, then it uses an XML parser behind the scenes for you. Although XML parsing can be done without a parser, most programming environments provide easy access to several standard ones. We strongly recommend that you take advantage of an XML parser. These parsers may take a few more minutes to integrate if the developer is not familiar with them, but will give your application an added level of security against improper parsing. Without them it is very difficult, even for skilled programmers to write robust code that can handle all cases of XML properly. Because we have very consistent XML you could get away without this extra precaution, but we suggest you use an XML parser anyway to ensure your application is of the highest quality.

Operation Definitions

This section defines the input, output and behavior of the operations in DOTS Name Validation.

GetNameInfo

Uses the provided name to return information such as gender, name origin, and validity results.

GetNameInfo Inputs

NameTypeDescription
NameStringThe name to validate.
LicenseKeyStringYour license key to use the service.
Sign up for a free trial key at
www.serviceobjects.com.

GetNameInfo Outputs

If no errors are encountered a NameInfo element will be returned with the following information. If there is an error, an Error object will be returned (explained in next section).

NameTypeDescription
FirstNameStringThe parsed first name.
FirstNameCorrectedStringThe corrected first name.
MiddleNameStringThe parsed middle name.
LastNameStringThe parsed last name.
PrefixStringThe parsed out prefix.
SuffixStringThe parsed out suffix.
GenderStringThe gender returned from the supplied name input.
FirstNameOriginStringThe base origin of the first name e.g. Old-English.
FirstNameFoundBooleanBoolean value returned from first name exists.
LastNameFoundBooleanBoolean value returned from last name exists.
PossibleVulgarityBooleanBoolean value returned from possible vulgar match.
PossibleCelebrityBooleanBoolean value returned from possible celebrity match.
PossibleBogusBooleanBoolean value returned from possible bogus match.
StatusStringOutput of results from name validation operation.

GetNameInfo_V2

Uses the provided name to return information such as gender, name origin, and validity results. GetNameInfo_V2 also returns proper cased names and possible related names.

GetNameInfo_V2 Inputs

NameTypeDescription
NameStringThe name to validate.
LicenseKeyStringYour license key to use the service.
Sign up for a free trial key at
www.serviceobjects.com.

GetNameInfo_V2 Outputs

If no errors are encountered a NameInfo element will be returned with the following information. If there is an error, an Error object will be returned (explained in next section).

NameTypeDescription
FirstNameStringThe parsed first name.
MiddleNameStringThe parsed middle name.
LastNameStringThe parsed last name.
FirstNameAltStringThe parsed first name alt.
MiddleNameAltStringThe parsed middle name alt.
LastNameAltStringThe parsed last name alt.
PrefixStringThe parsed out prefix.
SuffixStringThe parsed out suffix.
GenderStringThe gender returned from the supplied name input.
GenderAltStringThe possible alternate gender returned.
FirstNameOriginStringThe base origin of the first name e.g. Old-English.
FirstNameFoundBooleanBoolean value returned from first name exists.
LastNameFoundBooleanBoolean value returned from last name exists.
FirstNameAltFoundBooleanBoolean value returned from first name alt found.
LastNameAltFoundBooleanBoolean value returned from last name alt found.
RelatedNamesStringPossible related names to first name.
PossibleVulgarityBooleanBoolean value returned from possible vulgar match.
PossibleCelebrityBooleanBoolean value returned from possible celebrity match.
PossibleBogusBooleanBoolean value returned from possible bogus match.
PossibleGarbageBooleanBoolean value returned from possible garbage name.
StatusStringOutput of results from name validation operation.

GetOrderedName

Given two names, this service determines which the likely first name is, and which the likely last name is.

GetOrderedName Inputs

NameTypeDescription
NameStringThe names to order (e.g Last Name First Name)
LicenseKeyStringYour license key to use the service.
Sign up for a free trial key at
www.serviceobjects.com.

GetOrderedName Outputs

If no errors are encountered a OrderedInfo element will be returned with the following information. If there is an error, an Error object will be returned (explained in next section).

NameTypeDescription
FirstNameStringThe ordered first name.
LastNameStringThe ordered last name.
FirstNameFoundStringValue if first name found.
LastNameFoundStringValue if last name found.

Errors

Error codes in DOTS Name Validation are the same for all operations. They are as follows:

Error Number 1 – “Input cannot be less than zero length”

This error means the web service did not get any input. The connection to the service was made, and data was transferred, but no parameters were passed that the service could understand.
This error often happens when input is passed to the service with namespaces that the service does not understand. Applying a namespace to any of the parameters (Name, LicenseKey, etc.) will cause this error. Additionally, requests made in the “rpc/encoded” format will cause this error. The only namespace that should appear in any element is the “https://www.serviceobjects.com” namespace on the root element as so:
<GetNameInfo xmlns=”https://www.serviceobjects.com/”>

Error Number 2 – Various descriptions:

This error code appears when various errors occur, but are of the expected nature. Oftentimes, maligned or incomplete input will cause an error 2.
The following is a list of the possible Error Descriptions that may accompany an Error Code 2:

Failed Authentication Errors:

Web Service Invocation Errors:

Error Number 3/4/5 – Various descriptions:

An error code 3, 4, or 5 is a fatal error and it means something serious has gone wrong. You will never see one of these error codes in a live production environment.

Conclusion

Service Objects is pleased to offer you a free trial of DOTS Name Validation.

Sign up today for a free trial at:
https://www.serviceobjects.com/name-validation/

Other technical questions or concerns can be directed to support@serviceobjects.com.

If you are interested in purchasing DOTS Name Validation, please contact sales@serviceobjects.com.

We welcome your feedback! Please do not hesitate to let us know what you think of our web services, documentation, or customer support.
www.serviceobjects.com