|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavax.servlet.GenericServlet
javax.servlet.http.HttpServlet
mondrian.xmla.XmlaServlet
mondrian.xmla.impl.DefaultXmlaServlet
public abstract class DefaultXmlaServlet
Default implementation of XML/A servlet.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class mondrian.xmla.XmlaServlet |
|---|
XmlaServlet.Phase |
| Field Summary | |
|---|---|
protected static String |
nl
|
| Fields inherited from class mondrian.xmla.XmlaServlet |
|---|
charEncoding, LOGGER, PARAM_CALLBACKS, PARAM_CHAR_ENCODING, PARAM_DATASOURCES_CONFIG, PARAM_OPTIONAL_DATASOURCE_CONFIG, xmlaHandler |
| Constructor Summary | |
|---|---|
DefaultXmlaServlet()
|
|
| Method Summary | |
|---|---|
protected String |
generateSessionId(Map<String,Object> context)
|
protected static DocumentBuilderFactory |
getDocumentBuilderFactory()
|
protected void |
handleFault(HttpServletResponse response,
byte[][] responseSoapParts,
XmlaServlet.Phase phase,
Throwable t)
This produces a SOAP 1.1 version Fault element - not a 1.2 version. |
protected void |
handleSoapBody(HttpServletResponse response,
Element[] requestSoapParts,
byte[][] responseSoapParts,
Map<String,Object> context)
Implement to handle XML/A request. |
protected void |
handleSoapHeader(HttpServletResponse response,
Element[] requestSoapParts,
byte[][] responseSoapParts,
Map<String,Object> context)
Implement to handle application specified SOAP header. |
void |
init(ServletConfig servletConfig)
Initializes servlet and XML/A handler. |
protected void |
logXmlaRequest(Element envElem)
|
protected void |
marshallSoapMessage(HttpServletResponse response,
byte[][] responseSoapParts,
Enumeration.ResponseMimeType responseMimeType)
Implement to provide application specified SOAP marshalling algorithm. |
protected void |
unmarshallSoapMessage(HttpServletRequest request,
Element[] requestSoapParts)
Implement to provide application specified SOAP unmarshalling algorithm. |
| Methods inherited from class mondrian.xmla.XmlaServlet |
|---|
addCallback, createConnectionFactory, doPost, getBooleanInitParameter, getCallbacks, getParameter, getXmlaHandler, initCallbacks, initCharEncodingHandler |
| 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 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final String nl
| Constructor Detail |
|---|
public DefaultXmlaServlet()
| Method Detail |
|---|
public void init(ServletConfig servletConfig)
throws ServletException
XmlaServlet
init in interface Servletinit in class XmlaServletServletExceptionprotected static DocumentBuilderFactory getDocumentBuilderFactory()
protected void unmarshallSoapMessage(HttpServletRequest request,
Element[] requestSoapParts)
throws XmlaException
XmlaServlet
unmarshallSoapMessage in class XmlaServletXmlaExceptionprotected void logXmlaRequest(Element envElem)
protected void handleSoapHeader(HttpServletResponse response,
Element[] requestSoapParts,
byte[][] responseSoapParts,
Map<String,Object> context)
throws XmlaException
See if there is a "mustUnderstand" header element. If there is a BeginSession element, then generate a session id and add to context Map.
Excel 2000 and Excel XP generate both a BeginSession, Session and EndSession mustUnderstand=1 in the "urn:schemas-microsoft-com:xml-analysis" namespace Header elements and a NamespaceCompatibility mustUnderstand=0 in the "http://schemas.microsoft.com/analysisservices/2003/xmla" namespace. Here we handle only the session Header elements.
We also handle the Security element.
handleSoapHeader in class XmlaServletXmlaExceptionprotected String generateSessionId(Map<String,Object> context)
protected void handleSoapBody(HttpServletResponse response,
Element[] requestSoapParts,
byte[][] responseSoapParts,
Map<String,Object> context)
throws XmlaException
XmlaServlet
handleSoapBody in class XmlaServletXmlaException
protected void marshallSoapMessage(HttpServletResponse response,
byte[][] responseSoapParts,
Enumeration.ResponseMimeType responseMimeType)
throws XmlaException
XmlaServlet
marshallSoapMessage in class XmlaServletXmlaException
protected void handleFault(HttpServletResponse response,
byte[][] responseSoapParts,
XmlaServlet.Phase phase,
Throwable t)
handleFault in class XmlaServlet
|
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||