Skip to content
This repository was archived by the owner on Dec 11, 2022. It is now read-only.

java-ebms-adapter/ebms-adapter-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

license Apache%202 blue ebms adapter core

Introduction

This project concerns a library that implements the ebMS2 communication standard.

It can easily be used through Spring DI (within a Java project) or through its SOAP interface. Another project in this group forms an example of its use within a Tomcat web application.

A database is needed for storing CPAs (Collaboration Protocol Agreement) and messages (because the adapter implements reliable messaging). Support for several databases is built-in.

Table 1. Supported databases
DB Minimal version

HSQLDB

2.2.9

MySQL

5.5

MariaDB

5.5

PostgreSQL

9

MSSQL

2008 R2

Oracle DB

11

To simplify CPA administration, adapter configuration and to enable easy testing and traffic inspection, the ebMS Admin Console is also available.

Features

Implemented

  • Core Functionality

    • Security Module

      • Signature

      • Encryption

    • Error Handling Module

    • SyncReply Module

  • Additional Features

    • Reliable Messaging Module

    • Message Status Service

    • Message Service Handler Ping Service

  • HTTP(S) Protocol

  • Separate Error and Acknowledgement Messages

Not implemented

  • Core Functionality

    • Packaging

  • Additional Features

    • Message Order Module

    • Multi-Hop Module

  • Multiple Delivery Channels per Action

Remarks

  • Duplicate messages will always be eliminated

  • Only standalone MSH level messages are supported

  • Only acts as ToPartyMSH, not as nextMSH

  • Only 1 (allPurpose) Channel per Action is supported

  • Manifest can only refer to payload data included as part of the message as payload document(s) contained in a Payload Container

  • Extendable to support other communciation protocols

Prerequisites

Download and copy the following libraries:

  • c3p0-0.9.1.2.jar

  • Depending on your database, use:

    • hsqldb-2.2.9.jar

    • mysql-connector-java-5.1.18.jar

    • mariadb-java-client-1.1.9.jar

    • postgresql-9.1-901.jdbc3.jar or postgresql-9.1-901.jdbc4.jar

    • jtds-1.2.4.jar or sqljdbc4-201004.jar

    • ojdbc6-11.2.0.1.0.jar (and orai18n-11.2.0.1.0.jar)

Usage

You can use the ebMS Adapter in your own application by adding its JAR as a dependency. Use nl/clockwork/ebms/main.xml as a starting point. You will have to generate your own CPAs and implement a specific application flow for your purposes.

At the defined endpoint the application will receive an object of type EbMSMessageContent that contains:

  • EbMSMessageContext (needed to reply on this message)

  • properties (contain the properties from the ebMS Header defined in application property ebms.message.header.properties

  • attachments (the actual ebMS Message Content)

The application can instantiate a new message or reply to a received message by calling the EbMSMessageService. It should wrap the content of the message in an object of type EbMSMessageContent as an attachment. If the message is a response to a previously received message you have to include the EbMSMessageContext of the previous message. The ebMS Adapter will then correlate these messages. If the message is a new message you should leave the EbMSMessageContext empty.

History

This project was originally started in 2011 on SourceForge.

About

Open Source implementation of an ebMS2 Adapter in Java.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages