Was ist der beste Weg, um einen Cross-Domain-REST-Service innerhalb einer XPage zu nennen, ich habe durch die Social Enabler App gesucht, aber in diesem Fall muß ich auch Senden Sie eine Zeichenfolge mit Inhalt an diesen Dienst auf einem anderen Server, und rufen Sie dann die Antwort ab, bei der es sich um JSON handelt, und parsen Sie sie.POSTen zu Cross-Domain-REST-Service aus einem XPage
Antwort
Es gibt mehrere Möglichkeiten:
- eine XPage erstellen, die json erzeugt. Dies nennt man xagent (more info)
- Erstellen Sie eine Bohne in Anwendungsbereich Wich enthält Code zum Abrufen von Daten aus te Service direkt die Java-URL-Verbindung und analysiert die json in einem Vektor oder einem anderen Java-Objekt können Sie mit der Arbeit
- Tun Sie dasselbe wie 2, außer dass Sie die Instanz der URL-Verbindung direkt im Ereigniscode konstruieren.
Für beide Option 2 und Option 3 könnten Sie Code wie diese
URL url = new URL(http://yourresthot/restapi);
HttpCOnnection conn = url.openConnection();
if (conn.getResponseCode() != 200) {
throw new IOException(conn.getResponseMessage());
}
// Buffer the result into a string
BufferedReader rd = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();
conn.disconnect();
return sb.toString();
domänenübergreifende REST-Service ist von der Client-Seite Javascript nicht möglich.
Es gibt eine Abhilfe für das, mit JSONP wenn der Remote-Dienst dies unterstützt. Es besteht im Wesentlichen aus einem Skript-Tag, das auf eine andere JavaScript-Ressource auf der entfernten Site verweist, die von Browsern erlaubt wird.
Other than that, wenn Sie ein Server-Seite REST-Proxy verwenden, können Sie den Remote-Service von Ihrem XPages nennen. Diese Methode wird beispielsweise für iNotes zur Integration in Sametime oder Quickr verwendet.
http://www-10.lotus.com/ldd/lqwiki.nsf/dx/iNotes_proxy_configuration_qd85
Diese Seite zeigt, wie die eingebettete Proxy für Ihren Dienst zu konfigurieren.
Sie können java URLConnection verwenden, um die json-Daten mit ssjs abzurufen, und mit "eval" oder "toJSON" können Sie sie in eine Wiederholung einfügen und das Ergebnis mit einem berechneten Feld anzeigen.
Option 1 verwenden: JSONP Beispiel: http://openntf.org/XSnippets.nsf/snippet.xsp?id=xsnippets-widget Code: http://xsnippets.openntf.org
Option 2: Domino/iNotes-Proxy http://www.openntf.org/Projects/pmt.nsf/DA2F4D351A9F15B28625792D002D1F18/%24file/SocialEnabler111006.pdf Abschnitt 05.01
Option 3: Ihr eigenes Generikum Proxy als Plugin http://www.openntf.org/Projects/pmt.nsf/DA2F4D351A9F15B28625792D002D1F18/%24file/SocialEnabler111006.pdf Abschnitt 05.02
Option 4: Wie oben beschrieben. Implementieren Sie den serverseitigen Code für den Zugriff auf andere Server.
- 1. Wert kann nicht aus einem Bearbeitungsfeld in einem Registerkartenfenster auf einer xpage gelesen werden
- 2. xPage managedBean ODA-Anwendungsfehler
- 3. xpage Modal Dialog und sessionScopes
- 4. So entfernen Sie xPage Tabellenrahmen
- 5. XPage Langsamkeit, wenn Agent läuft
- 6. AJAX scheint zweimal zu posten
- 7. Set xPage dateTime Picker Größe
- 8. IHttpHandler auf ein Formular zu posten
- 9. Bindung ein Kontrollkästchen zu einem Modell, wenn ein Formular POSTen
- 10. Werte von einem Mehrfachwert posten Wählen Sie
- 11. Wie posten Sie httppofiledfile zu webapi
- 12. Xpage lesen JSON-Kontext - http POST-Anfrage
- 13. XPage Java Object Recycle in SSJS
- 14. jQuery.post() Daten nicht "posten"
- 15. Anzeige des gleichen Dokuments in verschiedenen xpage in verschiedenen Registerkarte
- 16. Wie kann ich mit einem HTTP-Body richtig posten?
- 17. Werte aus einem HTML-Formular posten und in einer Flask-Ansicht darauf zugreifen
- 18. Mehrere Bilder zu tumblr mit tumblr.js api posten
- 19. div an Webseite anfügen - Ajax verwenden, um Daten zu posten
- 20. Nicht möglich, Daten in. JSON-Datei zu posten
- 21. URL fro posten Benutzerdefinierte
- 22. UIActivityController Auf Facebook posten
- 23. WCF, POSTen JSONized Daten
- 24. Wie posten Sie eine SOAP-Anfrage von einem Browser?
- 25. Auf Google+ posten (Google plus)
- 26. HttpPost nicht korrekt posten
- 27. Wie posten Sie Array auf einem PHP-Server in Android?
- 28. AFNetworking posten JSON-Arrays als mehrere Wörterbücher mit einem Eintrag
- 29. POSTen von Angular zu .net WebAPI ist immer null
- 30. Benutzern erlauben, BBCode oder HTML mit WYSIWYG zu posten?
Dank - am Ende habe ich eine Managed Bean (was ich nie getan hatte, sah aber, wie man mit http://per.lausten.dk/blog/2012/02/creating-your-first-managed-bean -for-xpages.html), wo ich die POST-Verbindung hergestellt habe, und dann habe ich in der XPage die Bean verwendet, um Daten durch Aufruf zu erhalten. Ich habe dann die JSON-Daten in der SSJS-Schaltfläche verarbeitet. Das funktioniert jetzt gut. – Anil