Связанный код хорошо работает в независимом консольном приложении, в то время как ошибки устраняются при попытке заставить его работать в архитектуре NSB. Я попытался протестировать то же самое внутри рабочего, а также независимо в тестовом консольном приложении. В любом случае это ошибка в строке - X509Certificate2 certificate = new X509Certificate2 (filePath, «*** key *** UeUHFxS»); Сообщение об исключении - System.Security.Cryptography.CryptographicException: «Система не может найти указанный файл. Код состоит из показанного кода и связанного вспомогательного файла для устройства Activate. Однако исключение составляет раздел для инициализации X509Certificate2 из пути и ключа файла pfx.
class Program
{
static void Main(string[] args)
{
try
{
string filePath = Path.GetDirectoryName(System.AppDomain.CurrentDomain.BaseDirectory);
filePath = Directory.GetParent(Directory.GetParent(filePath).FullName).FullName;
filePath = Path.Combine(filePath, @"Cert\TestCompany-qa.partner.client.siriusxm.com.pfx");
X509Certificate2 certificate = new X509Certificate2(filePath, "****key****");
SoapMessageHelper soapHelper = new SoapMessageHelper(certificate, @"https://api-ext-test.siriusxm.com/SAT/UpdateDeviceSatRefresh/v_1");
var test = soapHelper.ActivateDevice(new ActivateDeviceRequest()
{
SourceName = "12493",
ESN = "W26890HW",
TimeStamp = DateTime.UtcNow,
TrasanctionId = System.Guid.NewGuid().ToString()
});
XmlDocument doc = new XmlDocument();
doc.LoadXml(test);
foreach (XmlNode node in doc.DocumentElement.ChildNodes)
{
foreach (XmlNode locNode in node)
{
if (locNode.Name == "ns0:responseRefreshDevice")
{
string resultCode = locNode["ns0:resultCode"].InnerText;
string errorCode = locNode["ns0:errorCode"].InnerText;
string errorMessage = locNode["ns0:errorMessage"].InnerText;
Console.WriteLine(resultCode + errorCode + errorMessage);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(
String.Format("Exception occurred{0}Message:{1}{2}Inner Exception: {3}", Environment.NewLine, ex.Message, Environment.NewLine, ex.InnerException));
}
}
}
"File exists." : "File does not exist."
- это твоя проблема. Выдается исключение, потому что код не может найти файл сертификата. - person Crypt32   schedule 24.07.2018