2016-08-02 15 views
4

Ich versuche, eine JSON-Datei aus dem Dateisystem abzuholen und versuche, die Datei in die Marklogic-Datenbank einzufügen.Camel + marklogic ohne Marklogic Inhalt Pumpe

<route id="file_upload"> 
    <!-- incoming requests from the file is routed --> 
    <from uri="file:/E:/camel/input"/> 
    <to uri="http://localhost:8005/v1/documents?uri/patents/test.json"/> 
</route> 

Benutzername und Passwort: admin/admin zum Beispiel Marklogic Rest auf 8005

+2

Sie haben keine Frage gestellt. (Außerdem fehlt ein Gleichheitszeichen zwischen dem Parameternamen "uri" und seinem Wert in Ihrem Element "to".) – kcoleman

+0

@kcoleman Vielen Dank. Ich habe die Gleichen hinzugefügt. Ich erhalte eine Zielaufrufausnahme. Ich möchte Werte in marklogic einfügen, ohne die mlcp-Komponente mit der java/rest-API von marklogic zu verwenden. Wie kann ich das erreichen? Gibt es ein funktionierendes Beispiel, damit ich es mir ansehen kann? – Vikram

Antwort

5

läuft Es gibt Beispiele von Camel/Marklogic Integration in https://github.com/rjrudin/ml-camel-client. Diese verwenden einfach mlcp (als eingebettete Bibliothek) und XCC - ich füge jetzt ein REST-API-Beispiel hinzu und antworte zurück.

https://github.com/rjrudin/marklogic-camel-demo zeigt weitere Integration, obwohl die Konfig in Java statt XML ist (ich finde Java einfacher in Camel zu arbeiten) - beachten Sie, wie die HTTP Header und Querystring als Camel Header übergeben werden müssen, nicht als Teil der URI - https://github.com/rjrudin/marklogic-camel-demo/blob/master/src/main/java/org/example/util/RunCamel.java#L76. Das ist in der Camel http4 Seite dokumentiert - http://camel.apache.org/http4.html

+0

Hier ist ein Beispiel für Datei -> REST API - https://github.com/rjrudin/ml-camel-client/blob/master/src/main/resources/META-INF/camel-routes.xml#L35. Beachten Sie, dass XML als Inhaltstyp angenommen wird und ein POST ausgeführt wird, sodass Sie einen von MarkLogic generierten URI erhalten. Aber das ist nur ein Anfang, Sie können es basierend auf allen Parametern anpassen, die/v1/documents unterstützt. – rjrudin

+0

Danke für das Beispiel und die zur Verfügung gestellten Links. Bitte halten Sie mich auf dem Laufenden, wenn Sie ein Rest-API-Beispiel hinzufügen, es hilft noch mehr. – Vikram

+0

Ich konnte mit den Beispielen Sachen herausfinden, vielen Dank !!! – Vikram