Searchable Whois Web Service (API)

Searchable Whois Web Service

The Searchable Whois search facility is also provided as a web service (associated WSDL and XSD are shown later on page ). Note:- search history is associated with the online facility only ( automated clients should be able to retain their own history ). 

This exposes two methods:- 

obtainSearchSummary

Input Parameters:- 

FieldDescription
Usernameonline services e-mail address logon
Passwordonline services password 


Returning ( as for the online summary page ) :- 

FieldDescription
totalWeeklySearchCreditstotal weekly search credits – e.g. 21000
weeklySearchCreditsRemainingcredits remaining
weeklySearchCreditsUsedthe credits used so far for the week ( 1 per displayed result )

doPrssSearch

Input Parameters: 

FieldDescription
Usernameonline services e-mail address logon
Passwordonline services password
prssSearchTermsSee details below
pageRequestsee details below


Search Terms ( prssSearchTerms ) are as per the online web application. 

In order to supply which fields to exclude – supply a comma separated list of field names in the “nottedFields” parameter of the searchTerms. In order to supply which fields are inclusive ( OR as opposed to AND restriction ) supply a comma separated list of field names in “oredFields”. 

Page request (pageRequest) details allow control of how the results are presented:- 

FieldDescription
ascendingOrdertrue/false results displayed ascending or descending order
itemsPerPageno of items returned in one call
orderBywhich field to order results by – e.g. city,score ( see the online facility or the .XSD for field list )
pagepage number to return


Returned details from doPrssSearch are:- 

FieldDescription
numberOfResultstotal possible results ( not itemsPerPage )
resultslist of N results ( fields defined as per the online web application ) where N is the itemsPerPage specified


Every search, N will be deducted from the total quota. If the remaining quota is less than N, only the remaining quota records will be returned. 

Standard Errors

A Soap fault will be raised if the input credentials are not valid, the end user does not have Searchable Whois search capability, or the weekly search quota is exhausted. 

WSDL

<?xml version=’1.0′ encoding=’UTF-8′?>
<!– Published by JAX-WS RI at http://jax-ws.dev.java.net. RI’s version is JAX-WS RI 2.1.1-b03-. –>
<!– Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI’s version is JAX-WS RI 2.1.1-b03-. –>
<definitions xmlns:soap=”http://schemas.xmlsoap.org/wsdl/soap/” xmlns:tns=”http://api.nominet.uk/ws” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns=”http://schemas.xmlsoap.org/wsdl/” targetNamespace=”http://api.nominet.uk/ws” name=”PrssSecuredWebServiceEndpointService”>
<types>
<xsd:schema>
<xsd:import namespace=”http://api.nominet.uk/ws” schemaLocation=”prssaccess.xsd” />
</xsd:schema>
</types>
<message name=”doPrssSearch”>
<part name=”userName” type=”xsd:string” />
<part name=”password” type=”xsd:string” />
<part name=”searchTerms” type=”tns:prssSearchTerms” />
<part name=”pageRequest” type=”tns:pageRequest” />
</message>
<message name=”doPrssSearchResponse”>
<part name=”searchResults” type=”tns:searchResults” />
</message>
<message name=”obtainSearchSummary”>
<part name=”userName” type=”xsd:string” />
<part name=”password” type=”xsd:string” />
</message>
<message name=”obtainSearchSummaryResponse”>
<part name=”searchSummary” type=”tns:searchSummary” />
</message>
<portType name=”PrssSecuredWebServiceEndpoint”>
<operation name=”doPrssSearch” parameterOrder=”userName password searchTerms pageRequest”>
<input message=”tns:doPrssSearch” />
<output message=”tns:doPrssSearchResponse” />
</operation>
<operation name=”obtainSearchSummary” parameterOrder=”userName password”>
<input message=”tns:obtainSearchSummary” />
<output message=”tns:obtainSearchSummaryResponse” />
</operation>
</portType>
<binding name=”PrssSecuredWebServiceEndpointPortBinding” type=”tns:PrssSecuredWebServiceEndpoint”>
<soap:binding transport=”http://schemas.xmlsoap.org/soap/http” style=”rpc” />
<operation name=”doPrssSearch”>
<soap:operation soapAction=”” />
<input>
<soap:body use=”literal” namespace=”http://api.nominet.uk/ws” />
</input>
<output>
<soap:body use=”literal” namespace=”http://api.nominet.uk/ws” />
</output>
</operation>
<operation name=”obtainSearchSummary”>
<soap:operation soapAction=”” />
<input>
<soap:body use=”literal” namespace=”http://api.nominet.uk/ws” />
</input>
<output>
<soap:body use=”literal” namespace=”http://api.nominet.uk/ws” />
</output>
</operation>
</binding>
<service name=”PrssSecuredWebServiceEndpointService”>
<port name=”PrssSecuredWebServiceEndpointPort” binding=”tns:PrssSecuredWebServiceEndpointPortBinding”>
<soap:address location=”https://api.nominet.org.uk:8443/ws/prssSecuredEndpoint” />
</port>
</service>
</definitions>

XSD

<?xml version=’1.0′ encoding=’UTF-8′?><!– Published by JAX-WS RI at http://jax-ws.dev.java.net. RI’s version is JAX-WS RI 2.1.1-b03-. –><xs:schema xmlns:tns=”http://api.nominet.uk/ws” xmlns:xs=”http://www.w3.org/2001/XMLSchema” version=”1.0″ targetNamespace=”http://api.nominet.uk/ws”>

<xs:complexType name=”searchSummary”>
<xs:sequence>
<xs:element name=”totalWeeklySearchCredits” type=”xs:int” minOccurs=”0″ />
<xs:element name=”weeklySearchCreditsRemaining” type=”xs:int” minOccurs=”0″ />
<xs:element name=”weeklySearchCreditsUsed” type=”xs:int” minOccurs=”0″ />
</xs:sequence>
</xs:complexType>

<xs:complexType name=”prssSearchTerms”>
<xs:sequence>
<xs:element name=”address” type=”xs:string” minOccurs=”0″ />
<xs:element name=”addressSearchType” type=”tns:searchType” minOccurs=”0″ />
<xs:element name=”country” type=”xs:string” minOccurs=”0″ />
<xs:element name=”dateRegistered” type=”xs:dateTime” minOccurs=”0″ />
<xs:element name=”domainName” type=”xs:string” minOccurs=”0″ />
<xs:element name=”domainSearchType” type=”tns:domainSearchType” minOccurs=”0″ />
<xs:element name=”hostIp” type=”xs:string” minOccurs=”0″ />
<xs:element name=”hostName” type=”xs:string” minOccurs=”0″ />
<xs:element name=”nottedFields” type=”xs:string” nillable=”true” minOccurs=”0″ maxOccurs=”unbounded” />
<xs:element name=”oredFields” type=”xs:string” nillable=”true” minOccurs=”0″ maxOccurs=”unbounded” />
<xs:element name=”postCode” type=”xs:string” minOccurs=”0″ />
<xs:element name=”registeredOnOrBefore” type=”xs:dateTime” minOccurs=”0″ />
<xs:element name=”registrant” type=”xs:string” minOccurs=”0″ />
<xs:element name=”registrantSearchType” type=”tns:registrantSearchType” minOccurs=”0″ />
<xs:element name=”suffixes” type=”xs:string” nillable=”true” minOccurs=”0″ maxOccurs=”unbounded” />
<xs:element name=”tag” type=”xs:string” minOccurs=”0″ />
</xs:sequence>
</xs:complexType>

<xs:complexType name=”pageRequest”>
<xs:sequence>
<xs:element name=”ascendingOrder” type=”xs:boolean” />
<xs:element name=”itemsPerPage” type=”xs:int” />
<xs:element name=”orderBy” type=”xs:string” minOccurs=”0″ />
<xs:element name=”page” type=”xs:int” />
</xs:sequence>
</xs:complexType>

<xs:complexType name=”searchResults”>
<xs:sequence>
<xs:element name=”numberOfResults” type=”xs:long” />
<xs:element name=”results” type=”tns:searchResult” minOccurs=”0″ maxOccurs=”unbounded” />
</xs:sequence>
</xs:complexType>

<xs:complexType name=”searchResult”>
<xs:sequence>
<xs:element name=”addressLine1″ type=”xs:string” minOccurs=”0″ />
<xs:element name=”addressLine2″ type=”xs:string” minOccurs=”0″ />
<xs:element name=”addressLine3″ type=”xs:string” minOccurs=”0″ />
<xs:element name=”city” type=”xs:string” minOccurs=”0″ />
<xs:element name=”country” type=”xs:string” minOccurs=”0″ />
<xs:element name=”county” type=”xs:string” minOccurs=”0″ />
<xs:element name=”key” type=”xs:string” minOccurs=”0″ />
<xs:element name=”optedOut” type=”xs:string” minOccurs=”0″ />
<xs:element name=”postcode” type=”xs:string” minOccurs=”0″ />
<xs:element name=”registrant” type=”xs:string” minOccurs=”0″ />
<xs:element name=”registrationDate” type=”xs:dateTime” minOccurs=”0″ />
<xs:element name=”score” type=”xs:float” minOccurs=”0″ />
<xs:element name=”suffix” type=”xs:string” minOccurs=”0″ />
<xs:element name=”tag” type=”xs:string” minOccurs=”0″ />
</xs:sequence>
</xs:complexType>

<xs:complexType name=”pageRequest”>
<xs:sequence>
<xs:element name=”ascendingOrder” type=”xs:boolean” />
<xs:element name=”itemsPerPage” type=”xs:int” />
<xs:element name=”orderBy” type=”xs:string” minOccurs=”0″ />
<xs:element name=”page” type=”xs:int” />
</xs:sequence>
</xs:complexType>

<xs:complexType name=”searchResults”>
<xs:sequence>
<xs:element name=”numberOfResults” type=”xs:long” />
<xs:element name=”results” type=”tns:searchResult” minOccurs=”0″ maxOccurs=”unbounded” />
</xs:sequence>
</xs:complexType>

<xs:complexType name=”searchResult”>
<xs:sequence>
<xs:element name=”addressLine1″ type=”xs:string” minOccurs=”0″ />
<xs:element name=”addressLine2″ type=”xs:string” minOccurs=”0″ />
<xs:element name=”addressLine3″ type=”xs:string” minOccurs=”0″ />
<xs:element name=”city” type=”xs:string” minOccurs=”0″ />
<xs:element name=”country” type=”xs:string” minOccurs=”0″ />
<xs:element name=”county” type=”xs:string” minOccurs=”0″ />
<xs:element name=”key” type=”xs:string” minOccurs=”0″ />
<xs:element name=”optedOut” type=”xs:string” minOccurs=”0″ />
<xs:element name=”postcode” type=”xs:string” minOccurs=”0″ />
<xs:element name=”registrant” type=”xs:string” minOccurs=”0″ />
<xs:element name=”registrationDate” type=”xs:dateTime” minOccurs=”0″ />
<xs:element name=”score” type=”xs:float” minOccurs=”0″ />
<xs:element name=”suffix” type=”xs:string” minOccurs=”0″ />
<xs:element name=”tag” type=”xs:string” minOccurs=”0″ />
</xs:sequence>
</xs:complexType>

<xs:simpleType name=”searchType”>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”WORD” />
<xs:enumeration value=”PHRASE” />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name=”domainSearchType”>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”WORD” />
<xs:enumeration value=”TYPO” />
<xs:enumeration value=”RELATED” />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name=”registrantSearchType”>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”WORD” />
<xs:enumeration value=”PHRASE” />
<xs:enumeration value=”EXACT” />
</xs:restriction>
</xs:simpleType>
</xs:schema>

Minerva House, Edmund Halley Road, Oxford Science Park, OX4 4DQ, United Kingdom