/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* This class represents a W3C Addressing EndpointReferece which is
* a remote reference to a web service endpoint that supports the
* W3C WS-Addressing 1.0 - Core Recommendation.
* <p>
* Developers should use this class in their SEIs if they want to
* recommendation.
* <p>
* JAXB will use the JAXB annotations and bind this class to XML infoset
* that is consistent with that defined by WS-Addressing. See
* <a href="http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/">
* WS-Addressing</a>
* for more information on WS-Addressing EndpointReferences.
*
* @since JAX-WS 2.1
*/
// XmlRootElement allows this class to be marshalled on its own
protected W3CEndpointReference() {
}
/**
* Creates an EPR from infoset representation
*
* @param source A source object containing valid XmlInfoset
* instance consistent with the W3C WS-Addressing Core
* recommendation.
*
* @throws WebServiceException
* If the source does NOT contain a valid W3C WS-Addressing
* EndpointReference.
* @throws NullPointerException
* If the <code>null</code> <code>source</code> value is given
*/
try {
W3CEndpointReference epr = w3cjc.createUnmarshaller().unmarshal(source,W3CEndpointReference.class).getValue();
} catch (JAXBException e) {
throw new WebServiceException("Error unmarshalling W3CEndpointReference " ,e);
} catch (ClassCastException e) {
throw new WebServiceException("Source did not contain W3CEndpointReference", e);
}
}
/**
* {@inheritDoc}
*/
try {
} catch (JAXBException e) {
throw new WebServiceException("Error marshalling W3CEndpointReference. ", e);
}
}
try {
} catch (JAXBException e) {
throw new WebServiceException("Error creating JAXBContext for W3CEndpointReference. ", e);
}
}
// private but necessary properties for databinding
// attributes and elements are not private for performance reasons
// (JAXB can bypass reflection)
private static class Address {
protected Address() {}
}
private static class Elements {
protected Elements() {}
}
}