none
Problem mit Zugriff auf REST-API RRS feed

  • Frage

  • Hallo,
    hier ist zwar nicht mehr viel los, aber ich versuch es trotzdem einmal.
    Beim Versuch Daten an einen REST-API Endpoint zu senden hänge ich total fest.
    Lt. Schnittstellenbeschreibung müssen im Header die beiden Optionen "Accept" und "Content-Type" auf "application/xml" gesetzt werden.

            function fnSendTest()
            {
                fetch("/tokenExchange.xml")
                    .then(response => response.text())
                    .then((data) =>
                    {
                        fetch(Url, {
                            method: 'POST',
                            //mode: 'no-cors',
                            headers: new Headers(
                                {
                                    'Accept': 'application/xml',
                                    'Content-Type': 'application/xml'
                                }),
                            body: data
                        })
                            .then(
                                response => { console.log("Response: " + response.status + " " + response.statusText + ", Type:" + response.type); }
                            )
                            .catch(
                                err => console.log("Fehler: " + err)
                            )
                    })
            }
    


    Dann erhalte ich jedoch eine Fehler 400: Bad Request mit der Servermeldung:

    An HTTP protocol violation was detected and your request was denied.

    und es wird ein CORS-Fehler geworfen:

    Access to fetch at 'https://api-test.onlineszamla.nav.gov.hu/invoiceService/tokenExchange' from origin 'http://localhost:55613' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

    Lasse ich den Header weg oder schalte ich no-cors ein (was lt. MDN den Header obsolet macht), dann bekomme ich Fehler 500: Internal Server Error und der Server gibt die Meldung "Cannot consume content type" zurück.

    Also egal was ich mache, es funktionert nicht. Hab es auch mit XMLHttpRequest versucht, aber bringt auch nix.

    Es ist ja nicht so, dass ich mit Webservices keine Erfahrung habe (hab auf beiden Seiten schon etwas geschrieben), aber ich komm hier einfach nicht weiter.

    Ich hab das einmal zum Testen einen Kollegen mit PHP (Curl) versuchen lassen, damit kommt er durch.
    Hab irgendwo gelesen, dass das mit PHP irgendwie anders abläuft.
    Aber mit PHP hab ich gar nix am Hut. Ich wollte es eben mit JavaScript und oder VB.NET lösen.

    Hab auch schon einmal direkt an das HelpDesk des Anbieter zwei Anfragen abgesetzt, aber da kommen immer nur die Standardantworten mit Verweis auf die Schnittstellenbeschreibung. Die ist allerdings 145 Seiten lang und mein technisches Englisch ist auch nicht das Beste.

    Vielleicht hat ja jemand eine Idee?

    Ich würde auch gerne gegen einen Kostenvoranschlag professionelle Hilfe annehmen.

    Vielen Dank.


    Viele Grüße, Volker

    Donnerstag, 17. Januar 2019 08:09

Alle Antworten