docs: function getXmlaSoapMessage(options){
          var method = options.method,
              msg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
              "\n<" + _xmlnsSOAPenvelopePrefix + ":Envelope" +
              " " + _xmlnsIsSOAPenvelope +
              " " + _SOAPencodingStyle + ">" +
              "\n <" + _xmlnsSOAPenvelopePrefix + ":Body>" +
              "\n  <" + method + " " + _xmlnsIsXmla + " " + _SOAPencodingStyle + ">"
          ;
          switch(method){
              case Xmla.METHOD_DISCOVER:
                  if (!options.requestType) {
                      Xmla.Exception._newError(
                          "MISSING_REQUEST_TYPE",
                          "Xmla._getXmlaSoapMessage",
                          options
                      )._throw();
                  }
                  msg += "\n   <" + _xmlRequestType + ">" + options.requestType + "</" + _xmlRequestType + ">" +
                      _getXmlaSoapList("Restrictions", "RestrictionList", options.restrictions, "   ") +
                      _getXmlaSoapList("Properties", "PropertyList", options.properties, "   ");
                  break;
              case Xmla.METHOD_EXECUTE:
                  if (!options.statement){
                      Xmla.Exception._newError(
                          "MISSING_REQUEST_TYPE",
                          "Xmla._getXmlaSoapMessage",
                          options
                      )._throw();
                  }
                  msg += "\n   <Command>" +
                      "\n    <Statement>" + _xmlEncode(options.statement) + "</Statement>" +
                      "\n   </Command>" +
                      _getXmlaSoapList("Properties", "PropertyList", options.properties, "   ")
                  ;
                  break;
              default:
                  //we used to throw an exception here,
                  //but this would make it impossible
                  //to execute service or provider specific methods.
          }
          msg += "\n  </" + method + ">" +
              "\n </" + _xmlnsSOAPenvelopePrefix + ":Body>" +
              "\n</" + _xmlnsSOAPenvelopePrefix + ":Envelope>"
          ;
          return msg;
      }