== Apache OAIPMH Example

This example shows how to use the consumer and producer component to harvest data from a repository using the OAIPMH protocol. The repository to be harvested is ArXiv, which contains preprint information for scientific articles and is widely known on the web. The example first queries the collections available in the repository. From the available collections, it filters those that are identified as "Mathematics" and from their identifier it extracts the titles of the publications contained in this collection.

== How to run

You can run this example using

    mvn compile exec:java

== More information about the camel-oaipmh Component.

You can find more information about camel-OAIPMH at the website: https://github.com/apache/camel/blob/master/components/camel-oaipmh/src/main/docs/oaipmh-component.adoc

== More information about OAIPMH protocol

You can find more information about OAIPMH protocol at the website: http://www.openarchives.org/OAI/openarchivesprotocol.html

== More information about Apache Camel

You can find more information about Apache Camel at the website: http://camel.apache.org/

=== Help and contributions

If you hit any problem using Camel or have some feedback, then please
https://camel.apache.org/support.html[let us know].

We also love contributors, so
https://camel.apache.org/contributing.html[get involved] :-)

The Camel riders!
