ServingXML is a markup language for expressing XML pipelines and an extensible Java framework for defining the elements of the language. It defines a vocabulary for expressing flat-XML, XML-flat, flat-flat, and XML-XML transformations in pipelines. The accompanying console app supports reading content as XML files, flat files, SQL queries, or SAX events, and writing it as XML, HTML, PDF, or mail attachments. This software is especially suited for converting flat file or database records to XML, with its support for namespaces, variant record types, multi-valued fields, segments and repeating groups, hierarchical grouping of records, and row-by-row validation with XML Schema. There is also an API for embedding the software in a Java application.
Citrus is a test framework written in Java that enables automated integration testing of message-based enterprise SOA applications. The tool can easily simulate surrounding systems across various transports and protocols (e.g. JMS, SOAP WebServices, HTTP, TCP/IP, etc.) in order to perform end-to-end use case testing. Citrus provides strong validation mechanisms for XML message contents and allows you to build complex testing logic such as sending and receiving messages, database validation, automatic retries, variable definitions, dynamic message contents, error simulation, and many more.
OpenSAML is a portable implementation of the Security Assertion Markup Language (SAML) standard for the formation and exchange of authentication, attribute, and authorization data using XML, as defined by OASIS. There are interfaces for a range of languages, including C++ and Java.
ContiPerf is a lightweight testing utility to easily leverage JUnit 4 test cases as performance tests, e.g. for continuous performance testing. It is inspired by JUnit 4's easy test configuration with annotations, and by JUnitPerf's idea of wrapping Unit tests for performance testing, but is more powerful and easier to use. It uses Java annotations for defining test execution characteristics and performance requirements. You can mark a test to run a certain number of times, or to be repeatedly executed for a certain amount of time. Performance requirements can be maximum, average, medium, or any percentile execution time. You can run tests in two different modes, using them as simple unit tests or performance tests. Easy integration with Eclipse and Maven. Export of an execution summary to a CSV file. A small library without external dependencies (only JUnit).