Hilfe
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

REST API lehnt Verbindung zum Server ab

Simon
Autor ★★
11 Beiträge

Ich baue gerade an einer Anwendung mit der neuen REST API für meine Webseite: countless.info

 

Lokal funktioniert der Code, wenn ich die Website aber hochlade (auf countless-new.herokuapp.com) erhalte ich in der Konsole die Fehler - Screenshot anbei, d.h. comdirect lehnt die Verbindung vom Server ab.

 

Hat jemand eine Idee woran das liegen könnte?

 

Vielen Dank für die Hilfe

29 ANTWORTEN

SMT_Jan-Ove
ehemaliger Mitarbeiter
4.279 Beiträge

Hallo @Simon,

 

herzlich willkommen in unserer Community! 🙂

 

Ich habe deine Anfrage gerne an unser API-Team weitergegeben und melde mich zurück, sobald ich eine Antwort für dich habe. 🙂

 

Beste Grüße

Jan-Ove

Weinlese
Mentor ★
1.456 Beiträge

@Simon 

Du versuchst anscheinend, von Deiner eigenen Domain per Ajax-Request auf die Webseite der comdirect zuzugreifen. Sofern das vom comdirect-Server nicht explizit erlaubt wird (was es in aller Regel nicht wird), verhindert das Sicherheitskonzept Deines Browsers diesen Zugriff (siehe Same-Origin-Policy).

 

Eine mögliche Lösung wäre, den Zugriff über Ajax an Deinen eigenen Server weiterzuleiten, der dann wiederum selbst über die comdirect-API auf die Daten zugreift.

 

Viele Grüße

Weinlese

SMT_Jan-Ove
ehemaliger Mitarbeiter
4.279 Beiträge

Hallo @Simon,

 

die Rückmeldung unserer Kollegen deckt sich mit der Beschreibung von @Weinlese. 🙂

 

Beste Grüße

Jan-Ove

Simon
Autor ★★
11 Beiträge

@Weinlese  Prima, vielen Dank für die schnelle Hilfe. Ich werde es ausprobieren und melde mich, sollte ich es hinbekommen haben / bzw. erneut stolpern.

 

@SMT_Jan-Ove Ok, vielen Dank. Mal schauen ob ich jetzt weiter komme.

Simon
Autor ★★
11 Beiträge

@SMT_Jan-Ove @Weinlese Leider klappt es auch dann nicht, wenn der Aufruf nicht client-seitig via AJAX durchgeführt wird, sondern serverseitig über eine node.js-Anwendung...

 

Gibt es noch weitere Ideen woran das liegen könnte?

 

Gibt es hier im Forum jemanden, der mir bei der Unsetzung helfen würde?

 

Ich bin wirklich am verzweifeln... seit September wird die Arbeit nun schon nicht mehr aktualisiert : (

 

Vielen Dank,

Simon

Weinlese
Mentor ★
1.456 Beiträge

@Simon 

Welchen Fehler erhältst Du beim serverseitigen Aufruf? Ohne zusätzliche Informationen wird es schwierig zu helfen. Vielleicht wird die Authentifizierung nicht korrekt umgesetzt?

 

Es gibt in der Community noch einen Thread zum Thema. Dort haben bereits einige Nutzer vermeldet, die API erfolgreich genutzt zu heben. Prinzipiell sollte es also klappen.

 

Viele Grüße

Weinlese

Simon
Autor ★★
11 Beiträge

@Weinlese vielen Dank für die schnelle Rückmeldung. Die Fehlermeldung ist die gleiche wie am Anfang. 

 

Ich erhalte noch keine Fehlermeldung von der API an sich, weil der Zugriff auf die API grundsätzlich abgelehnt wird.

 

Der Fehler ist genau der, den ich bereits ins Forum gestellt habe (der Screenshot von der JavaScript-Konsole).

 

Ich klicke mich mal durch den Thread durch, Danke für den Tip.

Weinlese
Mentor ★
1.456 Beiträge

@Simon  schrieb:

Der Fehler ist genau der, den ich bereits ins Forum gestellt habe (der Screenshot von der JavaScript-Konsole).


Das kann eigentlich nicht sein, weil Dein Client-Script jetzt gar nicht mehr auf den comdirect-Server zugreifen dürfte. Der XHR-Fehler ist ja offensichtlich einer, der im Browser auftritt. Wenn überhaupt müsste ein Fehler irgendwo in Deinem Server-Code auftreten, weil nur der jetzt auf den comdircet-Server zugreifen sollte. Am besten Du lädst irgendwo Deinen Code hoch und verlinkst ihn hier, wenn das möglich ist.

 

Viele Grüße

Weinlese

Simon
Autor ★★
11 Beiträge

@Weinlese - vielen Dank

für dir schnelle Antwort.

 

Die Anwendung ist mit node.js geschrieben, weshalb auch der serverseitige Code JavaScript ist.
 
Die Funktion zum Aufbau der Verbindung sieht wie folgt aus: 
 
function establishConnection() {

//Zugangsdaten sind im Codebeispiel mit falschen Daten ersetzt
var data = "client_id=User_1234567890&client_secret=1234567890C&grant_type=password&username=12345678&password=123456";

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});

xhr.open("POST", "https://api.comdirect.de/oauth/token");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Accept", "application/json");

xhr.send(data);

}