Project

General

Profile

Actions

Support Request #14214

closed

[EBPSSD-1329] RPC via JavaScript in Browser

Added by hidden almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Customer:
ELEKTROBIT
Department:
SUPPORT
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Topic:
ADTF::RPC
FAQ Links:

Description

Supportanfrage

ich habe eine Anfrage zu der ich in der Doku auch nicht viel gefunden habe:

ADTF3 hat einen RPC Mechanismus, damit adtf_control mit adtf_launcher kommunizieren kann.
Dieser RPC Mechanismus basiert auf jsonrpc-cpp, welcher wiederum http POST benutzt.
Meine Hoffnung: http POST kann auch von einer simplen Website genutzt werden, um z.B. das Runlevel der ADTF Instanzen anzuzeigen und das Runlevel zu ändern.

Leider ist die Dokumentation dazu etwas dünn und nach ersten
Versuchen klappt die Kommunikation noch nicht.

Grunsätzlich habe ich versucht in einer lokalen html-Datei
mit JavaScript XMLHttpRequest zu nutzen, um das Runlevel auszulesen

Firefox liefert mir z.B: folgende Fehlermeldung:
Cross-Origin
Request Blocked: The Same Origin Policy disallows reading the remote resource
at http://localhost:8000/system. (Reason: CORS
request did not succeed).

Frage:
Gibt es Einschränkungen, was mit simplen HTML5/JavaScript möglich ist? (würde im ersten Schritt Abhängigkeiten zu PHP oder Bibliotheken vermeiden wollen, um eine einfache Inbetriebnahme zu ermöglichen)
Wie kann/muss ich den RPC-Server konfigurieren, damit die Kommunikation mit dem Browser klappt? (Ggf. sind hier aus Sicherheitsgründen Features deaktiviert)

Er nutzt ADTF 3.11.2. Er probierte auch die Python basierte Communication in den Beispielscripten:

just tried python and it simply worked:
import requests
url = 'http://localhost:8000/system'
myobj = {'id': '1', 'jsonrpc': '2.0', 'method': 'GetRunlevel'}

x = requests.post(url, json = myobj)
print(x.text)

However it would be cool having something which just need a browser without any further dependencies. Just HTML5, JavaScript

Gibt es eine Möglichkeit ADTF simple über den Browser steuern zu können?

Lösung

Das klappt auch mt einem Browser, mann muss allerdings CORS zulassen. Browser lassen eine Website standardmäßig keine Verbindung zu einem anderen Server aufbauen. Das kann man entweder dadurch lösen, dass man die Datei über einen Webserver ausspielt und entsprechende Header setzt oder aber man installiert sich eine Browser Erweiterung und deaktiviert damit die CORS Einschränkungen, z.b. https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf

Actions #1

Updated by hidden almost 3 years ago

  • Status changed from New to In Progress
  • Customer set to ELEKTROBIT
  • Department set to SUPPORT
  • Topic set to ADTF::RPC
Actions #2

Updated by hidden almost 3 years ago

Hi Anja,

das klappt auch mt einem Browser, mann muss allerdings CORS zulassen. Browser lassen eine Website standardmäßig keine Verbindung zu einem anderen Server aufbauen. Das kann man entweder dadurch lösen, dass man die Datei über einen Webserver ausspielt und entsprechende Header setzt oder aber man installiert sich eine Browser Erweiterung und deaktiviert damit die CORS Einschränkungen, z.b. https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf

Grüße,

Martin

Actions #3

Updated by hidden almost 3 years ago

  • Private changed from No to Yes
Actions #4

Updated by hidden almost 3 years ago

Hallo Anja,

benötigst du noch weitere Unterstützung? Ansonsten würden wir das Ticket schließen.

Grüße
Margarete

Actions #5

Updated by hidden almost 3 years ago

  • Status changed from In Progress to Customer Feedback Required
Actions #6

Updated by hidden almost 3 years ago

Hallo Margarete,

ich habe noch keine Rückmeldung bekommen.

Grüße,
Anja

Actions #7

Updated by hidden almost 3 years ago

Hallo,

das ticket kann geschlossen werden. Danke.

Viele Grüße,
Anja

Actions #8

Updated by hidden almost 3 years ago

  • Project changed from 7 to Public Support
  • Description updated (diff)
  • Status changed from Customer Feedback Required to To Be Closed
  • Private changed from Yes to No
  • Resolution set to Solved Issue
  • Affected Products ADTF 3.11.2 added
Actions #9

Updated by hidden almost 3 years ago

  • Status changed from To Be Closed to Closed
Actions

Also available in: Atom PDF