Ich habe eine Mastercard SDK zu meinem asp.net Core API hinzugefügt. Der Aufruf von api funktioniert auf meinem lokalen Rechner einwandfrei. Aber wenn es auf Azure bereitgestellt wird, wird der obige Fehler ausgegeben.Die angegebene CGI-Anwendung hat einen Fehler festgestellt und der Server hat den Prozess beendet. Azure
Ich habe alles versucht.
Ich habe einen Debugger an die Live-Site angeschlossen. Es wirft Fehler, wenn ich SetAuthentication
public MatchType RequestCall(string consumerKey, string keyAlias, string keyPassword)
{
byte[] certificateBytes = GetCertificateStream();
ApiConfig.SetAuthentication(new OAuthAuthentication(consumerKey, certificateBytes, keyAlias, keyPassword));
ApiConfig.SetSandbox(true);
RequestMap map = GenerateRequestMap();
TerminationInquiryRequest response = TerminationInquiryRequest.Create(map);
return GetMatchType(response);
}
public byte[] GetCertificateStream()
{
var resourceName = typeof(TerminationMatchInquiry).GetTypeInfo().Assembly.GetManifestResourceNames()[0];//Get certificate resource name
using (Stream CertStream = typeof(TerminationMatchInquiry).GetTypeInfo().Assembly.GetManifestResourceStream(resourceName))
{
byte[] RawBytes = new byte[CertStream.Length];
for (int Index = 0; Index < CertStream.Length; Index++)
{
RawBytes[Index] = (byte)CertStream.ReadByte();
}
return RawBytes.ToArray();
}
}
Haben Sie Ihre Fehlermeldung googlen? Es gibt einige vielversprechende Ergebnisse. – Crowcoder
Oh ja. Aber immer noch kein Glück – maxspan
Ich bin überrascht, dass sogar kompiliert. Ich kann keine Überladung von 'OAuthAuthentication' finden, die ein Byte-Array im zweiten Argument übernimmt. Haben Sie versucht, den Pfad zu Ihrer .p12-Datei zu verwenden, anstatt ihn aus Ressourcen zu lesen? – Crowcoder