This bug covers two distinct situations:
When unmarshalling <href> containing characters illegal in a URI (like a
backslash), the unmarshall JAXB HRef instance returns null instead of the
This will happen e. g. with Vista's <owner> sent with LOCK, as that <owner>
It is impossible to create an instance of a JAXB HRef element with a content
containing characters illegal for URIs, since it stores a URI instance as its
content. The URI class rejects all characters illegal for URIs.
This will happen e. g. when trying to create answers to Vista's LOCK requests,
as that's <owner> element must contain <href>host\user</href>.
Both situations reflect the same problem: The current implementation of HRef
expects an URI, while the WebDAV specification clearly says that the content
can be a URI, but also could be something else. In consequence, it is wrong
to assume that the content can be stored in an instance of the URI class.