<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn://x-artefacts-gnivc-ru/inplat/servin/OpenApiMessageConsumerService/types/1.0">
<SOAP-ENV:Body>
<ns1:GetMessageRequest>
<ns1:Message/>
</ns1:GetMessageRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
$daraArray = array('Message' => '
<AuthRequest xmlns="urn://x-artefacts-gnivc-ru/ais3/kkt/AuthService/types/1.0" xsi:schemaLocation="urn://x-artefacts-gnivc-ru/ais3/kkt/AuthService/types/1.0 schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AuthAppInfo>
<MasterToken>'.$modx->getOption('MASTER_TOKEN_ISSUED_BY_FNS').'</MasterToken>
</AuthAppInfo>
</AuthRequest>
');
using RMISCardReader.Reader;
using RMISCardReader.Webserver;
using System;
using System.Runtime.InteropServices;
namespace RMISCardReader
{
class KardReaderClient
{
public struct PersData
{
public string DATEOFBIRTH;
public string LASTNAME;
public string FIRSTNAME;
public string MIDDLENAME;
public string GENDER;
public string BIRTHPLACE;
public string NUMBERSNILS;
public string NUMBEROMS;
}
public static PersData outData = new PersData();
public static MainDocument outDocument = new MainDocument();
public static personInfo personInf = new personInfo();
public static string readerList = "[]";
[DllImport(SettingLoader.PathToDLLFile)]
public static extern void getVersion(out string version);
[DllImport(SettingLoader.PathToDLLFile)]
public static extern int Authorization(string password);
[DllImport(SettingLoader.PathToDLLFile)]
public static extern int GetReaderList(out string readers);
[DllImport(SettingLoader.PathToDLLFile)]
public static extern int GetPersData_(out PersData data, int flags);
[DllImport(SettingLoader.PathToDLLFile)]
public static extern int GetMainDocument_(out MainDocument data);
[DllImport(SettingLoader.PathToDLLFile)]
public static extern void ReleasePersData(out PersData data);
[DllImport(SettingLoader.PathToDLLFile)]
public static extern void ReleaseMainDocument(out MainDocument data);
public static void updatePersonInfo()
{
try
{
if (CardReaderStatus.getCardStatus(CardReaderStatus.getReaderList()[0])) //проверяет есть ли карта в ридере
{
// ошибка возникает тут
PersData data;
int error = GetPersData_(out data, 0x3f); //функция из DLL
Console.WriteLine("Ошибка GetPersData_: " + error);
if (error != 36864)
{
Console.WriteLine("Не удалось получить данные о пользователе карты: " + error);
}
}
else
{
Console.WriteLine("Попытка обновить данные без карты");
}
}
catch(Exception ex){
Console.WriteLine("Мое исключение KardReaderClient: " + ex.Message);
}
}
}
}
// ошибка возникает тут
PersData data;
int error = GetPersData_(out data, 0x3f); //функция из DLL
Console.WriteLine("Ошибка GetPersData_: " + error);
if (error != 36864)
{
Console.WriteLine("Не удалось получить данные о пользователе карты: " + error);
}
Программа "[23044] CardReader.exe" завершилась с кодом -1073740940 (0xc0000374).