Enum RmRuntimeVersion

  • All Implemented Interfaces:
    Serializable, Comparable<RmRuntimeVersion>

    public enum RmRuntimeVersion
    extends Enum<RmRuntimeVersion>
    This enumeration contains all currently supported WS-ReliableMessaging versions. The used reliable messaging version affects the WS-ReliableMessaging Policy assertions displayed int the web service's WSDL, XML namespace of RM protocol element being created as well as RM protocol message processing logic.
    Author:
    Marek Potociar
    See Also:
    WSRM200502, WSRM200702
    • Enum Constant Detail

      • WSRM200502

        public static final RmRuntimeVersion WSRM200502

        This value represents the outdated and obsolete WS-ReliableMessaging v1.0 protocol.

        You may want to choose this version for your WS endpoints to ensure maximum backward compatibility with clients running on older systems, such as Metro 1.0 or .NET 3.0

        See Also:
        RmVersion
      • WSRM200702

        public static final RmRuntimeVersion WSRM200702

        This value represents the version of WS-ReliableMessaging protocol standardized by OASIS organization. This is currently the most up-to-date version.

        You should primarily use this version for your WS endpoints. It is compatible with clients running on Metro 1.3 or .NET 3.5 and later.

        See Also:
        RmVersion
    • Field Detail

    • Method Detail

      • values

        public static RmRuntimeVersion[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (RmRuntimeVersion c : RmRuntimeVersion.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static RmRuntimeVersion valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getDefault

        public static RmRuntimeVersion getDefault()
        Provides a default reliable messaging version value.
        Returns:
        a default reliable messaging version value. Currently returns WSRM200702.
        See Also:
        RmVersion
      • createUnmarshaller

        public jakarta.xml.bind.Unmarshaller createUnmarshaller​(AddressingVersion av)
                                                         throws RxRuntimeException
        Creates JAXB Unmarshaller that is able to unmarshall protocol elements for given WS-RM version.

        As JAXB unmarshallers are not thread-safe, this method should be used to create a new Unmarshaller instance whenever there is a chance that the same instance might be invoked concurrently from multiple threads. On th other hand, it is prudent to cache or pool Unmarshaller instances if possible as constructing a new Unmarshaller instance is rather expensive.

        For additional information see this blog entry.

        Returns:
        created JAXB unmarshaller
        Throws:
        RxRuntimeException - in case the creation of unmarshaller failed
      • getJaxbContext

        public org.glassfish.jaxb.runtime.api.JAXBRIContext getJaxbContext​(AddressingVersion av)
        Returns JAXB context that is intitialized based on a given addressing version.
        Parameters:
        av - addressing version used to initialize JAXB context
        Returns:
        JAXB context that is intitialized based on a given addressing version.