<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="SignatureService2Service" targetNamespace="http://www.exchangenetwork.net/wsdl/sharedcromerr/sign/2" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.exchangenetwork.net/wsdl/sharedcromerr/sign/2" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ns1="http://www.exchangenetwork.net/schema/sharedcromerr/2">
  <wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.exchangenetwork.net/schema/sharedcromerr/2" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.exchangenetwork.net/schema/sharedcromerr/2" xmlns:xmime="http://www.w3.org/2005/05/xmlmime">
                                                <xs:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="https://www.w3.org/2005/05/xmlmime" />
  <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="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:element minOccurs="0" name="Role" type="tns:UserRoleType"/>
      <xs:element minOccurs="0" name="Organization" type="tns:UserOrganizationType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="UserRoleType">
    <xs:sequence>
      <xs:element minOccurs="0" name="RoleName" type="xs:string"/>
      <xs:element minOccurs="0" name="RoleId" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="UserOrganizationType">
    <xs:sequence>
      <xs:element minOccurs="0" name="OrganizationName" type="xs:string"/>
      <xs:element minOccurs="0" name="OrganizationId" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AuditEventResponse">
    <xs:sequence/>
  </xs:complexType>
  <xs:complexType name="Sign">
    <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 minOccurs="0" name="notifications" type="tns:NotificationsType"/>
      <xs:element name="document" type="tns:DocumentType"/>
      <xs:element name="signatureData" type="tns:SignatureDataType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NotificationsType">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="Notification" type="tns:NotificationType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NotificationType">
    <xs:sequence>
      <xs:element name="NotificationCategory" type="tns:NotificationCategoryType"/>
      <xs:element name="Value" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DocumentType">
    <xs:sequence>
      <xs:element minOccurs="0" name="ID" type="xs:string"/>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Format" type="tns:DocumentFormatType"/>
      <xs:element minOccurs="0" name="CreatedDate" type="xs:dateTime"/>
      <xs:element minOccurs="0" name="RetentionStatus" type="tns:RetentionStatusType"/>
      <xs:element minOccurs="0" name="RepudiationInfo" type="tns:RepudiationInfoType"/>
      <xs:element minOccurs="0" name="Content" type="xs:base64Binary" xmime:expectedContentTypes="*/*"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RepudiationInfoType">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SignatureDataType">
    <xs:sequence>
      <xs:element minOccurs="0" name="passwordSHA256Hash" type="xs:string"/>
      <xs:element minOccurs="0" name="questionId" type="xs:string"/>
      <xs:element minOccurs="0" name="answerSHA256Hash" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SignResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="detachedSignature" type="tns:DetachedSignatureType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DetachedSignatureType">
    <xs:sequence>
      <xs:element minOccurs="0" name="Content" type="xs:base64Binary" xmime:expectedContentTypes="*/*"/>
    </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="ValidateCor">
    <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="document" type="tns:DocumentType"/>
      <xs:element name="detachedSignature" type="tns:DetachedSignatureType"/>
      <xs:element name="signatureData" type="tns:SignatureDataType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ValidateCorResponse">
    <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="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: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="NotificationCategoryType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Email"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentFormatType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="XML"/>
      <xs:enumeration value="BIN"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RetentionStatusType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Default"/>
      <xs:enumeration value="HeldForEnforcement"/>
      <xs:enumeration value="Repudiated"/>
      <xs:enumeration value="Expired"/>
      <xs:enumeration value="Rescinded"/>
      <xs:enumeration value="Accepted"/>
      <xs:enumeration value="Approved"/>
      <xs:enumeration value="Pending"/>
      <xs:enumeration value="Rejected"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="AuditEvent" nillable="true" type="tns:AuditEvent"/>
  <xs:element name="AuditEventResponse" nillable="true" type="tns:AuditEventResponse"/>
  <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="Sign" nillable="true" type="tns:Sign"/>
  <xs:element name="SignResponse" nillable="true" type="tns:SignResponse"/>
  <xs:element name="CreateActivity" nillable="true" type="tns:CreateActivity"/>
  <xs:element name="CreateActivityResponse" nillable="true" type="tns:CreateActivityResponse"/>
  <xs:element name="ValidateCor" nillable="true" type="tns:ValidateCor"/>
  <xs:element name="ValidateCorResponse" nillable="true" type="tns:ValidateCorResponse"/>
  <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="AuditEvent">
    <wsdl:part name="parameters" element="ns1:AuditEvent">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="Sign">
    <wsdl:part name="parameters" element="ns1:Sign">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="CreateActivityResponse">
    <wsdl:part name="parameters" element="ns1:CreateActivityResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="CreateActivity">
    <wsdl:part name="parameters" element="ns1:CreateActivity">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="SharedCromerrException">
    <wsdl:part name="SharedCromerrException" element="ns1:SharedCromerrFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="ValidateCor">
    <wsdl:part name="parameters" element="ns1:ValidateCor">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="ValidateCorResponse">
    <wsdl:part name="parameters" element="ns1:ValidateCorResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuthenticateResponse">
    <wsdl:part name="parameters" element="ns1:AuthenticateResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="Authenticate">
    <wsdl:part name="parameters" element="ns1:Authenticate">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="AuditEventResponse">
    <wsdl:part name="parameters" element="ns1:AuditEventResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="SignResponse">
    <wsdl:part name="parameters" element="ns1:SignResponse">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="SignatureService2">
    <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="Sign">
      <wsdl:input name="Sign" message="tns:Sign">
    </wsdl:input>
      <wsdl:output name="SignResponse" message="tns:SignResponse">
    </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="ValidateCor">
      <wsdl:input name="ValidateCor" message="tns:ValidateCor">
    </wsdl:input>
      <wsdl:output name="ValidateCorResponse" message="tns:ValidateCorResponse">
    </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="SignatureService2ServiceSoapBinding" type="tns:SignatureService2">
    <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <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="Sign">
      <soap12:operation soapAction="Sign" style="document"/>
      <wsdl:input name="Sign">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="SignResponse">
        <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="ValidateCor">
      <soap12:operation soapAction="ValidateCor" style="document"/>
      <wsdl:input name="ValidateCor">
        <soap12:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="ValidateCorResponse">
        <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="SignatureService2Service">
    <wsdl:port name="SignatureService2Port" binding="tns:SignatureService2ServiceSoapBinding">
      <soap12:address location="https://encromerrtest.epacdxnode.net/shared-cromerr-ws/services/SignatureService2"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
