This section details the differences between the various versions of FMS.
Version: 5.4.3 Release 1 pre-release
Server - Improved warning log message for 'Referenced partner not found'.
Server - Migrate from log4j to log4j2.
Server Partner Configuration ConnectionConfiguration.partnerIdentifier.organisation - added optional organisation element.
Server Partner Configuration ConnectionConfiguration.partnerIdentifier.address - added optional address element.
Server Partner Configuration ConnectionConfiguration.partnerIdentifier.phone - added optional phone element.
Server Partner Configuration ConnectionConfiguration.partnerIdentifier.email - added optional email element.
Server Partner Configuration ConnectionConfiguration.partnerIdentifier.email - added optional email element.
FMC - Bug fixes and improved certificate export functionality for both DER and PEM formats.
Version: 5.4.2 Release 8
5.4.2-8 p-mode search caching fix (unreproducible).
documentation - general editorial updates,
FMC - soften TLS protocol - default to TLSv1.2.
Version: 5.4.2 Release 7
FMC - add html directory to doc and include support jars including webservices-rt to the management console build distributions.
FMC - general improvements including keystore management.
documentation - general editorial updates including reference to new directory structures,
Version: 5.4.2 Release 6
Server - improved logging.
fmsconf - TLS_ARG now defaults to an empty string.
Server - fixed insert into request query syntax error. This occured in previous versions if the interfaceConfig.databaseConfig.enabled property is set to true resulting in failed inbound message processing.
Server - corrected audit log tables /home/fms/schema/postgresq/databaseAudit.sql to match latest database schema.
Server - updated comments in /home/fms/schema/postgresq/databaseCreation.sql.
Server - updated comments in /home/fms/schema/postgresq/databaseConfig.sql.
Server - updated comments in /home/fms/schema/postgresq/fms.sql.
Console - improved error response messages.
Server - implemented listening on all IP address when the configuration interfaceConfig.listener.Properties.HOST property is set to '*'.
Server - Configurable ConnectionConfiguration.partnerIdentifier.mailBox implemented as described in the Section called Partner Identifier Configuration in the Chapter called Configuring FMS.
Used for alternate messsage delivered directory based on the partnerIdentifier definition in the server configuration.
Server - Configurable ConnectionConfiguration.interfaceConfig.deliveredContentDir with similar functionality as the ConnectionConfiguration.partnerIdentifier.mailBox configuration setting.
Used for alternate messsage delivered directory based on the interfaceConfig definition in the server configuration.
Server - Support for TLSv1.3 ConnectionConfiguration.interfaceConfig.listener.Properties.ENABLED_SSL_PROTOCOLS if supported by the java runtime.
FMC Management Console - support for exporting certificates in PEM and DER (binary) format.
FMC Management Console - improved display of certificate details.
Version: 5.4.2 Release 5
Server - added command line option '-D53' to revert to the FMS version 5.3 deliveredContentDir format as follows
\fms_installation_dir/<cc:deliveredContentDir>/toPartner.URLtoPath()/conversationID/messageID \ |
\fms_installation_dir/<cc:deliveredContentDir>/fromPartner.URLtoPath()/toPartner.URLtoPath()/messageID \ |
Version: 5.4.2 Release 4
Server - fix missing sun/security/validator/KeyStores.class message on FMS server startup after upgrading JavaTM 8 release 212 or earlier to a later version. This resulting in FMS server not starting up.
Also see 5 for details on circumventing this problem with previous versions of the FMS server.
Server - fix incorrect log message Unable to load interface 'HTTP - AS4': NullPointerException while reading FMS Licence. This was caused by incorrect or unresolvable listener HOST property in the Administration interfaceConfig section.
Server - Various logging improvements - display stack trace only when FMS LOGGING_LEVEL is set to TRACE as set in the server main.conf settings.
Version: 5.4.2 Release 3
Server - Include fmsas4lc in the debian and ubuntu distribution.
Server - New log message 'Using default p-mode' in debug log level, if no p-mode match was found and DEFAULT_PMODE is set in the package configuration properties.
Server - Change log level from debug to info for 'Setting session pmode' log message
Server - Fixed configuration schema path. No longer needs to be terminated with a path separator.
Version: 5.4.2 Release 2
Server - Fixed metadata.fmd <fmd:Location> from relative to absolute path. Was broken in 5.4.2 Release 1.
Server - Fixed configuration delivered-content path. Was broken in 5.4.2 Release 1.
Server - enhanced file move capabilities both within and across file systems including versioning (backups) for duplicates.
Server - all logging messages for received messages saved now show normalised and absolute path.
Server - fixed an issue where a SOAP fault indicating an internal server error was returned with an HTTP 500 error on receiving an empty payload. This caused the following error in the server logs
com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.lang.NegativeArraySizeException
and SEVERE com.sun.xml.messaging.saaj.soap.AttachmentPartImpl getRawContentBytes() - SAAJ0577: Exception while trying to get the Raw content for this attachment sent to stderr.
Console - provided management console support for local PKCS12 keystores.
server - fixed support for PKCS12 keystores.
server - renamed fmsdaemon.deb to fmsdaemon to avoid confusion with debian and ubuntu install packages.
server - removed inadvertent log message displaying certificate alias names introduced in version 5.4.2 release 1.
server - database table for storing any payload URL associated with a message implemented.
server - database table for storing partner_agreements associated with a message implemented.
server - updated bouncy castle libraries.
server - fixed permission changes on directory /home/fms during installation.
server - fixed unnecessary call to savelog in server startup.
server - fixed ConversionPattern for dest3 in log4j.profile.as4.
server - clear previous session logging details such as ID, FROM and TO.
fmsconf - __FMS_Admin_DeleteCert command extended with optional result argument.
fmsconf - __FMS_Admin_GetCert command extended to return the full certificate detail if the optional full argument is provided.
Version: 5.4.2 Release 1
Server - Optional partner mailBox (inbox/outbox) for local/remote partners or the other way around for inbound/outbound messages implemented in schema/FMS/ConnectionConfiguration-1_0.xsd. Used for alternate delivered directory based on partnerIdentifier.
Server - added command line option '-w' to not write a new configuration in case of updates.
Server - Message payloads are now correctly moved from temp to destination across file systems.
client - New '-z' command line option for compressing payloads. If included on the command line then payloads will be compressed overriding the p-mode setting.
client - The "mimeType" (non compressed payloads), "schema" and "characterset" properties may now be set in the pmode businessInfo.PayloadProfile.mimeType, businessInfo.PayloadProfile.schemaFile and/or the businessInfo.PayloadProfile.CharacterSet settings where these will be used if not included in the properties passed in the '-a' command line argument. The appropriate businessInfo.PayloadProfile will be matched on the "content-id" property that SHOULD be included in any properties passed in the '-a' command line argument. Eg. the following illustrates a typical pmode businessInfo.PayloadProfile configuration
\ \ <pmode:PayloadProfile> \ <pmode:ContentID>sbdh-order</pmode:ContentID> \ <pmode:mimeType>application/xml</pmode:mimeType> \ <pmode:schemaFile>testSbdh.xsd</pmode:schemaFile> \ <pmode:CharacterSet>utf-8</pmode:CharacterSet> \ <pmode:maxSize>0</pmode:maxSize> \ <pmode:usage>expected</pmode:usage> \ </pmode:PayloadProfile> \ \ |
Server - table insert SQL statements now include the attributes being inserted. This to permit table attribute extension without affecting internal code.
Server - ConnectionConfiguration.partnerIdentifier.errorEndpointURL endpoint is now supported as follows
This endpoint indicates the address to which to send ebMS errors generated on the receiving MSH that receives a message that caused an error. This is typically the endpoint address of the MSH sending the message that caused an error on the receiving side. It will only be used if the asResponse is set to true and if the FMS connection interface database is configured. If ConnectionConfiguration.partnerIdentifier.errorEndpointURL is not set the P-Mode.errorHandling.receiverErrorsTo setting will be used. This element was ignored prior to FMS version 5.4.2.
Server - P-Mode Error handling endpoints are now supported as follows
P-Mode.errorHandling.asResponse
This boolean parameter indicates whether (if true) errors generated from receiving a message in error are sent over the back-channel of the underlying protocol associated with the message in error, or as a callback message in the case that the FMS connection interface is configured with a database connection. All error signals will be sent back on the backchannel if no database connection is configured. SOAP Faults are always sent back to the remote partner on the back channel. This element was ignored prior to FMS 5.4.2.
P-Mode.errorHandling.receiverErrorsTo
This endpoint indicates the address to which to send ebMS errors generated by the MSH that receives a message in error. This is typically the endpoint address of the MSH sending the message that caused an error. It will only be used if asResponse is set to true and if the FMS connection interface database is configured. This endpoint is overriden by the optional connection configuration partnerId errorEndpointURL if configured. This element was ignored prior to FMS version 5.4.2.
Server - Receipt acknowledgement triggers have been extended with the following available arguments
SERVICE.
ACTION.
SENDER_IDENTIFIER.
SENDER_ROLE.
RECIPIENT_IDENTIFIER.
RECIPIENT_ROLE.
SUBMITTED.
CONVERSATION_ID.
PATH.
Server - Improved message file saving permitting across filesystem saving of payloads, receipts and other signals between MESSAGE_TMP_DIR and delivered-content directories.
Server - interfaceConfig.deliveredContent directory structure changed from
../delivered-content/initiatingParty/message-id
to
../delivered-content/initiatingParty/respondingParty/message-id
where the partner strings have any preceding URI elements removed to ensure a consistent directory structure. Eg.
http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/defaultFrom
is transformed to just
defaultFrom
Server - connection configuration deliveredContent directory support for absolute paths for both *nix and Windows operating systems.
Server - Use the responding (local) partner keystore for determining the private decryption key. This permits the use of multiple private keys each associated with a separate initiating (remote) partner.
Server - Use the initiating (remote) partner keystore for determining the key to sign a receipt signal response for a received user message. This permits the use of multiple private keys where remote partners can then be issued with separate public keys as associated with their respective keystores. Note that keystores can be shared across partners permitting a single keystore with a single private/public key across any number of remote and local partners.
Server - The listener.aliasRef.alias value is now used to determine the SSL private key alias in the associated listener keystore if set. If not set (empty) then the SSL private key will default to the first private key located in the keystore.
Server - Listener activation now picks up the correct interface properties from the server configuration including the following.
<prop:entry prop:key="SSL_PROVIDER">SunJSSE</prop:entry>.
<prop:entry prop:key="SSL_NEED_CLIENT_AUTH">true</prop:entry>.
<prop:entry prop:key="SSL_VERSION">TLSv1</prop:entry>.
Server - Listening sockets are now closed down when shutting the server down and when closing and reloading interfaces from the management console.
Server - Logging now includes the thread id.
Server - Inbound messages using security setting keyReferenceType="IssuerSerialNumber" comparison on certificate issuer improved and is now based on RFC 3280 compliant comparison.
Client - improved usage message for the '-h' host command line option when using a TCP IPv6 address.
Server - A Receipt for a user message that could not be signed due to the private certificate alias being incorrectly configured on the server and as associated with the remote (previously local) partner configuration resulted in an EBMS:0102 error returned to the initiating party. The server now logs the error and responds with a SOAP fault indicating a server side problem to the client.
FMC - improved support for TCP IPv6 addresses when connecting to a server.
fmsconf - general improvements and no longer requires certificates if the server admin listener SSL_NEED_CLIENT_AUTH property is set to false.
Server - Implement multiple private certificates for signing outbound messages by locating the private signing certificate using the initiating (remote) partner aliasRef alias in the initiating partner keystore for signing receipts.
If the certificate alias could not be located in the initiating partner keystore search the responding (local) partner keystore using the responding partner aliasRef alias.
Previously only the responding partner keystore was searched permitting only a single private signing certificate for outbound receipts.
Server - Use the responding (local) partner keystore for locating the private certificate for decrypting inbound messages and not the listener keystore. If not located then try the listener keystore as previously done.
Server - Verify signature for inbound user message by searching the responding (local) partner keystore for a match. If not found search the listener keystore. If not found fail.
Server - Improved default configuration and p-mode creation on startup. Now based on default properties
Windows install - include send.bat and sample XML payload
Server - Fixed receiving message with unknown encryption key and unknown partner results NPE.
Server - Fixed error if pmode:queueMessages is missing from the configuration.
Server - Logging for Linux changed as follows
/var/log/fms/debug.log renamed to /var/log/fms/fms.log. General FMS server logs. Configured in /etc/fms/log4j.properties.as4.
/var/log/fms/out.log renamed to /var/log/fms/fms-stdout.log. Configured in /etc/fms/fmsdaemon (ubuntu, debian) or /etc/fms/fms.conf (RedHat, CentOS).
/var/log/fms/err.log renamed to /var/log/fms/fms-webservices.log. Detailed webservices soap and security logs. Configured as java.util.logging.FileHandler in /etc/fms/logging.properties
/var/log/fms/err.log renamed to /var/log/fms/fms-stderr.log. General webservices soap and security logs. Configured in /etc/fms/logging.properties (java.util.logging.ConsoleHandler aka stderr) and /etc/fms/fmsdaemon (ubuntu, debian) or /etc/fms/fms.conf (RedHat, CentOS).
/var/log/fms/error.log. Removed from log4j.properties.as4. Can be re-configured as dest3 in /etc/fms/log4j.properties.as4
Server logging configurations for Linux are now as follows
/etc/fms/log4j.properties.as4. FMS Server general logging configuration.
/etc/fms/logging.properties. FMS Server Webservices logging configuration.
FMC Logging
/etc/fms/log4j.properties.mc. FMC logging configuration (goes to stdout).
FMC - Fixed error not displaying cc:interfaceConfig. Due to invalid setting for cc:interfaceConfig.Optimisations.retryFrequency = 300000
Fixed java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.impl.SOAPTextImpl cannot be cast to javax.xml.soap.SOAPElement due to tabs or spaces in security encryption <xenc:CipherReference...> element of an encrypted incoming user message.
Version: 5.4.1 Release 3
client - improved logging
client - move atTime to before preparing message to be sent
client - optional '-messageFile soapFile.out' command line option to save outbound soap envelopes
client - fmsclient.as4.jar '-d' command line switch sets 'ALL' for logging.properties but no longer 'OFF' if not set. This so logging can be configured in logging.properties using 'java -Djava.util.logging.config.file=/home/fms/trigger/logging.properties'.
server - messages are now saved with thread_id in the case of no DB connections as follows as per directory setting in main.conf
<entry key="HTTP_REQUEST_STORAGE_DIRECTORY">/home/fms/http_requests/ </entry>
\ \ OUTGOING-01112017-074737.582-13_sig.dat \ INCOMING-01112017-074737.253-13_um.dat \ \ |
where '-13_' indicates the thread id. This to ensure uniqueness in filenames
server - fixed FMS_ARGS in /etc/fms/fms.conf
client - the following attachment partproperties set on the '-a' command line option are removed from the part properties for compressed payloads.
partProperties.remove("mimetype");
partProperties.remove("description");
This as the following duplicate properties are added when the payload is compressed
MimeType, Description, CompressionType
resulting in duplicate part properties.
server - Default properties updated to use latest signing and encryption algorithms.
server - Default configuration generation updated to use default properties.
server - Improved logging
Version: 5.4.1 Release 2
client - atTime '-at msecs' now works when timeouts are not set.
server - improve debug logging, and throw certificate error reason to be used in response if certificate validation failed due to a problem with the root certificate.
server - remove call to undocumented jdk.nashorn.internal.ir.debug.ObjectSizeCalculator as that causes errors (com.flame.shared.exceptions.PackingException: Unhandled exception Exception: Internal Server Error) with later versions of java (1.8.0_131...)
Version: 5.4.1 Release 1
client - new '-batch batchArgs.txt' command line option
The new optional command line option '-batch file' permits multiple messages to multiple locations during a single session. Each line contains separate client arguments for separate messages.
Invoke fmsclient.as4.jar as follows when using the new '-batch' command line option
\ \ java -jar fmsclient.as4.jar -batch batchArgs.txt -k ./fmstestcerts -ksp changeit -d \ \ |
where batchArgs.txt contain lines with fmsclient.as4.jar arguments for each separate message. Lines starting with a '#' character are ignored.
Improved logging - includes detail when compressing and securing messages.
Version: 5.4.0 Release 4
server - further improvements to large payload (up to 1.8GB) handling. Includes updates to webservices-rt including saaj-impl-1.3.28, mimepull to 1.9.1 and org.jvnet.staxex to 1.7.8
server and client - removed NLs surrounding <wsse:Security> ... </wsse:Security> tags - this in an attempt improve .NET interoperability.
server and client - HTTP_BAD_REQUEST (400) Responses eg. SOAP faults no longer blocked.
client - Improved truststore private key retrieval logging
Version: 5.4.0 Release 3
server - further improvements to large payload (up to 1.8GB) handling. Includes updates to webservices-rt including saaj-impl-1.3.28, mimepull to 1.9.1 and org.jvnet.staxex to 1.7.8
Also includes changes to removing NLs from encryption CipherValue element. SignatureValue still contains NLs.
Externalised setting of -Dsaaj.mime.optimization=true -Dsaaj.use.mimepull=true -Dsaaj.lazy.mime.optimization=true. These java args must now be set on FMS startup
Version: 5.4.0 Release 2
server - large payload (up to 1.8GB) handling. Includes updates to webservices-rt including saaj-impl-1.3.28, mimepull to 1.9.1 and org.jvnet.staxex to 1.7.8
server - ubuntu and debian package fixes and improvements.
server - logging improvements.
Version: 5.4.0 Release 1
server - xmlsec 2.0.7 based webservices server
server - optimisation if certificate matches entry in keystore
server - fixed problem with saving inbound binary compressed attachments
server - fixed activation problem with java-1.8 on some VMs
Version 5.3.4 Release 2
client - Certificate chain validation for validating incoming signing certs implemented.
client - Support for separation of ssl trust store (default java cacerts) from key store by default.
New optional '-st sslTruststore' and '-stsp sslTruststorePass' command line options to set the ssl truststore to an alternate truststore. Set '-st' to the same as the keystore location for pre 5.3.4-2 behavior.
client - Command line option '-u' now works as expected. Ie. SSL support is not loaded if set.
client - Certificate chain validation for validating incoming ssl certs implemented.
client - Return code 3 in case of SSL certificate error.
client - Implemented '-noSystemExit' command line option. If set then program return status will be sent to stdout instead of the invoking shell.
client - Copyright notice now goes to stderr.
Version 5.3.4 Release1
client - Dynamic p-mode support for setting initiating and responding partner p-mode settings. Includes setting partner.party@type and partner.role on the command line.
client - New command line args include -toType, -toRole, -fromType, -fromRole.
Use these command line options when any of '-from' or '-to' do not match what is in the p-mode. Used to override p-mode settings particularly when dynamic p-modes are required without having to create new p-mode files.
Version 5.3.3 Release 17
client - migrate to java 1.8.
client - further encryption support for gcm encryption algorithms.
client - support for EncryptedKey.EncryptionMethod.DigestMethod
client - support for key encryption method "http://www.w3.org/2009/xmlenc11#rsa-oaep"
client - fixed part properties usage example by escaping the first colon.
client - improved error trapping on non-existing attachments.
client - added stack trace on null pointer exceptions (return code 6).
Version 5.3.3 Release 16
client - fixed spec in URL instantiation. Was set to path instead of the full spec as returned by url.getFile()
client - no need to override URLConnection() if connectTimeout and responseTimeout is not set.
client - allow pmode:party/@pmode:type and pmode:party/@type. Fixed regression pmode:party/@type since 5.3.3-13
client - allow pmode:service/@pmode:type and pmode:service/@type. Fixed regression pmode:service/@type since 5.3.3-13
client - implemented underlying encryption support for gcm algorithms. Only available with java 1.8.
client - improved logging.
Version 5.3.3 Release 15
client - log for message transmit time (based on com.flame.client.as4 logger) when '-d' command line option is used.
client - set return code to TIMEOUT (4) on read or connect timeout.
client - set return code to CONNECTION_EXCEPTION (2) on failing to establish a connection.
Version 5.3.3 Release 14
client - Improved error message when failing to connect to remote host. Eg. 'network unavailable'
client - New command line options
-at <Send Time> - Send message at current time + time in milliseconds or at specified future date in format yyyy-MM-dd'T'HH:mm:ss.SSS eg. 2100-01-01T00:00:00:000
-t <Timeout> - Connection timeout in milliseconds. Defaults to 30000.
-T <Timeout> - Response timeout in milliseconds. Defaults to 30000.
Set both -t and -T to 0 to disable timeouts.
Version 5.3.3 Release 13
client - New command line option '-X' for dumping security providers.
client - Unused command line option '-pr' removed.
client - Command line option '-r refToMessageId' now also works for user messages.
client - New repeatable command line option '-mp' for setting MessageProperties.
client - messageID '-m messageID' now functions as expected.
client - Use of p-mode.id and agreementref now optional if not defined in the p-mode.
client - Only default pmode:party/@type to "string" if party is not a URI - also see RFC 2396
Version 5.3.3 Release 12
client - Improvements to SSL context handling.
client - Internal improvements and bug fixes.
Version 5.3.3 Release 11
client - Added 400 response code as SOAPFault (even though it's against SOAP 1.2 over HTTP) - also see https://java.net/jira/browse/SAAJ-74 and https://issues.jboss.org/browse/WFLY-3966
client - Strip path from attached payload files as appears in Content-Disposition
client - Internal improvements and bug fixes.
Version 5.3.3 Release 10
client - fixed bug saving payload attachments
Version 5.3.3 Release 9
client - remove schema from part properties.
Version 5.3.3 Release 8
client - bug fix for '-service' and '-serviceType' command line options when sending messages with attached payloads
Version 5.3.3 Release 6 and 7
client - debug flag now sets security config dumpMessage='true' for inbound messages.
client - attachment filename can now be either a filename or external payload pointed to by a url which will be retrieved
client - remove filename,content-id,mimetype,description and encoding from part properties
client - do not gzip payload if the payload is already compressed as per gzip sig bytes ID1 and ID2 from RFC 1952. Requires <pmode:useCompression>true</pmode:useCompression> in the p-mode.
Version 5.3.3 Release 4 and 5
client - Internal improvements including bug fixes for partner type.
Version 5.3.3 Release 3
client - Internal improvements and bug fixes.
Version 5.3.3 Release 2
client - Do not with an empty messageID
Version 5.3.3 Release 1
client - First release of fmsclient.as4.jar based on sas4client.jar
Version: 5.3.2 Release 19
server - dynamic partner support - create initiating partner from the 'from' party field in message if it does not exist. Note no @type as yet.
server - fixed NRR receipts not being signed for incoming signed messages from unknown remote partners
server - fix retrieving private key for the local partner - was set to attempting to obtain private key using the remote partner alias.
server - fixed debug message output
server - Certificate chain validation for validating incoming SSL certificates implemented. Requires root CA certificate either in the truststore or in cacerts.
FIXES for CA certs
Version: 5.3.2 Release 18
fmsconf - updated usage
server - improved checking on service, action, agreementref and mpc if these are empty strings
server - Dynamic p-modes. Set p-mode to packagerConfig.Properties.DEFAULT_PMODE if no p-mode match. If no DEFAULT_PMODE property match then no match.
server - improved logging
server - now validates sign certificates against issuer CA as well.
Version: 5.3.2 Release 17
Server - webservice-rt.jar
Support for JavaTM 8.
Support for AES_GCM_BLOCK_ENCRYPTION_128, AES_GCM_BLOCK_ENCRYPTION_192, AES_GCM_BLOCK_ENCRYPTION_256 with JavaTM 8.
Improved logging.
Attachment "Content-Transfer-Encoding" changed from base64 to binary.
Server - RESPONSE_SENT trigger improvements. This trigger fires after writing final response for incoming user message. It may be used for implementing twoWay MEPs.
Server - improved logging for cert handling - now shows keystore used.
Server - partner identification now done prior to the security processing. This requires that <eb:Messaging> -> <eb:UserMessage> -> <eb:PartyInfo> not be encrypted as per 5.1.6 of the AS4 Profile and as recommended in 7.4 of the core spec.
Server - Locate the private decryption and signature verification key in the local partner keystore if not found in the connection keystore. The connection private key is used for SSL so the private decryption and signature verification key can now be separate.
Server - Return EBMS:0303 on failure to un-compress a compressed incoming attachment.
Server - mark message as failed in case of internal Exception (Session.run())
Server - improved logging (include class and method name in TRACE mode)
Server - improved checking for non-existant messageID
Server - SignatureKeyCallback.AliasPrivKeyCertRequest - improved logging and set keystore referred to by initiatingParty (was respondingParty) as required when separating keystores based on partners.
Server - Trigger position RESPONSE_SENT include path
Server - if a test message with service set to 'http://.../service' and action set to'http://.../test' then process complete message and now also creates a receipt if specified in the p-mode, but do not writePayload. e-SENS requirement
Server - throw packingException on missing MimeType PayloadInfo PartProperty - Compressed payload requirement from section 3.1 of the AS4-Profile.
Server - metadata.fmd support for PartInfo/PartProperties/Property/@name="CharacterSet". Added MimeCharacterSet to schema/FMS/FMSMetadataDocument-1_0.xsd - not written to metadata.fmd as yet
Server - throw PackingException with ValueNotRecognized (EBMS:0001) on invalid character set (eb:PartInfo/eb:PartProperties/eb:Property/@name="CharacterSet") for a compressed xml SWA payload. Also see Section 3.1 of the AS4 Profile.
Server - Admin protocal command for __FMS_Admin_ReloadLicence. Also reloads connections.
Server - Fixed logging and management console viewing and updating of license details
Schema - FMSMetadataDocument-1_0.xsd support for the following Eg. metatdata.fmd may now include
\ \<fmd:MessagePayloads> \ <fmd:Payload> \ <fmd:MimeContentID>xmlpayload@minder</fmd:MimeContentID> \ <fmd:MimeContentType>application/xml</fmd:MimeContentType> \ <fmd:MimeCharacterSet>utf-16</fmd:MimeCharacterSet> <!-- optional --> \ <fmd:Location>/home/fms/delivered-content/flame-c2/703131/6622e78c@mindertestbed.org/attachment-0</fmd:Location> \ </fmd:Payload> \ \ |
Schema - FMSMetadataDocument-1_0.xsd support for the following
metadata.fmd support for eb:CollaborationInfo/eb:AgreementRef Eg. metatdata.fmd may now include
<fmd:AgreementRef>test-agreement</fmd:AgreementRef>
metadata.fmd support for
eb:MessageInfo/eb:Timestamp |
<fmd:Timestamp>2016-02-12T12:30:22.552Z</fmd:MessageID>
fmsconf implemented.
Version: 5.3.2 Release 16
Server - Close SSL socket bugfix for 5.3.2-14 and 5.3.2-15
Fixed non-blocking server mode as reported for 5.3.2-15 (hanging sockets) - 5.3.2-16
Version: 5.3.2 Release 15
Server - Fixed NPE bugfix for 5.3.2-14 on returning a response when attempting to fire RESPONSE_SENT trigger. Occurs when pulling from non-existing MPC or pushing to an non-existing p-mode.
Version: 5.3.2 Release 14
message.message_type - OTHER=7 for soap faults
Server - much improved log messages - TRACE will generate huge logs including stack traces on error conditions, DEBUG is useful for debugging and recommended in a running test environment and INFO appropriate for a long running production server.
Server - SSL protocol property
\ \ <prop:entry prop:key="ENABLED_SSL_PROTOCOLS">TLSv1.2</prop:entry> \ \ |
Server - improved socket connection threading and handling - new LISTENER_COUNT property with default set to 5 plus the value of LISTENER_COUNT. Used for number of listeners.
\ \ <prop:entry prop:key="LISTENER_COUNT">5</prop:entry> \ \ |
Server delivery directory and file handling improvements
User Messages
\ \fms_installation_dir/<cc:deliveredContentDir>/toPartner.URLtoPath()/conversationID/messageID/fromPartner.URLtoPath()-action.[xml|soap] \ \ |
Meta file delivery to
\ \fms_installation_dir/<cc:deliveredContentDir>/toPartner.URLtoPath()/conversationID/messageID/metadata.fmd \ \ |
Receipts
\ \fms_installation_dir/<cc:deliveredContentDir>/fromPartner.URLtoPath()/message_id/receipt.soap \ \ |
Meta file delivery to
\ \fms_installation_dir/<cc:deliveredContentDir>/fromPartner.URLtoPath()/message_id/metadata.fmd \ \ |
Server message storage directory improvements (used if no db)
user messages to fms_installation_dir/HTTP_REQUEST_STORAGE_DIRECTORY/[INCOMING|OUTGOING]-mmddyyyy-hhmmss.SSS_um.dat (no mime messages so no attachments) signal messages to fms_installation_dir/HTTP_REQUEST_STORAGE_DIRECTORY/[INCOMING|OUTGOING]-mmddyyyy-hhmmss.SSS_sig.dat
Server interfaceConfig acls implemented for AS4 listeners.
Server RECEIVE trigger argument 10 now contains PATH indicating full path name of delivered messages and metadata.
Requires change to ConnectionConfiguration.xml triggers as follows
Change
\ \<tg:Trigger> \ <tg:identifier>ReceiveMessage</tg:identifier> \ <tg:enabled>true</tg:enabled> \ <tg:type>SynchronousExecutable</tg:type> \ <tg:location>RECEIVE</tg:location> \ <tg:instruction>./trigger/Receive.sh %1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s</tg:instruction> \ <tg:providedArguments>action</tg:providedArguments> \ <tg:providedArguments>conversationID</tg:providedArguments> \ <tg:providedArguments>event</tg:providedArguments> \ <tg:providedArguments>messageID</tg:providedArguments> \ <tg:providedArguments>MPC</tg:providedArguments> \ <tg:providedArguments>processingMode</tg:providedArguments> \ <tg:providedArguments>recipientIdentifier</tg:providedArguments> \ <tg:providedArguments>senderIdentifier</tg:providedArguments> \ <tg:providedArguments>service</tg:providedArguments> \ <tg:executionType>External</tg:executionType> \</tg:Trigger> \ \ |
to
\ \<tg:Trigger> \ <tg:identifier>ReceiveMessage</tg:identifier> \ <tg:enabled>true</tg:enabled> \ <tg:type>SynchronousExecutable</tg:type> \ <tg:location>RECEIVE</tg:location> \ <tg:instruction>./trigger/Receive.sh %1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s %10$s</tg:instruction> \ <tg:providedArguments>action</tg:providedArguments> \ <tg:providedArguments>conversationID</tg:providedArguments> \ <tg:providedArguments>event</tg:providedArguments> \ <tg:providedArguments>messageID</tg:providedArguments> \ <tg:providedArguments>MPC</tg:providedArguments> \ <tg:providedArguments>processingMode</tg:providedArguments> \ <tg:providedArguments>recipientIdentifier</tg:providedArguments> \ <tg:providedArguments>senderIdentifier</tg:providedArguments> \ <tg:providedArguments>service</tg:providedArguments> \ <tg:providedArguments>path</tg:providedArguments> \ <tg:executionType>External</tg:executionType> \</tg:Trigger> \ \ |
Server returns HTTP CODE 400 regression fixed - this bug crept in with the -14 build updates. May cause the pulling partner to drop the associated EBMS response message
eg. EBMS:0006:EmptyMessagePartitionChannel.
Server now returns 200.
Version: 5.3.2 Release 13
server - provide support for absolute URIs as per RFC 2616 (http://tools.ietf.org/html/rfc2616#section-9.5)
server - improved usage message
rpm package - include Envelope directory
Version: 5.3.2 Release 12
server and as4 client - JavaTM 7 compatibility, tweak on socket close
server - JavaTM 1.6.0_31 problem with attachments - Changed saaj.lazy.contentlength from true to false
Version: 5.3.2 Release 11
Server - messageid suffix configured as $host gives wrong host - fixed
Server - Locate the private decryption and signature verification key in the local partner keystore if not found in the connection keystore.
SSL key customisation - ConnectionConfiguration.xml
Change
\ \ <cc:listener cc:packagerConfigID="AS4-PackageManager"> \ <cc:name>AS4</cc:name> \ <cc:className>com.flame.connection.impl.ebXML.AS4.RemoteIn</cc:className> \ <cc:aliasRef cc:keystoreID="default"> \ <cc:alias>fmsrns</cc:alias> \ <cc:password>fmsrns</cc:password> \ </cc:aliasRef> \ \ |
to
\ \ <cc:listener cc:packagerConfigID="AS4-PackageManager"> \ <cc:name>AS4</cc:name> \ <cc:className>com.flame.connection.impl.ebXML.AS4.RemoteIn</cc:className> \ <cc:aliasRef cc:keystoreID="flamessl"> \ <cc:alias>flamessl</cc:alias> \ <cc:password>fmsrns</cc:password> \ </cc:aliasRef> \ \ |
and add the following
\ \ <cc:keystoreRef cc:ID="flamessl"> \ <cc:name>ssl_certs</cc:name> \ <cc:type>JKS</cc:type> \ <cc:pass>changeit</cc:pass> \ </cc:keystoreRef> \ \ |
Server - Implement signing messages and NRR (non repudiation receipts) with separate signing cert instead of the partner SSL cert
Gen the new private key into a separate keystore as follows - required to avoid java.security.InvalidKeyException: Not an RSA key: DSA when do the default keytool -genkey ???
\ \keytool -genkeypair -keyalg RSA -sigalg MD5withRSA -alias flamesign -keypass fmsrns \ \ -keystore sign_certs -storepass changeit \ \ |
Then set the partner and keystore as follows
\ \<cc:partnerIdentifier cc:value="flame" cc:type="string"> \ <cc:endpointURL>https://localhost:6444/AS4</cc:endpointURL> \ <cc:partnerType>LOCAL_PARTNER</cc:partnerType> \ <cc:username>flame</cc:username> \ <cc:password>flame</cc:password> \ <cc:aliasRef cc:keystoreID="flamesign"> \ <cc:alias>flamesign</cc:alias> \ <cc:password>fmsrns</cc:password> \ </cc:aliasRef> \ \ <cc:keystoreRef cc:ID="flamesign"> \ <cc:name>sign_certs</cc:name> \ <cc:type>JKS</cc:type> \ <cc:pass>changeit</cc:pass> \ </cc:keystoreRef> \ \ |
Server and client swa 11 encryption compliant transform fix (metro webservices jars), and wsse:mustUndertand = "true" instead of "1"
Server - the messageid suffix not included for errors - fixed 5.3.2-11
Client - Softened up service and action - can now be set via the command line
Client - fix schema option for attachments, set via the '-a schema:location;...' command line option per attachment
Client - '-suffix' command line option to set the messageid suffix
Client - new exception that can be used for invalid arguments
Client - Allow escape characters to escape required characters such as ':' in the '-a' attachment key value pairs
Version: 5.3.2 Release 9
Server - NPE on storing invalid messagees
Update FMS server p-mode search algorithm
Using the optional @pmode attribute in the agreementref - if set but does not match return EBMS:0010
combination of to/from/service/action - if to/from/service/action are set but no match goto next step
combination of to/from/agreementref - if to/from/agreementref set but no match goto next step
Just agreementref - if agreementref set but no match then return EBMS:0010.
combination of from/MPC for pulls - if from/MPC set but no match then return EBMS:0010. and finally
just MPC for pulls
New configuration properties
\ \<prop:entry \ \prop:key="EBXML_SOAP_EXTENSION_NS">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/</prop:entry> \<prop:entry \ \prop:key="DEFAULT_INITIATOR_ROLE">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/initiator</prop:entry> \<prop:entry \ \prop:key="DEFAULT_RESPONDER_ROLE">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/responder</prop:entry> \<prop:entry \ \prop:key="DEFAULT_SERVICE">http://docs.oasis-open.org/ebxml-msg/as4/200902/service</prop:entry> \<prop:entry \ \prop:key="DEFAULT_ACTION">http://docs.oasis-open.org/ebxml-msg/as4/200902/action</prop:entry> \<prop:entry \ \prop:key="ONEWAY_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/oneWay</prop:entry> \<prop:entry \ \prop:key="TWOWAY_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/twoWay</prop:entry> \<prop:entry \ \prop:key="PUSH_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/push</prop:entry> \<prop:entry \ \prop:key="PULL_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/pull</prop:entry> \<prop:entry \ \prop:key="PUSH_PUSH_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/pushAndPush</prop:entry> \<prop:entry \ \prop:key="PUSH_PULL_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/pushAndPull</prop:entry> \<prop:entry \ \prop:key="PULL_PUSH_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/pullAndPush</prop:entry> \<prop:entry \ \prop:key="SYNC_MEP">http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/sync</prop:entry> \ \ |
Version: 5.3.2 Release 9
Client - create attachment directory if it does not exist. Was broken for default case.
Client - fixed ignoring of suffix - caused light client to be non RFC 2822 compliant for MessageId
Client - attachment part properties are not included in PartInfo from the p-mode or from the '-a' command line option - done
Client - Allow pmode:ID to be set to an empty string eg. <pmode:ProcessingMode pmode:ID="" xmlns:tg="http://fms.flame.business/FMS/schema/Trigger" xmlns:pmode="http://fms.flame.business/FMS/schema/ProcessingMode"> if empty do not include @pmode in CollaborationInfo.AgreementRef
Version: 5.3.2 Release 7
Server - table message add column event - provides missing event from old configuration table
Server -table dispatch add column retry_threshold - provides missing retry_threshold from old configuration table
Server -table dispatch add column retry_interval - provides missing retry_interval from old configuration table
Server -index dispatch_attempt_dispatch_id_idx - missing index - used for DatabaseHandler.isMessageRetriable
Server Configuration - Security Encryption Certificate - make it minOccurs="0" - done 5.3.2-6
Server - add event to message table (was originally in configuration which now no longer exists). - done 5.3.2-6
Server - remove journal trace logs - done
Server - customise the prefix/suffix for messageid - done
server - toRole incorrect - set to fromRole - fixed problem xpath on the as4client
Server - SID, FROM and TO log4j settings are not reset on new connections made to the server - these must be cleared. - fixed 5.3.2-7
Server - MessageId for empty MPC messages are wrong - contain the to party instead of the from party. Also if the party is a url then characters to the right of the @ do not conform to RFC 2822 - need to only get the last bit or use host - fixed 5.3.2-7
Server - Receipt message ids have $to instead of $from - fixed
Version: 4.3.0 Release 1
Server - Added message direction to PullMessagesForMPC query to prevent incorrect messages being sent to pull requester (Incorrect private key for message error)
Server - All interfaces now have access to all p-modes.
Server - Log error when service is not found.
Server - Removed configuration limit on listeners.
Server - Fixed bug during dispatch update when transaction is locked.
Server - Fixed configuration refresh not refreshing listener configuration.
Server - Fixed endpoint/MPC in partner identifier references.
Server - Fixed incorrect connection path being printed on bind.
Server - Fixed message transaction locking.
Server - Fixed null P-Mode message referring to old interface association.
Server - Fixed possible null pointer when no packagers exist.
Server - Fixed server classpath after BC library update.
Server - Fixed synchronous reliable messaging with and without receipts.
Server - Implemented auto pull features in processing modes.
Server - Implemented service and action property searching for Rosettanet.
Server - Implemented service mapping location using service identifier rather than associated service mapping
Server - First write messages to temp directory before moving to delivered-content directory.
Server - Fixed potential for duplicated http response send.
Server - Adjusted service names to UBL and PIDX.
Console - Added FMC drag and drop transfer handlers.
Console - Confirm whether the administrator wants to refresh the connections on save.
Console - Added splashscreen to jar load.
Console - Improved administrator connection error message.
Console - Fixed handling of modified nodes on exit.
Console - Moved location of the help dialog to be on the left if there is no space on the right.
Console - Set modality type for the wizard dialog.
Console - Paste now appends Copy Of in front of pasted node.
Console - Adjusted paste to insert nodes at an index.
Console - Adjusted properties so it uses old properties when resaving.
Console - Implement shortcuts for management console
Console - Adjusted transport and payload security levels to be MIME and SOAP security levels respectively.
Console - Adjusted wizard to run without a connection to a server.
Console - Fixed P-Mode duplication copy-of-copy-of issue.
Console - Fixed clone bugs.
Console - Fixed cloning of P-Mode conversationID.
Console - Fixed help file referencing.
Console - Fixed tree not modifying the correct nodes.
Console - Fixed null variables causing XML parse failure when saving.
Console - Fixed null pointer for null outgoing connection.
Console - Fixed partnerIdentifier modification causing null pointer when handler node is not selected.
Console - Fixed template re-assignment issue when going back to beginning without changing template types.
Console - Fixed unmodified tree method, forward scan on handler node first, then backward to root.
Console - Implemented undo editor, resets all edits with each new panel that is opened.
Console - Implemented administrator MOTD command.
Console - Implemented Tree Drag and Drop.
Console - Implemented multiple administrator connections.
Console - Implemented report graphs (Messages/Minute over Time, Messages/Minute meter, Message Times, Message Composition)
Console - Implemented report message search queries.
Console - Implemented empty file handlers for easy access (cached).
Console - Implemented imports of configurations to an administration connection.
Console - Implemented reports node for message queries with menu accessors.
Console - Implemented unified wizard dialog.
Console - Moved Quit from File menu and About from Help menu for Mac OS X
Console - Moved content identifier in PayloadProfile to below schema selection.
Version: 4.2.7 Release 1
System - Upgraded compiler to Java 1.6
Server - Implement extended protocol for the administration connection to the server. This to enable multiple concurrent connections from the FMC to FMS servers.
Server - Removed all connection restrictions. Licensing restrictions are implemented at the partner level.
Console - Deprecated Configuration Editor and replaced it with FMC.
Console - Implemented authentication for the administration connection.
Version: 4.2.6 Release 18
Server - Implemented FMSMetadataDocument to be deposited in the delivered content directory.
Server - Added application client correlation code for correlation of sequenceID and sequenceNum from client properties.
Server - Implemented WS-ReliableMessaging
Server - Implemented configurable Trigger system which can invoke a system executable or log a custom message when trigger location is encountered.
Server - Implemented custom HTTP compression as well as client compression for slower connections.
Server - ebXML - Implemented UsernameToken authentication.
Server - Implemented database pooling and queuing system.
Server - Implemented system network optimisations and prioritizing of TCP/IP packets.
Server - Adapted protocolListener to allow handles with sub handles in the format https://host:port/handle/subhandle
Server - Added log message to log time/size/bandwidth after upload/download.
Server - Adjusted storage of messages to indicate the direction (Incoming or Outgoing).
Server - Added thread names for logging purposes.
Configuration - Fixed memory leaks after opening popup panels.
Configuration - Tightened up GUI controls and consistancy.
Configuration - Added configurable tooltips with HTML ToolTip viewer to FMC.
Many other bug fixes and enchancements.
Version: 4.1.3 Release: 1
Server - Implemented Processing Modes (P-Mode).
Version: 4.1.2 Release: 10
Server - Include message content in SOAP Body and implement namespace separation for WSS encryption and signatures.
Server - Library update to fix external namespace bug in SOAP Envelope when marshalling complex XML objects.
Version: 4.1.2 Release: 9
Server - Adjusted Database connection handling to abort connection instantiation if database connection fails unless in INIT mode so as to generate the connection specific settings.
Server - Adjusted destinationAddress usage.
Server - Updated transmission message for pull requests.
Server - Added MPC attribute value to UserMessage.
Server - Adjusted exception handling for unknown MPC
Server - Allowed all interfaces to be instantiated during INIT mode to allow for non enabled connection specific configuration entries to be populated during first init to prevent confusion during initial configuration.
Server - Rethrow SQL exception during connection should failure occur for underlying layer to handle.
Server - ebXML Package Manager - Adjusted so that a client specified CPA in a Test environment will not be cached.
Server - ebXML Package Manager - Removed Production environment check when checking for Override Client CPA.
Server - ebXML Package Manager - Adjusted CPA TTL to be in seconds instead of milliseconds.
Server - ebXML Package Manager - Removed Production environment check when checking for Override Client CPA.
Server - ebXML Package Manager - Added null checks when recipient is unknown but error message must be generated.
Client - Implemented new exit status code handling.
Client - Added -q for a single messageID query instead of using -Q for testing multiple messageIDs from the messageID temp store file.
Client - Added EMPTY_MESSAGE_PARTITION_CHANNEL exit code for PullRequest errors.
Client - Removed RosettaNet specific PIP references.
Configuration - Adjusted alignment of buttons in button panel, adjusted alignment of administration menu bar, added administration version to menu About.
Configuration - Changed CPA config Override Client CPA in Production to Override Client CPA, removed defunct CPA registry URL field.
Configuration - Set usage to only display Production and Test, admin connections are fixed as Usage: Admin.
Configuration - Adjusted admin console colours for better readability, recalled last viewed configuration on reload.
Administration - Added server log level notification on new admin connection to adjust gui controls.
Administration - Fixed menu options availability when disconnected.
Version: 4.1.2 Release: 4
Server - Added readMimeMultiPart from ebMS connections to PackageManager, unsynchronized some methods to prevent deadlock.
Server - Added better logging for pullrequests.
Server - Adjusted readHTTPBoundary finishing check to only check if the line ends with boundary + "--" rather than more explicit equals.
Version: 4.1.2 Release: 3
All - Implemented Pull Requests.
Server - Added findPartnerIdentifierByEndpoint method for use with PullRequests.
Client - Fixed required argument checking arrays.
Version: 4.1.2 Release: 2
Server - Adjusted ebXML.RemoteOut to use custom Socket instead of HttpsURLConnection due to synchronous transmission problems.
Server - Shifted message construction around, took Receipt, Error and PullRequest construction out of createV3Envelope and placed construction code into createV3Receipt, createV3Error and createV3PullRequest respectively, renamed createV3Envelope to createV3Request.
All - Added PartnerType enum for PartnerIdentifiers one of {LOCAL_PARTNER, REMOTE_PARTNER, PULL_PARTNER}.
Version: 4.1.1 Release: 3
All - Renamed Packing to Package and PIP to Schema.
All - Renamed PipMapping and PIPEntry to SchemaMapping and SchemaEntry.
Administration - Added expiry date to Licence check.
Server - Rebuilt with new Metro Webservices libraries.
Version: 4.1.1 Release: 1
Configuration - Centered Connection Config arrow between buttons, Added delayed draw of watermark when resizing or moving to prevent 100% CPU usage due to downscaling of watermark image during continuous resize.
Server - Implemented chained EntityResolver as well as deeper search mechanisms for the location of XML Schemas.
<<< Previous | Home | Next >>> |
AS4 Client | Glossary |