https://github.com/phax/peppol-lime
An up-to-date implementation of the PEPPOL LIME protocol
https://github.com/phax/peppol-lime
Last synced: 4 months ago
JSON representation
An up-to-date implementation of the PEPPOL LIME protocol
- Host: GitHub
- URL: https://github.com/phax/peppol-lime
- Owner: phax
- Archived: true
- Created: 2015-09-25T13:07:19.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-26T14:23:12.000Z (about 9 years ago)
- Last Synced: 2025-07-05T23:16:06.839Z (10 months ago)
- Language: Java
- Size: 563 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# peppol-lime
An up-to-date implementation of the PEPPOL LIME protocol.
It is based on the discontinued CIPA libraries.
No new functionality is added, but the existing dependencies are kept up-to-date.
This version of the LIME server uses AS2 to forward messages to foreign APs. START is no longer supported!
Latest version: **3.0.1** as of 2016-01-21
**Note**: 3.0.1 will be the last release except some issues or pull requests are opened. This means this project is now in "low effort maintenance" mode :)
**Note**: for the fun of it I updated the head revision to 3.5.0-SNAPSHOT with updated Java 8 bindings (untested).
# Project layout
This project has the following sub-projects
* `peppol-lime-api` with the most generic API and a lot of JAXB generated classes (JAR library)
* `peppol-lime-client` is the client API for LIME. See the test class `MainLimeClient` for a fully working example application.
* `peppol-lime-server` is the LIME server application. It is a web application and requires an application server like Tomcat or Jetty to run.
# Building
To build the project you need at least Java 1.7.
Simply call `mvn clean install` on the commandline to build all projects.
# Configuration
The LIME server uses the file `lime-server.properties` for configuration. The default file resides in the folder `src/main/resources` of the `peppol-lime-server` project. You can change the path of the properties file by setting the system property `lime.server.properties.path` to the absolute path of the configuration file (e.g. by specifying `-Dlime.server.properties.path=/var/www/limeserver.properties` on Java startup). The name of the file does not matter, but if you specify a different properties file please make sure that you also specify an absolute path to the keystore!
Details of the configuration items:
* **`sml.id`**: the ID of the SML to use. Maybe one of the following: `digitprod` for the DIGIT production SML, `digittest` for the DIGIT test SMK or `local` for a locally running SML on `http://localhost:8080`. If not specified, the default is `digitprod`.
* **`as2.keystore.path`**: the path to the keystore for the AS2 message sending. Must be of type PKCS12 and must be a writable path, as the keystore is modified during runtime. If it is a relative path, it is relative to the web application (relative to `src/main/resources` in development mode, depending on the application server in production mode). It is preferred that this is an **absolute path to the keystore file**.
* **`as2.keystore.password`**: the password needed to access the keystore.
* **`as2.sender.keyalias`**: the alias of the sender key in the key store. The password for the key must be the same as the key for the whole keystore.
* **`as2.sender.id`**: the AS2 ID of the sender. For PEPPOL this MUST be the common name contained in the certificate (`APP_....`).
* **`as2.sender.email`**: the AS2 email address of the sender.
* **`as2.sign.algorithm`**: the signing algorithm to use. Must be one of the following: `md5`, `sha1`, `sha-256`, `sha-384` or `sha-512`. If none of these values is specified, the value defaults to `sha1`.
* **`lime.storage.path`**: the absolute directory where the LIME inbox directory should be created. If this property is not defined the path is defaulted to the value of `ServletContext.getRealPath ("/")`.
* **`lime.service.url`**: the absolute URL of LIME service how it is publicly accessible. If this property is not defined or empty the URL is dynamically build based on the current `HttpServletContext`. If this property is defined, it must end with `/limeService` as this is the Webservice local name.
---
My personal [Coding Styleguide](https://github.com/phax/meta/blob/master/CodeingStyleguide.md) |
On Twitter: @philiphelger