An open API service indexing awesome lists of open source software.

https://github.com/Llocer/llocer_ocpi

openEV OCPI 2.2.1 implementation
https://github.com/Llocer/llocer_ocpi

ocpi openev

Last synced: about 1 month ago
JSON representation

openEV OCPI 2.2.1 implementation

Awesome Lists containing this project

README

          

# llocer_ocpi

llocer_ocpi is a Free and Open Source librarian that allows implementation of OCPI 2.2.1 nodes.

The librarian elements can be split in two levels:
- the HTTP servlet to handle OCPI request and the HTTP request builder to send OCPI request.
- the implementation of the OCPI sender/receiver interfaces described in the specification.

See repository [llocer_ev_examples](https://github.com/Llocer/llocer_ev_examples) for usage examples.

## configuration

Optional configuration file is /etc/ocpi.conf. It must be in json format. The default is:

{
"public_url": "http://127.0.0.1:8080",
"private_uri_length": 0,
"pagination_limit": 100,
"testing_no_change_credentials": false
}

where:

- public_url: The server public address (not including the trailing path of the OCPI servlets and query arguments)
- private_url_length : The length of the path of the server private address. Usually, if the server is not behind a loadbalancer or similar, the public and private addresses will be the same.
- pagination_limit: maximum number of items to be sent in a pagination request.
- testing_no_change_credentials: for testing only, a new token will be not generated when new credentials are received from a peer node.

Example:

Assume you public server address is "https://my.com/cso". The loadbalancer redirects the request to a private server with address "https://192.168.21.21:8080/foo/bar" and you have an OCPI servlet serving request on it at "http://192.168.21.21:8080/foo/bar/cso/ocpi/...". Configuration must be:

- "public_url": "https://my.com/cso"
- "private_url_length": 2 (number of elements in "/foo/bar")

## URL of module interfaces

Following with the same example, if the OCPI servlet is defined in web.xml as:


CpoOcpiServlet
/ocpi/*

the initial versions query must be sent to:

`https://my.com/cso/ocpi`

and the endpoints query for OCPI 2.2.1 must be sent to:

`https://my.com/cso/ocpi/221`

The URL's for the OCPI modules follows the syntax:

`////`

by example, a location PUT to the receiver interface with countryCode=ES, partyId=PID and locationId=myLocation must use the following address:

`https://my.com/cso/ocpi/221/locations/ES/PID/myLocation`