org.springframework.ws.server.endpoint
Class AbstractXomPayloadEndpoint
java.lang.Object
org.springframework.xml.transform.TransformerObjectSupport
org.springframework.ws.server.endpoint.AbstractXomPayloadEndpoint
- All Implemented Interfaces:
- PayloadEndpoint
public abstract class AbstractXomPayloadEndpoint
- extends TransformerObjectSupport
- implements PayloadEndpoint
Abstract base class for endpoints that handle the message payload as XOM elements. Offers the message payload as a
XOM Element
, and allows subclasses to create a response by returning an Element
.
An AbstractXomPayloadEndpoint
only accept one payload element. Multiple payload elements are not in
accordance with WS-I.
This class tries to use Java reflection to access some of the non-public classes of XOM
(nu.xom.xslt.XOMResult
and nu.xom.xslt.XOMSource
). If these classes cannot be accessed
because of security restrictions, a slower approach is used. You can specify whether you want to use the faster, but
non-public reflection-based approach by calling AbstractXomPayloadEndpoint(boolean)
.
- Since:
- 1.0.0
- Author:
- Arjen Poutsma
- See Also:
Element
Constructor Summary |
protected |
AbstractXomPayloadEndpoint()
Creates a new instance of AbstractXomPayloadEndpoint using reflection to access faster, but
non-public XOM classes. |
protected |
AbstractXomPayloadEndpoint(boolean useReflection)
Creates a new instance of AbstractXomPayloadEndpoint . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractXomPayloadEndpoint
protected AbstractXomPayloadEndpoint()
- Creates a new instance of
AbstractXomPayloadEndpoint
using reflection to access faster, but
non-public XOM classes.
AbstractXomPayloadEndpoint
protected AbstractXomPayloadEndpoint(boolean useReflection)
- Creates a new instance of
AbstractXomPayloadEndpoint
.
- Parameters:
useReflection
- specifies whether to use faster, but non-public XOM classes (true
); or to use a
converting approach (false
)
invoke
public final Source invoke(Source request)
throws Exception
- Description copied from interface:
PayloadEndpoint
- Invokes the endpoint with the given request payload, and possibly returns a response.
- Specified by:
invoke
in interface PayloadEndpoint
- Parameters:
request
- the payload of the request message, may be null
- Returns:
- the payload of the response message, may be
null
to indicate no response
- Throws:
Exception
- if an exception occurs
invokeInternal
protected abstract Element invokeInternal(Element requestElement)
throws Exception
- Template method. Subclasses must implement this. Offers the request payload as a XOM
Element
, and
allows subclasses to return a response Element
.
- Parameters:
requestElement
- the contents of the SOAP message as XOM element
- Returns:
- the response element. Can be
null
to specify no response.
- Throws:
Exception
Copyright � 2005-2008 The Spring Web Services Framework. All Rights Reserved.