//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.34014
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.34014.
// 

using System.Security.Cryptography.X509Certificates;
using ipn_sqlclr;

#pragma warning disable 1591

namespace certificateManagementService {
    using System;
    using System.Web.Services;
    using System.Diagnostics;
    using System.Web.Services.Protocols;
    using System.Xml.Serialization;
    using System.ComponentModel;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="certificateManagementServiceSOAP", Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
	public partial class certificateManagementService : XmlReaderSpyService
	{
        
        private System.Threading.SendOrPostCallback updateCertificateStatusOperationCompleted;
        
        private System.Threading.SendOrPostCallback bulkUpdateCertificateStatusOperationCompleted;
        
        private System.Threading.SendOrPostCallback keyRecoveryOperationCompleted;
        
        private System.Threading.SendOrPostCallback searchCertificateOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
		public certificateManagementService(X509Certificate clientCert, string url)
			: base(clientCert, url)
		{
			this.Url = url;
			ClientCertificates.Add(clientCert);
		}
        
        public new string Url {
            get {
                return base.Url;
            }
            set {
                if ((((this.IsLocalFileSystemWebService(base.Url) == true) 
                            && (this.useDefaultCredentialsSetExplicitly == false)) 
                            && (this.IsLocalFileSystemWebService(value) == false))) {
                    base.UseDefaultCredentials = false;
                }
                base.Url = value;
            }
        }
        
        public new bool UseDefaultCredentials {
            get {
                return base.UseDefaultCredentials;
            }
            set {
                base.UseDefaultCredentials = value;
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        /// <remarks/>
        public event updateCertificateStatusCompletedEventHandler updateCertificateStatusCompleted;
        
        /// <remarks/>
        public event bulkUpdateCertificateStatusCompletedEventHandler bulkUpdateCertificateStatusCompleted;
        
        /// <remarks/>
        public event keyRecoveryCompletedEventHandler keyRecoveryCompleted;
        
        /// <remarks/>
        public event searchCertificateCompletedEventHandler searchCertificateCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.verisign.com/pkiservices/2009/07/management/updateCertificateStatu" +
            "s", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("updateCertificateStatusResponse", Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
        public UpdateCertificateStatusResponseType updateCertificateStatus([System.Xml.Serialization.XmlElementAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")] UpdateCertificateStatusRequestType updateCertificateStatusRequest) {
            object[] results = this.Invoke("updateCertificateStatus", new object[] {
                        updateCertificateStatusRequest});
            return ((UpdateCertificateStatusResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void updateCertificateStatusAsync(UpdateCertificateStatusRequestType updateCertificateStatusRequest) {
            this.updateCertificateStatusAsync(updateCertificateStatusRequest, null);
        }
        
        /// <remarks/>
        public void updateCertificateStatusAsync(UpdateCertificateStatusRequestType updateCertificateStatusRequest, object userState) {
            if ((this.updateCertificateStatusOperationCompleted == null)) {
                this.updateCertificateStatusOperationCompleted = new System.Threading.SendOrPostCallback(this.OnupdateCertificateStatusOperationCompleted);
            }
            this.InvokeAsync("updateCertificateStatus", new object[] {
                        updateCertificateStatusRequest}, this.updateCertificateStatusOperationCompleted, userState);
        }
        
        private void OnupdateCertificateStatusOperationCompleted(object arg) {
            if ((this.updateCertificateStatusCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.updateCertificateStatusCompleted(this, new updateCertificateStatusCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.verisign.com/pkiservices/2009/07/management/bulkUpdateCertificateS" +
            "tatus", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("bulkUpdateCertificateStatusResponse", Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
        public BulkUpdateCertificateStatusResponseType bulkUpdateCertificateStatus([System.Xml.Serialization.XmlElementAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")] BulkUpdateCertificateStatusRequestType bulkUpdateCertificateStatusRequest) {
            object[] results = this.Invoke("bulkUpdateCertificateStatus", new object[] {
                        bulkUpdateCertificateStatusRequest});
            return ((BulkUpdateCertificateStatusResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void bulkUpdateCertificateStatusAsync(BulkUpdateCertificateStatusRequestType bulkUpdateCertificateStatusRequest) {
            this.bulkUpdateCertificateStatusAsync(bulkUpdateCertificateStatusRequest, null);
        }
        
        /// <remarks/>
        public void bulkUpdateCertificateStatusAsync(BulkUpdateCertificateStatusRequestType bulkUpdateCertificateStatusRequest, object userState) {
            if ((this.bulkUpdateCertificateStatusOperationCompleted == null)) {
                this.bulkUpdateCertificateStatusOperationCompleted = new System.Threading.SendOrPostCallback(this.OnbulkUpdateCertificateStatusOperationCompleted);
            }
            this.InvokeAsync("bulkUpdateCertificateStatus", new object[] {
                        bulkUpdateCertificateStatusRequest}, this.bulkUpdateCertificateStatusOperationCompleted, userState);
        }
        
        private void OnbulkUpdateCertificateStatusOperationCompleted(object arg) {
            if ((this.bulkUpdateCertificateStatusCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.bulkUpdateCertificateStatusCompleted(this, new bulkUpdateCertificateStatusCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.verisign.com/pkiservices/2009/07/management/keyRecovery", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("requestKeyRecoveryResponseMessage", Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
        public RequestKeyRecoveryResponseMessageType keyRecovery([System.Xml.Serialization.XmlElementAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")] RequestKeyRecoveryMessageType requestKeyRecoveryMessage) {
            object[] results = this.Invoke("keyRecovery", new object[] {
                        requestKeyRecoveryMessage});
            return ((RequestKeyRecoveryResponseMessageType)(results[0]));
        }
        
        /// <remarks/>
        public void keyRecoveryAsync(RequestKeyRecoveryMessageType requestKeyRecoveryMessage) {
            this.keyRecoveryAsync(requestKeyRecoveryMessage, null);
        }
        
        /// <remarks/>
        public void keyRecoveryAsync(RequestKeyRecoveryMessageType requestKeyRecoveryMessage, object userState) {
            if ((this.keyRecoveryOperationCompleted == null)) {
                this.keyRecoveryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnkeyRecoveryOperationCompleted);
            }
            this.InvokeAsync("keyRecovery", new object[] {
                        requestKeyRecoveryMessage}, this.keyRecoveryOperationCompleted, userState);
        }
        
        private void OnkeyRecoveryOperationCompleted(object arg) {
            if ((this.keyRecoveryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.keyRecoveryCompleted(this, new keyRecoveryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.verisign.com/pkiservices/2009/07/management/searchCertificate", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
        [return: System.Xml.Serialization.XmlElementAttribute("searchCertificateResponse", Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
        public SearchCertificateResponseType searchCertificate([System.Xml.Serialization.XmlElementAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")] SearchCertificateRequestType searchCertificateRequest) {
            object[] results = this.Invoke("searchCertificate", new object[] {
                        searchCertificateRequest});
            return ((SearchCertificateResponseType)(results[0]));
        }
        
        /// <remarks/>
        public void searchCertificateAsync(SearchCertificateRequestType searchCertificateRequest) {
            this.searchCertificateAsync(searchCertificateRequest, null);
        }
        
        /// <remarks/>
        public void searchCertificateAsync(SearchCertificateRequestType searchCertificateRequest, object userState) {
            if ((this.searchCertificateOperationCompleted == null)) {
                this.searchCertificateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsearchCertificateOperationCompleted);
            }
            this.InvokeAsync("searchCertificate", new object[] {
                        searchCertificateRequest}, this.searchCertificateOperationCompleted, userState);
        }
        
        private void OnsearchCertificateOperationCompleted(object arg) {
            if ((this.searchCertificateCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.searchCertificateCompleted(this, new searchCertificateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
        
        private bool IsLocalFileSystemWebService(string url) {
            if (((url == null) 
                        || (url == string.Empty))) {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024) 
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
                return true;
            }
            return false;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class UpdateCertificateStatusRequestType {
        
        private string clientTransactionIDField;
        
        private string versionField;
        
        private string certificateIssuerField;
        
        private RevokeReasonCodeEnum revocationReasonField;
        
        private bool revocationReasonFieldSpecified;
        
        private string challengeField;
        
        private string commentField;
        
        private string itemField;
        
        private ItemChoiceType itemElementNameField;
        
        private OperationTypeEnum operationTypeField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        public string certificateIssuer {
            get {
                return this.certificateIssuerField;
            }
            set {
                this.certificateIssuerField = value;
            }
        }
        
        /// <remarks/>
        public RevokeReasonCodeEnum revocationReason {
            get {
                return this.revocationReasonField;
            }
            set {
                this.revocationReasonField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool revocationReasonSpecified {
            get {
                return this.revocationReasonFieldSpecified;
            }
            set {
                this.revocationReasonFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string challenge {
            get {
                return this.challengeField;
            }
            set {
                this.challengeField = value;
            }
        }
        
        /// <remarks/>
        public string comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("certificateSerialNumber", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("seatId", typeof(string))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemElementName")]
        public string Item {
            get {
                return this.itemField;
            }
            set {
                this.itemField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemChoiceType ItemElementName {
            get {
                return this.itemElementNameField;
            }
            set {
                this.itemElementNameField = value;
            }
        }
        
        /// <remarks/>
        public OperationTypeEnum operationType {
            get {
                return this.operationTypeField;
            }
            set {
                this.operationTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public enum RevokeReasonCodeEnum {
        
        /// <remarks/>
        Unspecified,
        
        /// <remarks/>
        KeyCompromise,
        
        /// <remarks/>
        CACompromise,
        
        /// <remarks/>
        AffiliationChanged,
        
        /// <remarks/>
        CessationOfOperation,
        
        /// <remarks/>
        PrivilegeWithdrawn,
        
        /// <remarks/>
        AACompromise,
        
        /// <remarks/>
        Superseded,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management", IncludeInSchema=false)]
    public enum ItemChoiceType {
        
        /// <remarks/>
        certificateSerialNumber,
        
        /// <remarks/>
        seatId,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public enum OperationTypeEnum {
        
        /// <remarks/>
        Revoke,
        
        /// <remarks/>
        Suspend,
        
        /// <remarks/>
        Resume,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class CertificateSearchResultType {
        
        private byte[] certificateField;
        
        private string seatIdField;
        
        private string commonNameField;
        
        private string accountIdField;
        
        private string profileOIDField;
        
        private string emailAddressField;
        
        private CertificateStatusEnum statusField;
        
        private long revokeAtField;
        
        private bool revokeAtFieldSpecified;
        
        private RevokeReasonCodeEnum revokeReasonField;
        
        private bool revokeReasonFieldSpecified;
        
        private long validFromField;
        
        private long validToField;
        
        private string serialNumberField;
        
        private bool isEscrowedField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] certificate {
            get {
                return this.certificateField;
            }
            set {
                this.certificateField = value;
            }
        }
        
        /// <remarks/>
        public string seatId {
            get {
                return this.seatIdField;
            }
            set {
                this.seatIdField = value;
            }
        }
        
        /// <remarks/>
        public string commonName {
            get {
                return this.commonNameField;
            }
            set {
                this.commonNameField = value;
            }
        }
        
        /// <remarks/>
        public string accountId {
            get {
                return this.accountIdField;
            }
            set {
                this.accountIdField = value;
            }
        }
        
        /// <remarks/>
        public string profileOID {
            get {
                return this.profileOIDField;
            }
            set {
                this.profileOIDField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
        public string emailAddress {
            get {
                return this.emailAddressField;
            }
            set {
                this.emailAddressField = value;
            }
        }
        
        /// <remarks/>
        public CertificateStatusEnum status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
            }
        }
        
        /// <remarks/>
        public long revokeAt {
            get {
                return this.revokeAtField;
            }
            set {
                this.revokeAtField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool revokeAtSpecified {
            get {
                return this.revokeAtFieldSpecified;
            }
            set {
                this.revokeAtFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public RevokeReasonCodeEnum revokeReason {
            get {
                return this.revokeReasonField;
            }
            set {
                this.revokeReasonField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool revokeReasonSpecified {
            get {
                return this.revokeReasonFieldSpecified;
            }
            set {
                this.revokeReasonFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long validFrom {
            get {
                return this.validFromField;
            }
            set {
                this.validFromField = value;
            }
        }
        
        /// <remarks/>
        public long validTo {
            get {
                return this.validToField;
            }
            set {
                this.validToField = value;
            }
        }
        
        /// <remarks/>
        public string serialNumber {
            get {
                return this.serialNumberField;
            }
            set {
                this.serialNumberField = value;
            }
        }
        
        /// <remarks/>
        public bool isEscrowed {
            get {
                return this.isEscrowedField;
            }
            set {
                this.isEscrowedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public enum CertificateStatusEnum {
        
        /// <remarks/>
        VALID,
        
        /// <remarks/>
        EXPIRED,
        
        /// <remarks/>
        REVOKED,
        
        /// <remarks/>
        SUSPENDED,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class SearchCertificateResponseType {
        
        private string clientTransactionIDField;
        
        private string serverTransactionIDField;
        
        private int certificateCountField;
        
        private CertificateSearchResultType[] certificateListField;
        
        private bool moreCertificateAvailableField;
        
        private bool moreCertificateAvailableFieldSpecified;
        
        private string versionField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string serverTransactionID {
            get {
                return this.serverTransactionIDField;
            }
            set {
                this.serverTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public int certificateCount {
            get {
                return this.certificateCountField;
            }
            set {
                this.certificateCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("certificateInformation", IsNullable=false)]
        public CertificateSearchResultType[] certificateList {
            get {
                return this.certificateListField;
            }
            set {
                this.certificateListField = value;
            }
        }
        
        /// <remarks/>
        public bool moreCertificateAvailable {
            get {
                return this.moreCertificateAvailableField;
            }
            set {
                this.moreCertificateAvailableField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool moreCertificateAvailableSpecified {
            get {
                return this.moreCertificateAvailableFieldSpecified;
            }
            set {
                this.moreCertificateAvailableFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class SearchCertificateRequestType {
        
        private string clientTransactionIDField;
        
        private string seatIdField;
        
        private string accountIdField;
        
        private string profileOIDField;
        
        private string commonNameField;
        
        private CertificateStatusEnum statusField;
        
        private bool statusFieldSpecified;
        
        private string emailAddressField;
        
        private string serialNumberField;
        
        private byte[] issuingCAField;
        
        private long validFromField;
        
        private bool validFromFieldSpecified;
        
        private long validToField;
        
        private bool validToFieldSpecified;
        
        private int startIndexField;
        
        private bool startIndexFieldSpecified;
        
        private string versionField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string seatId {
            get {
                return this.seatIdField;
            }
            set {
                this.seatIdField = value;
            }
        }
        
        /// <remarks/>
        public string accountId {
            get {
                return this.accountIdField;
            }
            set {
                this.accountIdField = value;
            }
        }
        
        /// <remarks/>
        public string profileOID {
            get {
                return this.profileOIDField;
            }
            set {
                this.profileOIDField = value;
            }
        }
        
        /// <remarks/>
        public string commonName {
            get {
                return this.commonNameField;
            }
            set {
                this.commonNameField = value;
            }
        }
        
        /// <remarks/>
        public CertificateStatusEnum status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool statusSpecified {
            get {
                return this.statusFieldSpecified;
            }
            set {
                this.statusFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string emailAddress {
            get {
                return this.emailAddressField;
            }
            set {
                this.emailAddressField = value;
            }
        }
        
        /// <remarks/>
        public string serialNumber {
            get {
                return this.serialNumberField;
            }
            set {
                this.serialNumberField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] issuingCA {
            get {
                return this.issuingCAField;
            }
            set {
                this.issuingCAField = value;
            }
        }
        
        /// <remarks/>
        public long validFrom {
            get {
                return this.validFromField;
            }
            set {
                this.validFromField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool validFromSpecified {
            get {
                return this.validFromFieldSpecified;
            }
            set {
                this.validFromFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public long validTo {
            get {
                return this.validToField;
            }
            set {
                this.validToField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool validToSpecified {
            get {
                return this.validToFieldSpecified;
            }
            set {
                this.validToFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public int startIndex {
            get {
                return this.startIndexField;
            }
            set {
                this.startIndexField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool startIndexSpecified {
            get {
                return this.startIndexFieldSpecified;
            }
            set {
                this.startIndexFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class RequestKeyRecoveryResponseMessageType {
        
        private string clientTransactionIDField;
        
        private string serverTransactionIDField;
        
        private int adminApprovalPendingCountField;
        
        private bool adminApprovalPendingCountFieldSpecified;
        
        private string pKCS12PasswordField;
        
        private string[] pKCS12MessageField;
        
        private string versionField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string serverTransactionID {
            get {
                return this.serverTransactionIDField;
            }
            set {
                this.serverTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public int adminApprovalPendingCount {
            get {
                return this.adminApprovalPendingCountField;
            }
            set {
                this.adminApprovalPendingCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool adminApprovalPendingCountSpecified {
            get {
                return this.adminApprovalPendingCountFieldSpecified;
            }
            set {
                this.adminApprovalPendingCountFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string pKCS12Password {
            get {
                return this.pKCS12PasswordField;
            }
            set {
                this.pKCS12PasswordField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("pKCS12Message")]
        public string[] pKCS12Message {
            get {
                return this.pKCS12MessageField;
            }
            set {
                this.pKCS12MessageField = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class RequestKeyRecoveryMessageType {
        
        private string clientTransactionIDField;
        
        private string pKCS12PasswordField;
        
        private string certificateSerialNumberField;
        
        private string certificateIssuerField;
        
        private string adminIDField;
        
        private string versionField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string pKCS12Password {
            get {
                return this.pKCS12PasswordField;
            }
            set {
                this.pKCS12PasswordField = value;
            }
        }
        
        /// <remarks/>
        public string certificateSerialNumber {
            get {
                return this.certificateSerialNumberField;
            }
            set {
                this.certificateSerialNumberField = value;
            }
        }
        
        /// <remarks/>
        public string certificateIssuer {
            get {
                return this.certificateIssuerField;
            }
            set {
                this.certificateIssuerField = value;
            }
        }
        
        /// <remarks/>
        public string adminID {
            get {
                return this.adminIDField;
            }
            set {
                this.adminIDField = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class BulkUpdateCertificateStatusResponseType {
        
        private string clientTransactionIDField;
        
        private string serverTransactionIDField;
        
        private string versionField;
        
        private int successCodeField;
        
        private string successMsgField;
        
        private int revocationCountField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string serverTransactionID {
            get {
                return this.serverTransactionIDField;
            }
            set {
                this.serverTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        public int successCode {
            get {
                return this.successCodeField;
            }
            set {
                this.successCodeField = value;
            }
        }
        
        /// <remarks/>
        public string successMsg {
            get {
                return this.successMsgField;
            }
            set {
                this.successMsgField = value;
            }
        }
        
        /// <remarks/>
        public int revocationCount {
            get {
                return this.revocationCountField;
            }
            set {
                this.revocationCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class BulkUpdateCertificateStatusRequestType {
        
        private string clientTransactionIDField;
        
        private string versionField;
        
        private RevokeReasonCodeEnum revocationReasonField;
        
        private bool revocationReasonFieldSpecified;
        
        private string commentField;
        
        private string[] itemsField;
        
        private ItemsChoiceType[] itemsElementNameField;
        
        private OperationTypeEnum operationTypeField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        public RevokeReasonCodeEnum revocationReason {
            get {
                return this.revocationReasonField;
            }
            set {
                this.revocationReasonField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool revocationReasonSpecified {
            get {
                return this.revocationReasonFieldSpecified;
            }
            set {
                this.revocationReasonFieldSpecified = value;
            }
        }
        
        /// <remarks/>
        public string comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("certificateSerialNumber", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("profileOID", typeof(string))]
        [System.Xml.Serialization.XmlElementAttribute("seatId", typeof(string))]
        [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
        public string[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemsElementName")]
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public ItemsChoiceType[] ItemsElementName {
            get {
                return this.itemsElementNameField;
            }
            set {
                this.itemsElementNameField = value;
            }
        }
        
        /// <remarks/>
        public OperationTypeEnum operationType {
            get {
                return this.operationTypeField;
            }
            set {
                this.operationTypeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management", IncludeInSchema=false)]
    public enum ItemsChoiceType {
        
        /// <remarks/>
        certificateSerialNumber,
        
        /// <remarks/>
        profileOID,
        
        /// <remarks/>
        seatId,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34230")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.verisign.com/pkiservices/2009/07/management")]
    public partial class UpdateCertificateStatusResponseType {
        
        private string clientTransactionIDField;
        
        private string serverTransactionIDField;
        
        private string versionField;
        
        private int successCodeField;
        
        private string successMsgField;
        
        private int revocationCountField;
        
        private System.Xml.XmlElement[] anyField;
        
        /// <remarks/>
        public string clientTransactionID {
            get {
                return this.clientTransactionIDField;
            }
            set {
                this.clientTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string serverTransactionID {
            get {
                return this.serverTransactionIDField;
            }
            set {
                this.serverTransactionIDField = value;
            }
        }
        
        /// <remarks/>
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        public int successCode {
            get {
                return this.successCodeField;
            }
            set {
                this.successCodeField = value;
            }
        }
        
        /// <remarks/>
        public string successMsg {
            get {
                return this.successMsgField;
            }
            set {
                this.successMsgField = value;
            }
        }
        
        /// <remarks/>
        public int revocationCount {
            get {
                return this.revocationCountField;
            }
            set {
                this.revocationCountField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    public delegate void updateCertificateStatusCompletedEventHandler(object sender, updateCertificateStatusCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class updateCertificateStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal updateCertificateStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public UpdateCertificateStatusResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((UpdateCertificateStatusResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    public delegate void bulkUpdateCertificateStatusCompletedEventHandler(object sender, bulkUpdateCertificateStatusCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class bulkUpdateCertificateStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal bulkUpdateCertificateStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public BulkUpdateCertificateStatusResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((BulkUpdateCertificateStatusResponseType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    public delegate void keyRecoveryCompletedEventHandler(object sender, keyRecoveryCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class keyRecoveryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal keyRecoveryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public RequestKeyRecoveryResponseMessageType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((RequestKeyRecoveryResponseMessageType)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    public delegate void searchCertificateCompletedEventHandler(object sender, searchCertificateCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.33440")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class searchCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal searchCertificateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SearchCertificateResponseType Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SearchCertificateResponseType)(this.results[0]));
            }
        }
    }
}

#pragma warning restore 1591