Package mondrian.xmla
Class XmlaServlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
mondrian.xmla.XmlaServlet
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,XmlaConstants
- Direct Known Subclasses:
DefaultXmlaServlet
Base XML/A servlet.
- Since:
- December, 2005
- Author:
- Gang Chen
- See Also:
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
protected static final org.apache.logging.log4j.Logger
static final String
static final String
static final String
static final String
protected XmlaHandler
Fields inherited from interface mondrian.xmla.XmlaConstants
CHH_AUTHORIZATION_CODE, CHH_AUTHORIZATION_FAULT_FS, CHH_CODE, CHH_FAULT_FS, CLIENT_FAULT_FC, CONTEXT_MIME_TYPE, CONTEXT_ROLE_NAME, CONTEXT_XMLA_PASSWORD, CONTEXT_XMLA_SESSION_ID, CONTEXT_XMLA_SESSION_STATE, CONTEXT_XMLA_SESSION_STATE_BEGIN, CONTEXT_XMLA_SESSION_STATE_END, CONTEXT_XMLA_SESSION_STATE_WITHIN, CONTEXT_XMLA_USERNAME, CPOSTA_CODE, CPOSTA_FAULT_FS, CPREA_CODE, CPREA_FAULT_FS, FAULT_ACTOR, FAULT_FC_PREFIX, FAULT_FS_PREFIX, FAULT_NS_PREFIX, HSB_ACCESS_DENIED_CODE, HSB_ACCESS_DENIED_FAULT_FS, HSB_BAD_COMMAND_CODE, HSB_BAD_COMMAND_FAULT_FS, HSB_BAD_METHOD_CODE, HSB_BAD_METHOD_FAULT_FS, HSB_BAD_METHOD_NS_CODE, HSB_BAD_METHOD_NS_FAULT_FS, HSB_BAD_NON_NULLABLE_COLUMN_CODE, HSB_BAD_NON_NULLABLE_COLUMN_FAULT_FS, HSB_BAD_PROPERTIES_CODE, HSB_BAD_PROPERTIES_FAULT_FS, HSB_BAD_PROPERTIES_LIST_CODE, HSB_BAD_PROPERTIES_LIST_FAULT_FS, HSB_BAD_REQUEST_TYPE_CODE, HSB_BAD_REQUEST_TYPE_FAULT_FS, HSB_BAD_RESTRICTION_LIST_CODE, HSB_BAD_RESTRICTION_LIST_FAULT_FS, HSB_BAD_RESTRICTIONS_CODE, HSB_BAD_RESTRICTIONS_FAULT_FS, HSB_BAD_SOAP_BODY_CODE, HSB_BAD_SOAP_BODY_FAULT_FS, HSB_BAD_STATEMENT_CODE, HSB_BAD_STATEMENT_FAULT_FS, HSB_CONNECTION_DATA_SOURCE_CODE, HSB_CONNECTION_DATA_SOURCE_FAULT_FS, HSB_DISCOVER_FORMAT_CODE, HSB_DISCOVER_FORMAT_FAULT_FS, HSB_DISCOVER_UNPARSE_CODE, HSB_DISCOVER_UNPARSE_FAULT_FS, HSB_DRILL_THROUGH_FORMAT_CODE, HSB_DRILL_THROUGH_FORMAT_FAULT_FS, HSB_DRILL_THROUGH_NOT_ALLOWED_CODE, HSB_DRILL_THROUGH_NOT_ALLOWED_FAULT_FS, HSB_DRILL_THROUGH_SQL_CODE, HSB_DRILL_THROUGH_SQL_FAULT_FS, HSB_EXECUTE_QUERY_CODE, HSB_EXECUTE_QUERY_FAULT_FS, HSB_EXECUTE_UNPARSE_CODE, HSB_EXECUTE_UNPARSE_FAULT_FS, HSB_PARSE_QUERY_CODE, HSB_PARSE_QUERY_FAULT_FS, HSB_PROCESS_CODE, HSB_PROCESS_FAULT_FS, HSB_UNKNOWN_CODE, HSB_UNKNOWN_FAULT_FS, HSH_BAD_SESSION_ID_CODE, HSH_BAD_SESSION_ID_FAULT_FS, HSH_MUST_UNDERSTAND_CODE, HSH_MUST_UNDERSTAND_FAULT_FS, HSH_UNKNOWN_CODE, HSH_UNKNOWN_FAULT_FS, MONDRIAN_NAMESPACE, MSM_UNKNOWN_CODE, MSM_UNKNOWN_FAULT_FS, MUST_UNDERSTAND_FAULT_FC, NS_SOAP_ENC_1_1, NS_SOAP_ENC_1_2, NS_SOAP_ENV_1_1, NS_SOAP_ENV_1_2, NS_SOAP_SECEXT, NS_SQL, NS_XMLA, NS_XMLA_EMPTY, NS_XMLA_EX, NS_XMLA_MDDATASET, NS_XMLA_ROWSET, NS_XSD, NS_XSI, SERVER_FAULT_FC, SIE_REQUEST_STATE_CODE, SIE_REQUEST_STATE_FAULT_FS, SOAP_MUST_UNDERSTAND_ATTR, SOAP_PREFIX, UNKNOWN_ERROR_CODE, UNKNOWN_ERROR_FAULT_FS, USM_DOM_FACTORY_CODE, USM_DOM_FACTORY_FAULT_FS, USM_DOM_PARSE_CODE, USM_DOM_PARSE_FAULT_FS, USM_DOM_PARSE_IO_CODE, USM_DOM_PARSE_IO_FAULT_FS, USM_REQUEST_INPUT_CODE, USM_REQUEST_INPUT_FAULT_FS, USM_REQUEST_STATE_CODE, USM_REQUEST_STATE_FAULT_FS, USM_UNKNOWN_CODE, USM_UNKNOWN_FAULT_FS, VERSION_MISSMATCH_FAULT_FC, XMLA_BEGIN_SESSION, XMLA_END_SESSION, XMLA_SECURITY, XMLA_SESSION, XMLA_SESSION_ID
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
addCallback
(XmlaRequestCallback callback) Registers a callback.protected abstract XmlaHandler.ConnectionFactory
createConnectionFactory
(javax.servlet.ServletConfig servletConfig) protected void
doPost
(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) Main entry for HTTP post methodstatic boolean
getBooleanInitParameter
(javax.servlet.ServletConfig servletConfig, String paramName) Returns true if paramName's value is not null and 'true'.protected final List<XmlaRequestCallback>
Returns the list of callbacks.static boolean
getParameter
(javax.servlet.http.HttpServletRequest req, String paramName) protected XmlaHandler
Gets (creating if needed) the XmlaHandler.protected abstract void
handleFault
(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, XmlaServlet.Phase phase, Throwable t) Implement to application specified handler of SOAP fualt.protected abstract void
handleSoapBody
(javax.servlet.http.HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String, Object> context) Implement to handle XML/A request.protected abstract void
handleSoapHeader
(javax.servlet.http.HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String, Object> context) Implement to handle application specified SOAP header.void
init
(javax.servlet.ServletConfig servletConfig) Initializes servlet and XML/A handler.protected void
initCallbacks
(javax.servlet.ServletConfig servletConfig) Registers callbacks configured in web.xml.protected void
initCharEncodingHandler
(javax.servlet.ServletConfig servletConfig) Initialize character encodingprotected abstract void
marshallSoapMessage
(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, Enumeration.ResponseMimeType responseMimeType) Implement to provide application specified SOAP marshalling algorithm.protected abstract void
unmarshallSoapMessage
(javax.servlet.http.HttpServletRequest request, Element[] requestSoapParts) Implement to provide application specified SOAP unmarshalling algorithm.Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service, service
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Field Details
-
PARAM_DATASOURCES_CONFIG
- See Also:
-
PARAM_OPTIONAL_DATASOURCE_CONFIG
- See Also:
-
PARAM_CHAR_ENCODING
- See Also:
-
PARAM_CALLBACKS
- See Also:
-
LOGGER
protected static final org.apache.logging.log4j.Logger LOGGER -
xmlaHandler
-
charEncoding
-
-
Constructor Details
-
XmlaServlet
public XmlaServlet()
-
-
Method Details
-
getBooleanInitParameter
public static boolean getBooleanInitParameter(javax.servlet.ServletConfig servletConfig, String paramName) Returns true if paramName's value is not null and 'true'. -
getParameter
-
init
public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException Initializes servlet and XML/A handler.- Specified by:
init
in interfacejavax.servlet.Servlet
- Overrides:
init
in classjavax.servlet.GenericServlet
- Throws:
javax.servlet.ServletException
-
createConnectionFactory
protected abstract XmlaHandler.ConnectionFactory createConnectionFactory(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException - Throws:
javax.servlet.ServletException
-
getXmlaHandler
Gets (creating if needed) the XmlaHandler.- Returns:
- XMLA handler
-
addCallback
Registers a callback. -
getCallbacks
Returns the list of callbacks. The list is immutable.- Returns:
- list of callbacks
-
doPost
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException Main entry for HTTP post method- Overrides:
doPost
in classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
IOException
-
unmarshallSoapMessage
protected abstract void unmarshallSoapMessage(javax.servlet.http.HttpServletRequest request, Element[] requestSoapParts) throws XmlaException Implement to provide application specified SOAP unmarshalling algorithm.- Throws:
XmlaException
-
handleSoapHeader
protected abstract void handleSoapHeader(javax.servlet.http.HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String, Object> context) throws XmlaExceptionImplement to handle application specified SOAP header.- Throws:
XmlaException
-
handleSoapBody
protected abstract void handleSoapBody(javax.servlet.http.HttpServletResponse response, Element[] requestSoapParts, byte[][] responseSoapParts, Map<String, Object> context) throws XmlaExceptionImplement to handle XML/A request.- Throws:
XmlaException
-
marshallSoapMessage
protected abstract void marshallSoapMessage(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, Enumeration.ResponseMimeType responseMimeType) throws XmlaException Implement to provide application specified SOAP marshalling algorithm.- Throws:
XmlaException
-
handleFault
protected abstract void handleFault(javax.servlet.http.HttpServletResponse response, byte[][] responseSoapParts, XmlaServlet.Phase phase, Throwable t) Implement to application specified handler of SOAP fualt. -
initCharEncodingHandler
protected void initCharEncodingHandler(javax.servlet.ServletConfig servletConfig) Initialize character encoding -
initCallbacks
protected void initCallbacks(javax.servlet.ServletConfig servletConfig) Registers callbacks configured in web.xml.
-