<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="SecondFactorAuthenticationServiceService" targetNamespace="http://www.exchangenetwork.net/wsdl/sharedcromerr/secondfactorauth/1" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.exchangenetwork.net/wsdl/sharedcromerr/secondfactorauth/1" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns1="http://www.exchangenetwork.net/schema/sharedcromerr/1">
  <wsdl:types>
<xs:schema xmlns:tns="http://www.exchangenetwork.net/schema/sharedcromerr/1" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.exchangenetwork.net/schema/sharedcromerr/1" version="1.0">
  <xs:complexType name="AnswerQuestion">
    <xs:sequence>
      <xs:element name="securityToken" type="xs:string"/>
      <xs:element name="activityId" type="xs:string"/>
      <xs:element name="user" type="tns:UserType"/>
      <xs:element name="answer" type="tns:AnswerType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="UserType">
    <xs:sequence>
      <xs:element name="UserId" type="xs:string"/>
      <xs:element name="FirstName" type="xs:string"/>
      <xs:element name="LastName" type="xs:string"/>
      <xs:element minOccurs="0" name="MiddleInitial" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AnswerType">
    <xs:sequence>
      <xs:element name="QuestionId" type="xs:string"/>
      <xs:element name="AnswerText" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AnswerQuestionResponse">
    <xs:sequence/>
  </xs:complexType>
  <xs:complexType name="AuthenticateUser">
    <xs:sequence>
      <xs:element name="securityToken" type="xs:string"/>
      <xs:element name="activityId" type="xs:string"/>
      <xs:element name="user" type="xs:string"/>
      <xs:element name="password" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AuthenticateUserResponse">
    <xs:sequence/>
  </xs:complexType>
  <xs:complexType name="CreateActivity">
    <xs:sequence>
      <xs:element name="securityToken" type="xs:string"/>
      <xs:element name="dataflow" type="xs:string"/>
      <xs:element name="user" type="tns:UserType"/>
      <xs:element minOccurs="0" name="properties" type="tns:PropertiesType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PropertiesType">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="Property" type="tns:PropertyType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PropertyType">
    <xs:sequence>
      <xs:element minOccurs="0" name="Key" type="xs:string"/>
      <xs:element minOccurs="0" name="Value" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CreateActivityResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="activityId" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AuditEvent">
    <xs:sequence>
      <xs:element name="securityToken" type="xs:string"/>
      <xs:element name="activityId" type="xs:string"/>
      <xs:element name="event" type="tns:EventType"/>
      <xs:element name="user" type="tns:UserType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EventType">
    <xs:sequence>
      <xs:element name="date" type="xs:dateTime"/>
      <xs:element name="group" type="tns:EventGroupType"/>
      <xs:element name="type" type="tns:EventTypeType"/>
      <xs:element name="status" type="tns:EventStatusType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AuditEventResponse">
    <xs:sequence/>
  </xs:complexType>
  <xs:complexType name="GetQuestion">
    <xs:sequence>
      <xs:element name="securityToken" type="xs:string"/>
      <xs:element name="activityId" type="xs:string"/>
      <xs:element name="user" type="tns:UserType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GetQuestionResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="question" type="tns:QuestionType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="QuestionType">
    <xs:sequence>
      <xs:element name="QuestionId" type="xs:string"/>
      <xs:element name="QuestionText" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Authenticate">
    <xs:sequence>
      <xs:element name="adminId" type="xs:string"/>
      <xs:element name="credential" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AuthenticateResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="securityToken" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SharedCromerrErrorCode">
    <xs:restriction base="xs:string">
      <xs:enumeration value="E_Unknown"/>
      <xs:enumeration value="E_UnknownUser"/>
      <xs:enumeration value="E_InvalidCredential"/>
      <xs:enumeration value="E_AccountLocked"/>
      <xs:enumeration value="E_AccessDenied"/>
      <xs:enumeration value="E_TokenExpired"/>
      <xs:enumeration value="E_InvalidToken"/>
      <xs:enumeration value="E_InvalidDataflowName"/>
      <xs:enumeration value="E_InvalidArgument"/>
      <xs:enumeration value="E_InsufficientPrivileges"/>
      <xs:enumeration value="E_InvalidSignature"/>
      <xs:enumeration value="E_WrongIdPassword"/>
      <xs:enumeration value="E_AccountExpired"/>
      <xs:enumeration value="E_WrongAnswer"/>
      <xs:enumeration value="E_WeakPassword"/>
      <xs:enumeration value="E_ReachedMaxNumberOfAttempts"/>
      <xs:enumeration value="E_MissingSecurityQuestions"/>
      <xs:enumeration value="E_CaCertMissing"/>
      <xs:enumeration value="E_UserAlreadyExists"/>
      <xs:enumeration value="E_InternalError"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EventGroupType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Signature"/>
      <xs:enumeration value="Authentication"/>
      <xs:enumeration value="SecondFactor"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EventTypeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Authenticate"/>
      <xs:enumeration value="GetQuestion"/>
      <xs:enumeration value="ValidateAnswer"/>
      <xs:enumeration value="SignDetached"/>
      <xs:enumeration value="StoreDocument"/>
      <xs:enumeration value="DownloadDocument"/>
      <xs:enumeration value="DownloadSignature"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EventStatusType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Success"/>
      <xs:enumeration value="Failure"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="AnswerQuestion" nillable="true" type="tns:AnswerQuestion"/>
  <xs:element name="AnswerQuestionResponse" nillable="true" type="tns:AnswerQuestionResponse"/>
  <xs:element name="SharedCromerrFault" type="tns:SharedCromerrFault"/>
  <xs:complexType name="SharedCromerrFault">
    <xs:sequence>
      <xs:element name="description" nillable="true" type="xs:string"/>
      <xs:element name="errorCode" nillable="true" type="tns:SharedCromerrErrorCode"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AuthenticateUser" nillable="true" type="tns:AuthenticateUser"/>
  <xs:element name="AuthenticateUserResponse" nillable="true" type="tns:AuthenticateUserResponse"/>
  <xs:element name="CreateActivity" nillable="true" type="tns:CreateActivity"/>
  <xs:element name="CreateActivityResponse" nillable="true" type="tns:CreateActivityResponse"/>
  <xs:element name="AuditEvent" nillable="true" type="tns:AuditEvent"/>
  <xs:element name="AuditEventResponse" nillable="true" type="tns:AuditEventResponse"/>
  <xs:element name="GetQuestion" nillable="true" type="tns:GetQuestion"/>
  <xs:element name="GetQuestionResponse" nillable="true" type="tns:GetQuestionResponse"/>
  <xs:element name="Authenticate" nillable="true" type="tns:Authenticate"/>
  <xs:element name="AuthenticateResponse" nillable="true" type="tns:AuthenticateResponse"/>
</xs:schema>
  </wsdl:types>
  <wsdl:message name="AuthenticateUserResponse">
    <wsdl:part name="parameters" element="ns1:AuthenticateUserResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuthenticateUser">
    <wsdl:part name="parameters" element="ns1:AuthenticateUser">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="CreateActivity">
    <wsdl:part name="parameters" element="ns1:CreateActivity">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuditEvent">
    <wsdl:part name="parameters" element="ns1:AuditEvent">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="GetQuestion">
    <wsdl:part name="parameters" element="ns1:GetQuestion">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AnswerQuestionResponse">
    <wsdl:part name="parameters" element="ns1:AnswerQuestionResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuditEventResponse">
    <wsdl:part name="parameters" element="ns1:AuditEventResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="Authenticate">
    <wsdl:part name="parameters" element="ns1:Authenticate">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AnswerQuestion">
    <wsdl:part name="parameters" element="ns1:AnswerQuestion">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="GetQuestionResponse">
    <wsdl:part name="parameters" element="ns1:GetQuestionResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="SharedCromerrException">
    <wsdl:part name="SharedCromerrException" element="ns1:SharedCromerrFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="CreateActivityResponse">
    <wsdl:part name="parameters" element="ns1:CreateActivityResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuthenticateResponse">
    <wsdl:part name="parameters" element="ns1:AuthenticateResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="SecondFactorAuthenticationService">
    <wsdl:operation name="AnswerQuestion">
      <wsdl:input name="AnswerQuestion" message="tns:AnswerQuestion">
    </wsdl:input>
      <wsdl:output name="AnswerQuestionResponse" message="tns:AnswerQuestionResponse">
    </wsdl:output>
      <wsdl:fault name="SharedCromerrException" message="tns:SharedCromerrException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="AuthenticateUser">
      <wsdl:input name="AuthenticateUser" message="tns:AuthenticateUser">
    </wsdl:input>
      <wsdl:output name="AuthenticateUserResponse" message="tns:AuthenticateUserResponse">
    </wsdl:output>
      <wsdl:fault name="SharedCromerrException" message="tns:SharedCromerrException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="CreateActivity">
      <wsdl:input name="CreateActivity" message="tns:CreateActivity">
    </wsdl:input>
      <wsdl:output name="CreateActivityResponse" message="tns:CreateActivityResponse">
    </wsdl:output>
      <wsdl:fault name="SharedCromerrException" message="tns:SharedCromerrException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="AuditEvent">
      <wsdl:input name="AuditEvent" message="tns:AuditEvent">
    </wsdl:input>
      <wsdl:output name="AuditEventResponse" message="tns:AuditEventResponse">
    </wsdl:output>
      <wsdl:fault name="SharedCromerrException" message="tns:SharedCromerrException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="GetQuestion">
      <wsdl:input name="GetQuestion" message="tns:GetQuestion">
    </wsdl:input>
      <wsdl:output name="GetQuestionResponse" message="tns:GetQuestionResponse">
    </wsdl:output>
      <wsdl:fault name="SharedCromerrException" message="tns:SharedCromerrException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="Authenticate">
      <wsdl:input name="Authenticate" message="tns:Authenticate">
    </wsdl:input>
      <wsdl:output name="AuthenticateResponse" message="tns:AuthenticateResponse">
    </wsdl:output>
      <wsdl:fault name="SharedCromerrException" message="tns:SharedCromerrException">
    </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="SecondFactorAuthenticationServiceServiceSoapBinding" type="tns:SecondFactorAuthenticationService">
    <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="AnswerQuestion">
      <soap12:operation soapAction="AnswerQuestion" style="document"/>
      <wsdl:input name="AnswerQuestion">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="AnswerQuestionResponse">
        <soap12:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SharedCromerrException">
        <soap12:fault name="SharedCromerrException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="AuthenticateUser">
      <soap12:operation soapAction="AuthenticateUser" style="document"/>
      <wsdl:input name="AuthenticateUser">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="AuthenticateUserResponse">
        <soap12:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SharedCromerrException">
        <soap12:fault name="SharedCromerrException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="CreateActivity">
      <soap12:operation soapAction="CreateActivity" style="document"/>
      <wsdl:input name="CreateActivity">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="CreateActivityResponse">
        <soap12:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SharedCromerrException">
        <soap12:fault name="SharedCromerrException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="AuditEvent">
      <soap12:operation soapAction="AuditEvent" style="document"/>
      <wsdl:input name="AuditEvent">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="AuditEventResponse">
        <soap12:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SharedCromerrException">
        <soap12:fault name="SharedCromerrException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="GetQuestion">
      <soap12:operation soapAction="GetQuestion" style="document"/>
      <wsdl:input name="GetQuestion">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="GetQuestionResponse">
        <soap12:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SharedCromerrException">
        <soap12:fault name="SharedCromerrException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="Authenticate">
      <soap12:operation soapAction="Authenticate" style="document"/>
      <wsdl:input name="Authenticate">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="AuthenticateResponse">
        <soap12:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SharedCromerrException">
        <soap12:fault name="SharedCromerrException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="SecondFactorAuthenticationServiceService">
    <wsdl:port name="SecondFactorAuthenticationServicePort" binding="tns:SecondFactorAuthenticationServiceServiceSoapBinding">
      <soap12:address location="https://encromerrdev.epacdxnode.net/shared-cromerr-ws/services/SecondFactorAuthenticationService"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
