The OpenSAML library allows developers to work with SAML messages as Java bean objects. This library supports the SAML 1.0, 1.1, and 2.0 specification.

The OpenWS library, contained within OpenSAML, provides a growing set of tools to work with web services at a low level. These tools include classes for creating and reading SOAP messages, transport-independent clients for connecting to web services, and various transports for use with those clients.

The XMLTooling library, contained within OpenSAML, provides the ability to work with XML as regular Java beans. This is similar to the Java Architecture for XML Binding (JAXB) , XMLBeans , and XStream libraries. It differs from these libraries in three main ways:

- Much finer control to developer for what happens during the marshalling and unmarshalling processes
- Much more extensible, allowing various implementations of all of it's XMLObjects
- Support for XML Digital Signatures and Encryption