reseller

is added when reseller has a customer specific business

Domains

Note

It is recommended, that you read TLD and their Contacts specific information, prior to continuing reading further:

Check Availability

Checks the availability of specified domain name(s).

Check Availability - IDN

Checks the availability of the specified Internationalized Domain Name(s) (IDN).

Check Availability - Premium Domains

Checks the availability of Premium Domain Names based on the specified keyword.

Suggest Names

Suggests domain names for the given keyword.

Register

Registers a specified domain name.

Transfer

Transfers a specified domain name to you.

Validating a Transfer Request

Checks if a transfer request is valid for the specified domain name.

Renew

Renews the specified Domain Registration Order for multiple years.

Search

Gets a list of Domain Registration Orders, which suit the Search criteria, along with the details.

Get Customer Default Name Servers

Gets a list of the default Name Servers for the Customer.

Get Order Id

Gets the Order Id of a Registered domain name.

Get Registration Order Details

Gets the details of a Domain Registration Order.

Modify Name Servers

Modifies the Name Servers of the specified Domain Registration Order.

Add Child Name Server

Adds Child Name Servers for the specified Domain Registration Order.

Modify Child Name Server Host Name

Modifies the name of the Child Name Server of the specified Domain Registration Order.

Modify Child Name Server IP Address

Modifies the IP addresses associated with the specified Child Name Server of the specified Domain Registration Order.

Deleting Child Name Server IP Address

Deletes the IP address associated with the specified Child Name Server of the particular Domain Registration Order.

Modify Contacts

Modifies the Contacts of the specified Domain Registration Order.

Modify Privacy Protection Status

Changes the Privacy Protection status of the specified Domain Registration Order.

Modify Auth-Code

Modifies the Auth-Code of the specified Domain Registration Order.

Apply Theft Protection Lock

Applies the Theft Protection lock on the specified Order.

Remove Theft Protection Lock

Removes the Theft Protection lock on the specified Order.

Get the List of Locks Applied on a Domain Name

Gets the list of locks applied on a Domain Registration Order.

Get TEL CTH Login Details

Gets the CTH Login Details for the specified .TEL Domain Registration Order.

Modify TEL Whois Preference

Modifies the Whois preference of the .TEL Domain Registration Order.

Resend Transfer Approval Mail

Resends the Transfer Approval mail for the specified Order.

Release a UK Domain Name

Releases (transfer-out) the specified .UK domain name to the specified Registrar tag.

Cancel Transfer

Cancels the Transfer-In Order that is awaiting Admin approval.

Suspend

Applies the Suspension on the specified Domain Registration Order.

Unsuspend

Removes the Suspension on the specified Domain Registration Order.

Delete

Deletes the specified Domain Registration Order.

Restore

Restores the specified Domain Registration Order.

Rechecking NS with .DE Registry

Recheck zone configuration with .de registry of the expired .DE Domain Registration Order.

Associating/Dissociating .XXX Membership Token/ID

Allows associating/dissociating the Membership Token/ID provided by the .XXX Registry, to a Domain Registration Order.

Renew

Description

Renews the specified Domain Registration Order for specified number of years.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required Order Id of the Domain Registration Order that you want to Renew.
years Integer Required Number of years for which you want to Renew this Order.
exp-date Integer Required Current Expiry Date of the Order in epoch time format.
purchase-privacy Boolean optional

Renews the Privacy Protection service for the domain name.

Privacy Protection is not supported for the following TLDs (extensions):

  • .ASIA

  • .AT

  • .AU

  • .CA

  • .CN

  • .ORG.CO, .MIL.CO, .GOV.CO, .EDU.CO

  • .DE

  • .ES

  • .EU

  • .HN

  • .IN

  • .NL

  • .NZ

  • .PRO

  • .RU

  • .SX

  • .TEL

  • .UK

  • .US

auto-renew Boolean Required

Enables / Disables the Auto Renewal setting for the domain name.

invoice-option String Required This will decide how the Customer Invoice will be handled. Set any of below mentioned Invoice Options for your Customer:
  • NoInvoice: This will not raise any Invoice. The Order will be renewed.

  • PayInvoice: This will raise an Invoice and:

    • if there are sufficient funds in the Customer's Debit Account, then the Invoice will be paid and the Order will be renewed.

    • if there are insufficient funds in the Customer's Debit Account, then the Order will remain pending in the system.

  • KeepInvoice: This will raise an Invoice for the Customer to pay later. The Order will be renewed.

  • OnlyAdd: This will raise an Invoice for the Customer to pay later. The renewal action request will remain pending.

HTTP Method

POST

Example Test URL Request


https://test.httpapi.com/api/domains/renew.json?auth-userid=0&api-key=key&order-id=562994&years=1&exp-date=1279012036&invoice-option=NoInvoice

Example Test URL Request for Renewing a Domain Name with Privacy Protection


https://test.httpapi.com/api/domains/renew.json?auth-userid=0&api-key=key&order-id=562994&years=1&exp-date=1279012036&invoice-option=NoInvoice&purchase-privacy=true

Example Test URL Request for Registry Premium domain renewal


https://test.httpapi.com/api/domains/renew.json?auth-userid=0&api-key=key&order-id=562994&years=1&exp-date=1279012036&invoice-option=NoInvoice&attr-name1=premium&attr-value1=true

Response

Returns a hash map containing the below details:

  • Domain Name (description)

  • Order ID of the Domain Name Order (entityid)

  • Action Type (actiontype)

  • Description of the Domain Renewal Action (actiontypedesc)

  • Action ID of the Domain Renewal Action (eaqid)

  • Domain Renewal Action Status (actionstatus)

  • Description of the Domain Renewal Action Status (actionstatusdesc)

  • Invoice ID of the Domain Renewal Invoice (invoiceid)

  • Selling Currency of the Reseller (sellingcurrencysymbol)

  • Selling Curreny Amount (sellingamount)

  • Customer ID associated with the Domain Name Order (customerid)

  • Privacy Protection Details (privacydetails)

    • Domain Name (description)

    • Order ID of the Domain Registration Order (entityid)

    • Action Type (actiontype)

    • Description of the Privacy Protection Purchase Action (actiontypedesc)

    • Action ID of the Privacy Protection Purchase Action (eaqid)

    • Privacy Protection Purchase Action Status (actionstatus)

    • Description of the Privacy Protection Purchase Action Status (actionstatusdesc)

    • Invoice ID of the Privacy Protection Purchase Invoice (invoiceid)

    • Selling Currency of the Reseller (sellingcurrencysymbol)

    • Transaction Amount in the Selling Currency (sellingamount)

    • Unutilized Transaction Amount in the Selling Currency (unutilisedsellingamount)

    • Customer ID associated with the Domain Registration Order (customerid)

Note
  • invoiceid, sellingcurrencysymbol, sellingamount, unutilisedsellingamount and customerid will not be returned if invoice-option is set to NoInvoice.

  • Details under privacydetails will be returned only if purchase-privacy is set to true in the Domain Registration API call

In case of any errors, a status key with value as ERROR alongwith an error message will be returned.

Deleting a domain name

Description

Deletes the specified Domain Registration Order.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required Order Id of the Domain Registration Order that you want to delete

HTTP Method

POST

Example Test URL Request


https://test.httpapi.com/api/domains/delete.json?auth-userid=0&api-key=key&order-id=0

Response

Returns a hash map containing the below details:

  • Action ID of the Order Deletion Action (eaqid)

  • Order Deletion Action Status (actionstatus)

In case of any errors, a status key with value as ERROR alongwith an error message will be returned.

Note

A success status does not indicate that the domain was deleted. It indicates that the API call was accepted and passed all validations. You can use this method to get the status of the deletion action.

HTTP API

Introduction

The HTTP API provides a simple way to integrate the functionality See details of our Reseller platform with your Storefront, Control Panel or Application.
You can leverage existing HTTP libraries available in almost all programming languages and try out or test the API easily using your favorite browser.

Right now, the HTTP API is available for free, and is subject to limits on request volume. If your requirements are above and beyond our standard
usage policies See details, please get in touch with us.

Getting Started

Note
  • It is a good practice to URL encode all values when sending them via the HTTP API. This is especially required when Customer details, Sub-Reseller details, Contact details, Passwords, etc.
    contain special characters.

    Additional Information

    HTML URL Encoding Reference

  • The various entities in our system require specific validation for usage. See details

Before you can start making HTTP API requests, for security reasons, you must first register the IP addresses from where you will be accessing the API. You will be able to access the API only from these IPs. See details

Procedure To Retrieve XML Sent And Received

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

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

  • Perl kit: Set $debugMode to 1 in the /examples/cgi-bin/constants.cgi file.

  • .NET kit: Set Public Shared DEBUG As Boolean to True in the /examples/util/ApiConstants.vb file.

  • Having retrieved the XML sent & received, please contact us at  , along with the following details:

    • your Reseller Username (Email Address)

    • Service URL you were using

    • API kit Language

Emulating API Calls

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

  1. Login to your Reseller Control Panel. See details

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

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

    Additional Information

    General API Integration Instructions

    If you wish to view the XML Sent and Received at the client-side, set the Print XML Sent/Recvd option to YES. This will enable you to view the simulation of the XML sent by your Server to our Server and our Server's response thereof.

  4. Select an API method in the left frame, enter the relevant details in the right frame and emulate the API Call.

  5. If you chose to print the XML Sent/Received previously, you will be able to view it in the right frame (after you make an API call).

Emulate and Debug your API Calls

The API is meant for use of those Resellers who

  • have designed their own interfaces for their existing Products and Services,

  • have some experience with working with SOAP, and
  • have a dedicated team of developers with a greater know-how of one of the programming languages the API Kits are available in.

Typically most Resellers prefer using our existing set of interfaces and integrated modules due to the simplicity and versatility they provide in terms of Order provisioning, payment collection and Order management. If you plan to develop your own Order provisioning and/or interfaces, then you may download one of the 's API Kits.

Additional Information

API Kits

Subsequently, if you face an issue related to an API call at your end then you can view the XML Sent and Received by our Server from within your Reseller Control Panel. This will enable you to troubleshoot the cause of the issue faced in your implementation (on your Server).

Emulate API calls

  • Use this while you are integrating our system with yours.

  • This will enable you to see what you are sending (to our Server) and receiving (from our Server).

If your Development Team, before downloading and installing our API wishes to see the complete functionality of the API Kit, then they can Emulate our API on either your Demo Account or your Live Account.

Common API Examples and Errors

Common API Examples

 

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

XML Sent:


<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="https://schemas.xmlsoap.org/soap/encoding/"
xmlns:si="https://soapinterop.org/xsd" xmlns:impl="com.logicboxes.foundation.sfnb.order.DomOrder"
xmlns:apachesoap="https://xml.apache.org/xml-soap">

<SOAP-ENV:Body>

<impl:registerDomain>

<userName xsi:type="xsd:string">xxxxx@zzz.com</userName>

<password xsi:type="xsd:string">xxxxx4</password>

<role xsi:type="xsd:string">reseller</role>

<langpref xsi:type="xsd:string">en</langpref>

<parentid xsi:type="xsd:int">1</parentid>

<addParamList xsi:type="apachesoap:Vector">

<item xsi:type="apachesoap:Map">

<item>

<key xsi:type="xsd:string">domainhash</key>

<value xsi:type="apachesoap:Map">

<item>

<key xsi:type="xsd:string">apitest.com</key>

<value xsi:type="xsd:int">1</value>

</item>

</value>

</item>

<item>

<key xsi:type="xsd:string">contacthash</key>

<value xsi:type="apachesoap:Map">

<item>

<key xsi:type="xsd:string">registrantcontactid</key>

<value xsi:type="xsd:int">123456</value>

</item>

<item>

<key xsi:type="xsd:string">admincontactid</key>

<value xsi:type="xsd:int">123456</value>

</item>

<item>

<key xsi:type="xsd:string">technicalcontactid</key>

<value xsi:type="xsd:int">123456</value>

</item>

<item>

<key xsi:type="xsd:string">billingcontactid</key>

<value xsi:type="xsd:int">123456</value>

</item>

</value>

</item>

</item>

</addParamList>

<nameServersList xsi:type="apachesoap:Vector">

<item xsi:type="xsd:string">ns11.zzz.com</item>

<item xsi:type="xsd:string">ns12.zzz.com</item>

<item xsi:type="xsd:string">

</item>

<item xsi:type="xsd:string">

</item>

</nameServersList>

<customerId xsi:type="xsd:int">123456</customerId>

<invoiceOption xsi:type="xsd:string">OnlyAdd</invoiceOption>

<enablePrivacyProtection xsi:type="xsd:boolean">false</enablePrivacyProtection>

<validate xsi:type="xsd:boolean">true</validate>

<extraInfo xsi:type="apachesoap:Map">

</extraInfo>

</impl:registerDomain>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

XML Received:

<?xml version="1.0" encoding="UTF-8"?>

<soapenv:Envelope xmlns:soapenv="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">

<soapenv:Body>

<ns1:registerDomainResponse soapenv:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="com.logicboxes.foundation.sfnb.order.DomOrder">

<ns2:Map href="#id0" xmlns:ns2="https://xml.apache.org/xml-soap"/>

</ns1:registerDomainResponse>

<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:Map" xmlns:soapenc="https://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns3="https://xml.apache.org/xml-soap">

<item>

<key xsi:type="xsd:string">apitest.com</key>

<value href="#id1"/>

</item>

</multiRef>

<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns4:Map" xmlns:ns4="https://xml.apache.org/xml-soap" xmlns:soapenc="https://schemas.xmlsoap.org/soap/encoding/">

<item>

<key xsi:type="xsd:string">actiontypedesc</key>

<value xsi:type="xsd:string">Registration of apitest.com for 1 years</value>

</item>

<item>

<key xsi:type="xsd:string">status</key>

<value xsi:type="xsd:string">Success</value>

</item>

<item>

<key xsi:type="xsd:string">entityid</key>

<value xsi:type="xsd:string">123456</value>

</item>

<item>

<key xsi:type="xsd:string">eaqid</key>

<value xsi:type="xsd:string">123456</value>

</item>

<item>

<key xsi:type="xsd:string">invoiceid</key>

<value xsi:type="xsd:string">123456</value>

</item>

<item>

<key xsi:type="xsd:string">actionstatus</key>

<value xsi:type="xsd:string">PendingExecution</value>

</item>

<item>

<key xsi:type="xsd:string">customercost</key>

<value xsi:type="xsd:string">00.00</value>

</item>

<item>

<key xsi:type="xsd:string">actiontype</key>

<value xsi:type="xsd:string">AddNewDomain</value>

</item>

<item>

<key xsi:type="xsd:string">description</key>

<value xsi:type="xsd:string">apitest.com</value>

</item>

<item>

<key xsi:type="xsd:string">actionstatusdesc</key>

<value xsi:type="xsd:string">Order waiting to be executed.</value>

</item>

<item>

<key xsi:type="xsd:string">orderid</key>

<value xsi:type="xsd:string">123456</value>

</item>

</multiRef>

</soapenv:Body>

</soapenv:Envelope>

 

 

Common API Errors and their Solution

 

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

XML Sent:


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


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

 

XML Received:


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


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

 

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

Error Received:


Error Code: 2, SOAP raised an error.


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

 

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

Error Received:


01-jul-2005 16:43:31 org.apache.axis.client.Call invoke

INFO: Mapping Exception to AxisFault

AxisFault

faultCode:

{https://schemas.xmlsoap.org/soap/envelope/}Server.userException

faultString:

com.logicboxes.rtk.RegistryException#~#com.logicboxes.rtk.AbstractFactory#~#Object
Not Available for registrar_domorgrrp Pool#~#error#~#

faultActor: null

faultDetail:

stackTrace: AxisFault

faultCode:

{https://schemas.xmlsoap.org/soap/envelope/}Server.userException

faultString:

com.logicboxes.rtk.RegistryException#~#com.logicboxes.rtk.AbstractFactory#~#Object
Not Available for registrar_domorgrrp Pool#~#error#~#

faultActor: null

faultDetail:

 

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

 
Imports System.Security.Cryptography.X509Certificates



Public Class TrustAllCertificatePolicy

Implements System.Net.ICertificatePolicy

Public Sub New()

End Sub

Public Function CheckValidationResult(ByVal srvPoint As
System.Net.ServicePoint, ByVal certificate As
System.Security.Cryptography.X509Certificates.X509Certificate, ByVal
request As System.Net.WebRequest, ByVal certificateProblem As Integer) As
Boolean Implements System.Net.ICertificatePolicy.CheckValidationResult

Return True

End Function

End Class

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

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

System.Net.ServicePointManager.CertificatePolicy = New TrustAllCertificatePolicy

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

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

Example XML:

Error Received


System.Net.WebException: The underlying connection was closed: Could not
establish trust relationship for the SSL/TLS secure channel. --->
System.Security.Authentication.AuthenticationException: The remote
certificate is invalid according to the validation procedure.

at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken
message, AsyncProtocolRequest asyncRequest, Exception exception)

at
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken
message, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count,
AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32
count, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32
readBytes, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
AsyncProtocolRequest asyncRequest)

at
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken
message, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count,
AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32
count, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32
readBytes, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
AsyncProtocolRequest asyncRequest)

at
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken
message, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count,
AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32
count, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32
readBytes, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer,
AsyncProtocolRequest asyncRequest)

at
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken
message, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count,
AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst,
Byte[] buffer, AsyncProtocolRequest asyncRequest)

at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult
lazyResult)

at System.Net.TlsStream.CallProcessAuthentication(Object state)

at System.Threading.ExecutionContext.runTryCode(Object userData)

at
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode
code, CleanupCode backoutCode, Object userData)

at System.Threading.ExecutionContext.RunInternal(ExecutionContext
executionContext, ContextCallback callback, Object state)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state)

at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)

at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)

at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)

at System.Net.ConnectStream.WriteHeaders(Boolean async)