126
MicroStrategy Web Services Administration Guide Version: 9.2 Document Number: 09430920

MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Embed Size (px)

Citation preview

Page 1: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Guide

Version: 9.2Document Number: 09430920

Page 2: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Tenth Edition, March 2011, version 9.2To ensure that you are using the documentation that corresponds to the software you are licensed to use, compare this version number with the software version shown in “About MicroStrategy...” in the Help menu of your software.Document number: 09430920Copyright © 2011 by MicroStrategy Incorporated. All rights reserved.

If you have not executed a written or electronic agreement with MicroStrategy or any authorized MicroStrategy distributor, the following terms apply:This software and documentation are the proprietary and confidential information of MicroStrategy Incorporated and may not be provided to any other person. Copyright © 2001-2011 by MicroStrategy Incorporated. All rights reserved.THIS SOFTWARE AND DOCUMENTATION ARE PROVIDED “AS IS” AND WITHOUT EXPRESS OR LIMITED WARRANTY OF ANY KIND BY EITHER MICROSTRATEGY INCORPORATED OR ANYONE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DISTRIBUTION OF THE SOFTWARE OR DOCUMENTATION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE AND NONINFRINGMENT, QUALITY OR ACCURACY. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION IS WITH YOU. SHOULD THE SOFTWARE OR DOCUMENTATION PROVE DEFECTIVE, YOU (AND NOT MICROSTRATEGY, INC. OR ANYONE ELSE WHO HAS BEEN INVOLVED WITH THE CREATION, PRODUCTION, OR DISTRIBUTION OF THE SOFTWARE OR DOCUMENTATION) ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU.In no event will MicroStrategy, Inc. or any other person involved with the creation, production, or distribution of the Software be liable to you on account of any claim for damage, including any lost profits, lost savings, or other special, incidental, consequential, or exemplary damages, including but not limited to any damages assessed against or paid by you to any third party, arising from the use, inability to use, quality, or performance of such Software and Documentation, even if MicroStrategy, Inc. or any such other person or entity has been advised of the possibility of such damages, or for the claim by any other party. In addition, MicroStrategy, Inc. or any other person involved in the creation, production, or distribution of the Software shall not be liable for any claim by you or any other party for damages arising from the use, inability to use, quality, or performance of such Software and Documentation, based upon principles of contract warranty, negligence, strict liability for the negligence of indemnity or contribution, the failure of any remedy to achieve its essential purpose, or otherwise. The entire liability of MicroStrategy, Inc. and your exclusive remedy shall not exceed, at the option of MicroStrategy, Inc., either a full refund of the price paid, or replacement of the Software. No oral or written information given out expands the liability of MicroStrategy, Inc. beyond that specified in the above limitation of liability. Some states do not allow the limitation or exclusion of liability for incidental or consequential damages, so the above limitation may not apply to you.The information contained in this manual (the Documentation) and the Software are copyrighted and all rights are reserved by MicroStrategy, Inc. MicroStrategy, Inc. reserves the right to make periodic modifications to the Software or the Documentation without obligation to notify any person or entity of such revision. Copying, duplicating, selling, or otherwise distributing any part of the Software or Documentation without prior written consent of an authorized representative of MicroStrategy, Inc. are prohibited. U.S. Government Restricted Rights. It is acknowledged that the Software and Documentation were developed at private expense, that no part is public domain, and that the Software and Documentation are Commercial Computer Software provided with RESTRICTED RIGHTS under Federal Acquisition Regulations and agency supplements to them. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. or subparagraphs (c)(1) and (2) of the Commercial Computer Software—Restricted Rights at FAR 52.227-19, as applicable. Contractor is MicroStrategy, Inc., 1850 Towers Crescent Plaza, Vienna, VA 22182. Rights are reserved under copyright laws of the United States with respect to unpublished portions of the Software.The following are either trademarks or registered trademarks of MicroStrategy Incorporated in the United States and certain other countries: MicroStrategy, MicroStrategy 6, MicroStrategy 7, MicroStrategy 7i, MicroStrategy 7i Evaluation Edition, MicroStrategy 7i Olap Services, MicroStrategy 8, MicroStrategy 9, MicroStrategy Distribution Services, MicroStrategy MultiSource Option, MicroStrategy Command Manager, MicroStrategy Enterprise Manager, MicroStrategy Object Manager, MicroStrategy Reporting Suite, MicroStrategy Power User, MicroStrategy Analyst, MicroStrategy Consumer, MicroStrategy Email Delivery, MicroStrategy BI Author, MicroStrategy BI Modeler, MicroStrategy Evaluation Edition, MicroStrategy Administrator, MicroStrategy Agent, MicroStrategy Architect, MicroStrategy BI Developer Kit, MicroStrategy Broadcast Server, MicroStrategy Broadcaster, MicroStrategy Broadcaster Server, MicroStrategy Business Intelligence Platform, MicroStrategy Consulting, MicroStrategy CRM Applications, MicroStrategy Customer Analyzer, MicroStrategy Desktop, MicroStrategy Desktop Analyst, MicroStrategy Desktop Designer, MicroStrategy eCRM 7, MicroStrategy Education, MicroStrategy eTrainer, MicroStrategy Executive, MicroStrategy Infocenter, MicroStrategy Intelligence Server, MicroStrategy Intelligence Server Universal Edition, MicroStrategy MDX Adapter, MicroStrategy Narrowcast Server, MicroStrategy Objects, MicroStrategy OLAP Provider, MicroStrategy SDK, MicroStrategy Support, MicroStrategy Telecaster, MicroStrategy Transactor, MicroStrategy Web, MicroStrategy Web Business Analyzer, MicroStrategy World, Application Development and Sophisticated Analysis, Best In Business Intelligence, Centralized Application Management, Information Like Water, Intelligence Through Every Phone, Intelligence To Every Decision Maker, Intelligent E-Business, Personalized Intelligence Portal, Query Tone, Rapid Application Development, MicroStrategy Intelligent Cubes, The Foundation For Intelligent E-Business, The Integrated Business Intelligence Platform Built For The Enterprise, The Platform For Intelligent E-Business, The Scalable Business Intelligence Platform Built For The Internet, Industrial-Strength Business Intelligence, Office Intelligence, MicroStrategy Office, MicroStrategy Report Services, MicroStrategy Web MMT, MicroStrategy Web Services, Pixel Perfect, Pixel-Perfect, MicroStrategy Mobile, MicroStrategy Integrity Manager and MicroStrategy Data Mining Services are all registered trademarks or trademarks of MicroStrategy Incorporated.All other company and product names may be trademarks of the respective companies with which they are associated. Specifications subject to change without notice. MicroStrategy is not responsible for errors or omissions. MicroStrategy makes no warranties or commitments concerning the availability of future products or versions that may be planned or under development.Patent InformationThis product is patented. One or more of the following patents may apply to the product sold herein: U.S. Patent Nos. 6,154,766, 6,173,310, 6,260,050, 6,263,051, 6,269,393, 6,279,033, 6,567,796, 6,587,547, 6,606,596, 6,658,093, 6,658,432, 6,662,195, 6,671,715, 6,691,100, 6,694,316, 6,697,808, 6,704,723, 6,741,980, 6,765,997, 6,768,788, 6,772,137, 6,788,768, 6,798,867, 6,801,910, 6,820,073, 6,829,334, 6,836,537, 6,850,603, 6,859,798, 6,873,693, 6,885,734, 6,940,953, 6,964,012, 6,977,992, 6,996,568, 6,996,569, 7,003,512, 7,010,518, 7,016,480, 7,020,251, 7,039,165, 7,082,422, 7,113,993, 7,127,403, 7,174,349, 7,181,417, 7,194,457, 7,197,461, 7,228,303, 7,260,577, 7,266,181, 7,272,212, 7,302,639, 7,324,942, 7,330,847, 7,340,040, 7,356,758, 7,356,840, 7,415,438, 7,428,302, 7,430,562, 7,440,898, 7,486,780, 7,509,671, 7,516,181, 7,559,048, 7,574,376, 7,617,201, 7,725,811, 7,801,967, 7,836,178, 7,861,161, 7,861,253, and 7,881,443. Other patent applications are pending.Various MicroStrategy products contain the copyrighted technology of third parties. This product may contain one or more of the following copyrighted technologies:Graph Generation Engine Copyright © 1998-2011. Three D Graphics, Inc. All rights reserved.Actuate® Formula One. Copyright © 1993-2011 Actuate Corporation. All rights reserved.XML parser Copyright © 2003-2011 Microsoft Corporation. All rights reserved.Xalan XSLT processor. Copyright © 1999-2011. The Apache Software Foundation. All rights reserved.Xerces XML parser. Copyright © 1999-2011. The Apache Software Foundation. All rights reserved.FOP XSL formatting objects. Copyright © 2004-2011. The Apache Software Foundation. All rights reserved.Portions of Intelligence Server memory management Copyright © 1991-2011 Compuware Corporation. All rights reserved.ASIHTTPRequest library. Copyright © 2007-2011, All-Seeing Interactive. All rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)

Page 3: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

International Components for UnicodeCopyright © 1999-2011 Compaq Computer CorporationCopyright © 1999-2011 Hewlett-Packard CompanyCopyright © 1999-2011 IBM CorporationCopyright © 1999-2011 Hummingbird Communications Ltd.Copyright © 1999-2011 Silicon Graphics, Inc.Copyright © 1999-2011 Sun Microsystems, Inc.Copyright © 1999-2011 The Open GroupAll rights reserved.Real Player and RealJukebox are included under license from Real Networks, Inc. Copyright © 1999-2011. All rights reserved.

Page 4: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support
Page 5: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. v

CONTENTS

About this book ...............................................................................xHow to find business scenarios and examples ........................xiWhat’s new in this guide ..........................................................xiPrerequisites ............................................................................xiWho should use this guide......................................................xii

Resources.....................................................................................xiiDocumentation........................................................................xiiEducation................................................................................xxConsulting..............................................................................xxiInternational support ..............................................................xxiTechnical Support ..................................................................xxi

Feedback ................................................................................... xxvi

1. Architecture Web Services................................................................................. 1

ASP.NET implementation of Web Services................................... 2

J2EE implementation of Web Services.......................................... 3

Web Services in the MicroStrategy architecture............................ 4

Versions of IIS supporting ASP.NET ............................................. 5

2. Installation and Setup Installation locations ...................................................................... 7

ASP.NET Web Services security requirements............................. 8Access permissions ................................................................. 9Advanced security settings .................................................... 11

J2EE Web Services security requirements.................................. 11

Verifying your ASP.NET installation ............................................ 13

Page 6: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Contents MicroStrategy Web Services Administration

vi © 2011 MicroStrategy, Inc.

Verifying your J2EE installation ................................................... 16

MicroStrategy Office licensing requirement ................................. 20

3. Basic Administrative Operations

Editing project sources ................................................................ 22

Editing ASP.NET configuration settings ...................................... 22

Editing J2EE configuration settings ............................................. 28

View the service definition ........................................................... 33

Test the services.......................................................................... 34

Supporting images in reports and documents ............................. 34

Supporting third-party widget files in dashboard documents ....... 36

Controlling Web Services logs..................................................... 36

4. Application Configuration and Tuning for ASP.NET

ASP.NET configuration settings .................................................. 39ProcessModel ........................................................................ 40httpRuntime ........................................................................... 43Authentication and identify settings ....................................... 45

Performance monitoring and tuning............................................. 45Performance Monitor ............................................................. 45Basic counters ....................................................................... 47

5. Advanced Installations

Setting up SSL for encryption ...................................................... 58

Web Farm.................................................................................... 64

Web Garden ................................................................................ 67

6. Diagnostics Tools Using event and error logs........................................................... 70Windows event log................................................................. 70Windows Web and HTTPERR error logs............................... 71

Java application server error logs................................................ 74

Verifying Web Services availability .............................................. 75

TcpTrace for message analysis................................................... 75Initializing tcpTrace to intercept and forward messages........ 76Configuring MicroStrategy Office to send messages to tcpTrace................................................................................. 77Capturing and viewing messages.......................................... 77

Web Services tracing for ASP.NET message analysis................ 79

Configuring the Java log .............................................................. 79

Page 7: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Contents

© 2011 MicroStrategy, Inc. vii

Configuring the ASP.NET log ...................................................... 81

Microsoft debugging tools............................................................ 82

7. Troubleshooting HTTP errors ................................................................................. 84

Key error phrases ........................................................................ 85

Other symptoms .......................................................................... 88

Frequently asked questions......................................................... 89

Glossary ..................................................................................... 91

Index ........................................................................................... 97

Page 8: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Contents MicroStrategy Web Services Administration

viii © 2011 MicroStrategy, Inc.

Page 9: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. ix

PREFACE

Description of Guide

This book will no longer be updated. The Web Services API described in this book has been deprecated, and is included only to support MicroStrategy Office.

If you are administering MicroStrategy Office, refer to the MicroStrategy Office User Guide.

If you are developing applications that use MicroStrategy data, it is recommended that you use the new Web Services SDK. For additional information, refer to the MicroStrategy Developer Library (MSDL).

This guide is designed to assist administrators who are supporting MicroStrategy Office and MicroStrategy Web Services, and developers using MicroStrategy Web Services. It describes the concepts and tasks necessary for installation, configuration, tuning, and troubleshooting MicroStrategy Web Services.

MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support MicroStrategy Office only. If you are developing applications that use MicroStrategy data, it is recommended that you use the MicroStrategy Web Services SDK. Refer to the MicroStrategy Developer Library (MSDL) for information on the Web Services SDK.

The chapters provide information about

• Web Services architecture in both ASP.NET and J2EE implementations

• Installation and setup of Web Services for ASP.NET and J2EE implementations, including access permissions, security settings, and verifying your installation

Page 10: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

x About this book © 2011 MicroStrategy, Inc.

• Basic administrative operations, such as editing a project source, editing configuration settings, viewing a service definition, testing the services, and controlling Web Services logs

• Application configuration and tuning for ASP.NET, including configuration settings and Performance Monitor tuning

• Steps for advanced installations, including SSL connectivity, Web Farms, and Web Gardens

• Information on configuring and working with diagnostic tools, including event and error logs, tracing, messages, and Microsoft debugging tools

• Common troubleshooting issues and solutions

This guide does NOT cover the following information:

• Installing MicroStrategy Web Services. See the MicroStrategy Installation and Configuration Guide for information.

• Administering a MicroStrategy Intelligence Server. See the MicroStrategy System Administrator Guide for information.

• Administering MicroStrategy Web Server. See the MicroStrategy System Administrator Guide for information.

• Using the MicroStrategy Web Services API. See the MicroStrategy Developer Library (MSDL) for information.

• Installing and using MicroStrategy Office. See the MicroStrategy Office online help for information.

About this bookThis book is divided into chapters that begin with a brief overview of the chapter’s content.

Dates in the MicroStrategy Tutorial project are updated to reflect the current year. The sample documents and images in this guide, as well as the procedures, were created with dates that may no longer be available in the Tutorial project. Replace them with the first year of data in your Tutorial project.

Page 11: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. About this book xi

How to find business scenarios and examples

Within this guide, examples for procedures are provided wherever practicable.

For examples of reporting functionality, see the MicroStrategy Tutorial, which is MicroStrategy’s sample warehouse, metadata, and project. Information about the MicroStrategy Tutorial can be found in the MicroStrategy Basic Reporting Guide.

Detailed examples of advanced reporting functionality can be found in the MicroStrategy Advanced Reporting Guide.

Other examples in this book use the Analytics Modules, which include a set of precreated sample reports, each from a different business area. Sample reports present data for analysis in such business areas as financial reporting, human resources, and customer analysis.

What’s new in this guide

MicroStrategy 9.0

• The Web Services API described in this book has been deprecated. It is recommended that you use the new Web Services SDK to develop applications that use MicroStrategy data.

• Take advantage of support for Microsoft Windows IIS 7 and Windows 2008 (see ASP.NET implementation of Web Services, page 2.)

Prerequisites

Before working with this document, you should be familiar with:

• Web Services technologies such as SOAP, WSDL, XML and XSD at a basic level

• The deployment and operation of websites using ASP.NET and IIS technologies

Page 12: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xii Resources © 2011 MicroStrategy, Inc.

• The deployment and operation of servlets using J2EE technologies

• MicroStrategy Intelligence Server architecture, deployment, and operation at a basic level

Who should use this guide

This document is designed for

• MicroStrategy Web Services administrators responsible for configuring and maintaining Web Services operation

• MicroStrategy Web administrators responsible for configuring and maintaining the Web server on which MicroStrategy Web Services executes

• System administrators responsible for configuring and maintaining the MicroStrategy business intelligence system

• Network administrators who may need to configure network connections between the system’s components

Resources

Documentation

MicroStrategy provides both manuals and online help; these two information sources provide different types of information, as described below:

• Manuals: In general, MicroStrategy manuals provide:

Introductory information and concepts

Examples and images

Checklists and high-level procedures to get started

The steps to access the manuals are described in Accessing manuals and other documentation sources, page xviii. Most of these manuals are also available printed in a bound, soft cover format. To purchase printed manuals, contact your MicroStrategy account executive or email [email protected].

Page 13: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. Resources xiii

• Help: In general, MicroStrategy help provides:

Detailed steps to perform procedures

Descriptions of each option on every software screen

Due to translation time, manuals in languages other than English may contain information that is one or more releases behind. You can see the version number on the title page of each manual. For the most up-to-date translations, refer to the MicroStrategy Knowledge Base.

MicroStrategy overview and evaluation

• Introduction to MicroStrategy: Evaluation Guide

Instructions for installing, configuring, and using the MicroStrategy Evaluation Edition of the software. This guide also includes a detailed, step-by-step evaluation process of MicroStrategy features, where you perform reporting with the MicroStrategy Tutorial project and its sample business data.

• MicroStrategy Quick Start Guide

Overview of the installation and evaluation process, and additional resources.

• Evaluate MicroStrategy for Linux Guide

Evaluate MicroStrategy for Linux, in a Microsoft Windows or Linux environment, with the MicroStrategy Evaluation Edition Virtual Appliance. This guide provides all details to download, activate, and evaluate MicroStrategy software running in a Linux environment.

• MicroStrategy Reporting Suite Quick Start Guide

Evaluate MicroStrategy as a departmental solution. Provides detailed information to download, install, configure, and use the MicroStrategy Reporting Suite.

Manuals for query, reporting, and analysis

• MicroStrategy Installation and Configuration Guide

Information to install and configure MicroStrategy products on Windows, UNIX, Linux, and HP platforms, as well as basic maintenance guidelines.

Page 14: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xiv Resources © 2011 MicroStrategy, Inc.

• MicroStrategy Upgrade Guide

Instructions to upgrade existing MicroStrategy products.

• MicroStrategy Project Design Guide

Information to create and modify MicroStrategy projects, and understand facts, attributes, hierarchies, transformations, advanced schemas, and project optimization.

• MicroStrategy Basic Reporting Guide

Instructions to get started with MicroStrategy Desktop and MicroStrategy Web, and how to analyze data in a report. Includes the basics for creating reports, metrics, filters, and prompts.

• MicroStrategy Advanced Reporting Guide

Instructions for advanced topics in the MicroStrategy system, building on information in the Basic Reporting Guide. Topics include reports, Freeform SQL reports, Query Builder reports, filters, metrics, Data Mining Services, custom groups, consolidations, and prompts.

• MicroStrategy Report Services Document Creation Guide

Instructions to design and create Report Services documents, building on information in the Basic Reporting Guide and Advanced Reporting Guide.

• MicroStrategy OLAP Services Guide

Information on MicroStrategy OLAP Services, which is an extension of MicroStrategy Intelligence Server. OLAP Services features include Intelligent Cubes, derived metrics, derived elements, dynamic aggregation, view filters, and dynamic sourcing.

• MicroStrategy Office User Guide

Instructions for using MicroStrategy Office to work with MicroStrategy reports and documents in Microsoft® Excel, PowerPoint, Word, and Outlook, to analyze, format, and distribute business data.

• MicroStrategy Mobile User Guide

Instructions for using MicroStrategy Mobile to view and analyze data, and perform other business tasks with MicroStrategy reports and documents on a mobile device. Covers installation and configuration of MicroStrategy Mobile and how a designer working in MicroStrategy Desktop or MicroStrategy Web can create effective reports and documents for use with MicroStrategy Mobile.

Page 15: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. Resources xv

• MicroStrategy System Administration Guide Volume 1

Concepts and high-level steps to implement, deploy, maintain, tune, and troubleshoot a MicroStrategy business intelligence system.

• MicroStrategy System Administration Guide Volume 2

Concepts and high-level steps for using various administrative tools such as MicroStrategy Command Manager, MicroStrategy Enterprise Manager, MicroStrategy Integrity Manager, and MicroStrategy Health Center.

• MicroStrategy Functions Reference

Function syntax and formula components; instructions to use functions in metrics, filters, attribute forms; examples of functions in business scenarios.

• MicroStrategy MDX Cube Reporting Guide

Information to integrate MicroStrategy with MDX cube sources. You can integrate data from MDX cube sources such as SAP BW, Microsoft Analysis Services, and Hyperion Essbase into your MicroStrategy projects and applications.

• MicroStrategy Web Services Administration Guide

This book will no longer be updated. The Web Services API described in this book has been deprecated, and is included only to support MicroStrategy Office.

If you are administering MicroStrategy Office, refer to the MicroStrategy Office User Guide.

If you are developing applications that use MicroStrategy data, it is recommended that you use the new Web Services SDK. For additional information, refer to the MicroStrategy Developer Library (MSDL).

Manuals for Analytics Modules

• Analytics Modules Installation and Porting Guide

• Customer Analysis Module Reference

• Sales Force Analysis Module Reference

• Financial Reporting Analysis Module Reference

• Sales and Distribution Analysis Module Reference

Page 16: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xvi Resources © 2011 MicroStrategy, Inc.

• Human Resources Analysis Module Reference

Manuals for Narrowcast Services products

• MicroStrategy Narrowcast Server Getting Started Guide

Instructions to work with the tutorial to learn Narrowcast Server interfaces and features.

• MicroStrategy Narrowcast Server Installation and Configuration Guide

Information to install and configure Narrowcast Server.

• MicroStrategy Narrowcast Server Application Designer Guide

Fundamentals of designing Narrowcast Server applications.

• MicroStrategy Narrowcast Server System Administrator Guide

Concepts and high-level steps to implement, maintain, tune, and troubleshoot Narrowcast Server.

• MicroStrategy Narrowcast Server Upgrade Guide

Instructions to upgrade an existing Narrowcast Server.

Software Development Kits

• MicroStrategy Developer Library (MSDL)

Information to understand the MicroStrategy SDK, including details about architecture, object models, customization scenarios, code samples, and so on.

• MicroStrategy Web SDK

The Web SDK is available in the MicroStrategy Developer Library, which is sold as part of the MicroStrategy SDK.

• Narrowcast Server SDK Guide

Instructions to customize Narrowcast Server functionality, integrate Narrowcast Server with other systems, and embed Narrowcast Server functionality within other applications. Documents the Narrowcast Server Delivery Engine and Subscription Portal APIs, and the Narrowcast Server SPI.

Page 17: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. Resources xvii

Documentation for MicroStrategy Portlets

• Enterprise Portal Integration Help

Information to help you implement and deploy MicroStrategy BI within your enterprise portal, including instructions for installing and configuring out-of-the-box MicroStrategy Portlets for several major enterprise portal servers.

This resource can be accessed using the MicroStrategy Product Manuals page, as described in Accessing manuals and other documentation sources, page xviii.

Documentation for MicroStrategy GIS Connectors

• GIS Integration Help

Information to help you integrate MicroStrategy with Geospatial Information Systems (GIS), including specific examples for integrating with ESRI mapping services.

This resource can be accessed using the MicroStrategy Product Manuals page, as described in Accessing manuals and other documentation sources, page xviii.

Help

Each MicroStrategy product includes an integrated help system to complement the various interfaces of the product as well as the tasks that can be accomplished using the product.

Some of the MicroStrategy help systems require a web browser to be viewed. For supported web browsers, see the MicroStrategy Readme.

MicroStrategy provides several ways to access help:

• Help button: Use the Help button or ? (question mark) icon on most software windows to see help for that window.

• Help menu: From the Help menu or link at the top of any screen, select MicroStrategy Help to see the table of contents, the Search field, and the index for the help system.

Page 18: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xviii Resources © 2011 MicroStrategy, Inc.

• F1 key: Press F1 to see context-sensitive help that describes each option in the software window you are currently viewing.

For MicroStrategy Web, MicroStrategy Web Administrator, and MicroStrategy Mobile Server, pressing the F1 key opens the context-sensitive help for the web browser you are using to access these MicroStrategy interfaces. Use the Help menu or ? (question mark) icon to access help for these MicroStrategy interfaces.

Accessing manuals and other documentation sources

The manuals are available from your MicroStrategy disk or the machine where MicroStrategy was installed.

Adobe Acrobat Reader is required to view these manuals. If you do not have Acrobat Reader installed on your computer, you can download it from http://get.adobe.com/reader/.

The best place for all users to begin is with the MicroStrategy Basic Reporting Guide.

To access the installed manuals and other documentation sources, see the following procedures:

• To access installed manuals and other documentation sources on Windows, page xviii

• To access installed manuals and other documentation sources on UNIX and Linux, page xix

To access installed manuals and other documentation sources on Windows

1 From the Windows Start menu, choose Programs (or All Programs), MicroStrategy, then Product Manuals. A page opens in your browser showing a list of available manuals in PDF format and other documentation sources.

2 Click the link for the desired manual or other documentation source.

3 If you click the link for the Narrowcast Services SDK Guide, a File Download dialog box opens. This documentation resource must be

Page 19: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. Resources xix

downloaded. Select Open this file from its current location, and click OK.

If bookmarks are not visible on the left side of an Acrobat (PDF) manual, from the View menu click Bookmarks and Page. This step varies slightly depending on your version of Adobe Acrobat Reader.

To access installed manuals and other documentation sources on UNIX and Linux

1 Within your UNIX or Linux machine, navigate to the directory where you installed MicroStrategy. The default location is /opt/MicroStrategy, or $HOME/MicroStrategy/install if you do not have write access to /opt/MicroStrategy.

2 From the MicroStrategy installation directory, open the Documentation folder.

3 Open the Product_Manuals.htm file in a web browser. A page opens in your browser showing a list of available manuals in PDF format and other documentation sources.

4 Click the link for the desired manual or other documentation source.

5 If you click the link for the Narrowcast Services SDK Guide, a File Download dialog box opens. This documentation resource must be downloaded. Select Open this file from its current location, and click OK.

If bookmarks are not visible on the left side of an Acrobat (PDF) manual, from the View menu click Bookmarks and Page. This step varies slightly depending on your version of Adobe Acrobat Reader.

Page 20: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xx Resources © 2011 MicroStrategy, Inc.

Documentation standards

MicroStrategy online help and PDF manuals (available both online and in printed format) use standards to help you identify certain types of content. The following table lists these standards.

These standards may differ depending on the language of this manual; some languages have rules that supersede the table below.

Education

MicroStrategy Education Services provides a comprehensive curriculum and highly skilled education consultants. Many customers and partners from over 800 different organizations have benefited from MicroStrategy instruction. For a detailed description of education offerings and course curriculums, visit http://www.microstrategy.com/Education.

Type Indicates

bold • Button names, check boxes, options, lists, and menus that are the focus of actions or part of a list of such GUI elements and their definitions

• Text to be entered by the userExample: Click Select Warehouse.Example: Type cmdmgr -f scriptfile.scp and press Enter.

italic • New terms defined within the text and in the glossary• Names of other product manuals• When part of a command syntax, indicates variable information to be replaced by the

userExample: The aggregation level is the level of calculation for the metric.Example: Type copy c:\filename d:\foldername\filename

Courier font

• Calculations• Code samples• Registry keys• Path and file names• URLs• Messages displayed in the screen

Example: Sum(revenue)/number of months.

+ A keyboard command that calls for the use of more than one key (for example, SHIFT+F1)

A note icon indicates helpful information for specific situations.

A warning icon alerts you to important information such as potential security risks; these should be read before continuing.

Page 21: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. Resources xxi

Consulting

MicroStrategy Consulting Services provides proven methods for delivering leading-edge technology solutions. Offerings include complex security architecture designs, performance and tuning, project and testing strategies and recommendations, strategic planning, and more. For a detailed description of consulting offerings, visit http://www.microstrategy.com/Consulting.

International support

MicroStrategy supports several locales. Support for a locale typically includes native database and operating system support, support for date formats, numeric formats, currency symbols, and availability of translated interfaces and certain documentation.

MicroStrategy is certified in homogeneous configurations (where all the components lie in the same locale) in the following languages—English (US), French, German, Italian, Japanese, Korean, Portuguese (Brazilian), Spanish, Chinese (Simplified), Chinese (Traditional), Danish, and Swedish. A translated user interface is available in each of the above languages. For information on specific languages supported by individual MicroStrategy system components, see the MicroStrategy readme.

MicroStrategy also provides limited support for heterogeneous configurations (where some of the components may lie in different locales). Please contact MicroStrategy Technical Support for more details.

A translated user interface is available in each of the above languages.

Technical Support

If you have questions about a specific MicroStrategy product, you should:

1 Consult the product guides, Help, and readme files. Locations to access each are described above.

2 Consult the MicroStrategy Knowledge Base online at https://resource.microstrategy.com/support.

A technical administrator in your organization may be able to help you resolve your issues immediately.

Page 22: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xxii Resources © 2011 MicroStrategy, Inc.

3 If the resources listed in the steps above do not provide a solution, contact MicroStrategy Technical Support directly. To ensure the most productive relationship with MicroStrategy Technical Support, review the Policies and Procedures document in your language, posted at http://www.microstrategy.com/Support/Policies. Refer to the terms of your purchase agreement to determine the type of support available to you.

MicroStrategy Technical Support can be contacted by your company’s Support Liaison. A Support Liaison is a person whom your company has designated as a point-of-contact with MicroStrategy’s support personnel. All customer inquiries and case communications must come through these named individuals. Your company may designate two employees to serve as their Support Liaisons, and can request to change their Support Liaisons two times per year with prior written notice to MicroStrategy Technical Support.

It is recommended that you designate Support Liaisons who have MicroStrategy Administrator privileges. This can eliminate security conflicts and improve case resolution time. When troubleshooting and researching issues, MicroStrategy Technical Support personnel may make recommendations that require administrative privileges within MicroStrategy, or that assume that the designated Support Liaison has a security level that permits them to fully manipulate the MicroStrategy projects and has access to potentially sensitive project data such as security filter definitions.

Ensure issues are resolved quickly

Before logging a case with MicroStrategy Technical Support, the Support Liaison may follow the steps below to ensure that issues are resolved quickly:

1 Verify that the issue is with MicroStrategy software and not a third party software.

2 Verify that the system is using a currently supported version of MicroStrategy software by checking the Product Support Expiration Schedule at http://www.microstrategy.com/Support/Expiration.asp.

3 Attempt to reproduce the issue and determine whether it occurs consistently.

4 Minimize the complexity of the system or project object definition to isolate the cause.

Page 23: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. Resources xxiii

5 Determine whether the issue occurs on a local machine or on multiple machines in the customer environment.

6 Discuss the issue with other users by posting a question about the issue on the MicroStrategy Customer Forum at https://resource.microstrategy.com/forum/.

The following table shows where, when, and how to contact MicroStrategy Technical Support. If your Support Liaison is unable to reach MicroStrategy Technical Support by phone during the hours of operation, they can leave a voicemail message, send email or fax, or log a case using the Online Support Interface. The individual Technical Support Centers are closed on certain public holidays.

North America Email: [email protected] Web: https://resource.microstrategy.com/support Fax: (703) 842–8709 Phone: (703) 848–8700 Hours: 9:00 A.M.–7:00 P.M. Eastern Time, Monday–Friday except holidays

EMEA:EuropeThe Middle EastAfrica

Email: [email protected] Web: https://resource.microstrategy.com/support Fax: +44 (0) 208 711 2525 The European Technical Support Centre is closed on national public holidays in each country.Phone:

• Belgium: + 32 2792 0436• France: +33 17 099 4737• Germany: +49 22 16501 0609• Ireland: +353 1436 0916• Italy: +39 023626 9668• Poland: +48 22 321 8680• Scandinavia & Finland: +46 8505 20421• Spain: +34 91788 9852• The Netherlands: +31 20 794 8425• UK: +44 (0) 208 080 2182• International distributors: +44 (0) 208 080 2183

Hours:• United Kingdom: 9:00 A.M.–6:00 P.M. GMT, Monday-Friday except holidays• EMEA (except UK): 9:00 A.M.–6:00 P.M. CET, Monday-Friday except holidays

Page 24: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xxiv Resources © 2011 MicroStrategy, Inc.

Support Liaisons should contact the Technical Support Center from which they obtained their MicroStrategy software licenses or the Technical Support Center to which they have been designated.

Required information when calling

When contacting MicroStrategy Technical Support, please provide the following information:

• Personal information:

Name (first and last)

Company and customer site (if different from company)

Contact information (phone and fax numbers, e-mail addresses)

• Case details:

Configuration information, including MicroStrategy software product(s) and versions

Asia Pacific Email: [email protected] Web: https://resource.microstrategy.com/support Phone:

• Australia: +61 2 9333 6499• Korea: +82 2 560 6565 Fax: +82 2 560 6555• Japan: +81 3 3511 6720 Fax: +81 3 3511 6740• Singapore: +65 6303 8969 Fax: +65 6303 8999• Asia Pacific (except Australia, Japan, Korea, and Singapore): +86 571 8526 8067 Fax: +86

571 8848 0977Hours:

• Japan and Korea: 9:00 A.M.–6:00 P.M. JST (Tokyo), Monday-Friday except holidays• Asia Pacific (except Japan and Korea): 7 A.M.-6 P.M. (Singapore) Monday-Friday except

holidays

Latin America Email: [email protected] Web: https://resource.microstrategy.com/support Phone:

• LATAM (except Brazil and Argentina): +54 11 5222 9360 Fax: +54 11 5222 9355• Argentina: 0 800 444 MSTR Fax: +54 11 5222 9355• Brazil: +55 11 3054 1010 Fax: +55 11 3044 4088

Hours: • Latin America (except Brazil): 9:00 A.M.–7:00 P.M. (Buenos Aires), Monday-Friday except

holidays • Brazil: 9 A.M. - 6 P.M. (São Paulo), Monday–Friday except holidays

Page 25: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Preface

© 2011 MicroStrategy, Inc. Resources xxv

Full description of the case including symptoms, error messages(s), and steps taken to troubleshoot the case thus far

• Business/system impact

If this is the Support Liaison’s first call, they should also be prepared to provide the following:

• Street address

• Phone number

• Fax number

• Email address

To help the Technical Support representative resolve the problem promptly and effectively, be prepared to provide the following additional information:

• Case number: Please keep a record of the number assigned to each case logged with MicroStrategy Technical Support, and be ready to provide it when inquiring about an existing case

• Software version and product registration numbers of the MicroStrategy software products you are using

• Case description:

What causes the condition to occur?

Does the condition occur sporadically or each time a certain action is performed?

Does the condition occur on all machines or just on one?

When did the condition first occur?

What events took place immediately prior to the first occurrence of the condition (for example, a major database load, a database move, or a software upgrade)?

If there was an error message, what was its exact wording?

What steps have you taken to isolate and resolve the issue? What were the results?

• System configuration (the information needed depends on the nature of the problem; not all items listed below may be necessary):

Computer hardware specifications (processor speed, RAM, disk space, and so on)

Page 26: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Preface MicroStrategy Web Services Administration

xxvi Feedback © 2011 MicroStrategy, Inc.

Network protocol used

ODBC driver manufacturer and version

Database gateway software version

(For MicroStrategy Web-related problems) browser manufacturer and version

(For MicroStrategy Web-related problems) Web server manufacturer and version

If the issue requires additional investigation or testing, the Support Liaison and the MicroStrategy Technical Support representative should agree on certain action items to be performed. The Support Liaison should perform any agreed-upon actions before contacting MicroStrategy Technical Support again regarding the issue. If the Technical Support representative is responsible for an action item, the Support Liaison may call MicroStrategy Technical Support at any time to inquire about the status of the issue.

FeedbackPlease send any comments or suggestions about user documentation for MicroStrategy products to:

[email protected]

Send suggestions for product enhancements to:

[email protected]

When you provide feedback to us, please include the name and version of the products you are currently using. Your feedback is important to us as we prepare for future releases.

Page 27: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. Web Services 1

11.ARCHITECTURE

Introduction

MicroStrategy Web Services provides ASP.NET and J2EE Web Services support to the MicroStrategy Office product. MicroStrategy Web Services has also been tested with .NET and Java Web Services development tools supporting C#, VB.NET, and Java languages.

MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support MicroStrategy Office only. If you are developing applications that use MicroStrategy data, it is recommended that you use the MicroStrategy Web Services SDK. Refer to the MicroStrategy Developer Library (MSDL) for information on the Web Services SDK.

Web ServicesXML Web Services provides remote access to processes and data using open Web standards. It can be a form of remote procedure call (RPC) or messaging, but it is not tied to any company’s proprietary standards.

Page 28: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Architecture MicroStrategy Web Services Administration1

2 ASP.NET implementation of Web Services © 2011 MicroStrategy, Inc.

Typically, XML Web Services is shortened to Web Services and assumes the use of XML to exchange messages. The advantages of Web Services compared to earlier RPC or messaging technologies include the following:

• No dependence on proprietary technologies

• Access to technology from multiple platforms and languages

• ability to exchange messages through firewalls

• Readable messages using XML format as opposed to binary or text formats that are not self-descriptive.

The following diagram shows two clients talking to a Web Server using Web Services messages:

The diagram shows that the XML Web Services is carried to and from the Web Server over HTTP. Client A creates the XML messages directly. Client B uses a language library, or proxy, which is generated by a programmer development environment. This proxy provides functions in the language of choice that represent the Web Services methods. Internally, the proxy translates between the XML Web Service messages and the library functions.

ASP.NET implementation of Web ServicesASP.NET implements Web Services using its handler technology. Handlers are modules that are registered to handle certain Web resources by name or extension. In the case of Web Services, resources ending with asmx are handed off to the Web Services handler. A Web Services class defined in an

Page 29: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Architecture 1

© 2011 MicroStrategy, Inc. J2EE implementation of Web Services 3

asmx file is derived from the .NET class System.Web.Services.WebService that provides the functionality to support the handler translation of designated methods in these new Web Services classes to and from XML messages.

The relationship of these components is shown in the following diagram:

The diagram above shows the ASP.NET architecture in an IIS 5.1 ASP.NET implementation provided in a Windows XP server environment. The IIS 6.0 ASP.NET environment provided by a Windows 2003 server environment is similar. A key difference is that IIS 6.0 uses a device driver, HTTP.SYS, instead of IIS for request and response communications support.

IIS7.0, used in Windows 2008, is a more open, modular environment. In IIS 7.0, HTTP communications is still supported by HTTP.SYS and is used by MicroStrategy Web Services, though Web Services can be configured to use other protocol listeners.

J2EE implementation of Web ServicesThe J2EE implementation of MicroStrategy Web Services uses the Apache Axis2 SOAP engine implemented as a J2EE servlet and a supporting class infrastructure. Axis2 implements Web Services using a handler technology with a chaining framework.

Specifically, messages are received by a listener implemented as a servlet. As shown in the diagram below, the messages are received by the HTTP Server and then handed off to the Axis servlet via the servlet container. The messages are then processed by the SOAP engine and ultimately passed to the Service. When the Service completes processing, it returns results as Java

Page 30: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Architecture MicroStrategy Web Services Administration1

4 Web Services in the MicroStrategy architecture © 2011 MicroStrategy, Inc.

classes to the SOAP engine. The engine ultimately translates those classes back to messages which are transported out as SOAP responses over HTTP. The relationship of these components is shown in the following diagram:

The HTTP Server/servlet container combination could be Apache Server with Tomcat or IBM WebSphere, for example.

Web Services in the MicroStrategy architectureMicroStrategy Office communicates with MicroStrategy Intelligence Server using MicroStrategy Web Services. The following diagram shows the communications path between these products in the ASP.NET environment.

Page 31: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Architecture 1

© 2011 MicroStrategy, Inc. Versions of IIS supporting ASP.NET 5

MicroStrategy Office submits and consumes Web Services messages to and from MicroStrategy Web Services (MWS). These messages are received by the .NET classes. The core service processing for each of these methods is performed by the MWS Objects, which are Java classes that implement Web Services functions using MicroStrategy WebObjects API. To communicate between the .NET classes and the Java classes, .NET JNI Bridge classes are used. The Java WebObjects communicate over the network with one or more Intelligence Servers.

The next diagram shows the communications path in the J2EE environment.

In this flow, the .NET classes and JNI layers are replaced with a single set of MicroStrategy Web Services Java API classes. These classes are the target and source of Java class to XML translations used by the SOAP engine. The bulk of Web Services processing is performed by the MWS objects and is shared between the ASP.NET and J2EE implementations.

For detailed information on how jobs are processed within MicroStrategy, see the System Administration Guide, Vol. 1.

Versions of IIS supporting ASP.NETMicrosoft ASP.NET is a plug-in environment that runs in the Internet Information Services environment on Microsoft Windows XP, 2003, and 2008 operating systems. When ASP.NET is installed on Windows XP, it uses tinetinfo.exe to handle protocol messaging. In Windows 2003 and 2008, ASP.NET is enabled via the Manage Your Computer wizard, and messages are processed by http.sys.

Windows XP is supported for demonstration purposes only. MicroStrategy strongly recommends against running MicroStrategy Web Services on Windows XP in a production environment.

Page 32: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Architecture MicroStrategy Web Services Administration1

6 Versions of IIS supporting ASP.NET © 2011 MicroStrategy, Inc.

The IIS versions for different environments are as follows:

• 6.0 on Windows XP

• 6.0 on Windows 2003

• 7.0 on Windows 2008

.NET also has multiple versions; versions 2.0 (32-bit and 64-bit) and 3.0 (32-bit and 64-bit) are supported for use with MicroStrategy Web Services.

Page 33: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. Installation locations 7

22.INSTALLATION AND SETUP

Introduction

This chapter provides additional information on installation and setup of MicroStrategy Web Services in both the ASP.NET and J2EE environments. It its intended to be used in conjunction with the MicroStrategy Installation and Configuration Guide. The information in this chapter helps you properly configure security for Web Services and provides a series of steps to verify that the installation is working.

MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support MicroStrategy Office only. If you are developing applications that use MicroStrategy data, it is recommended that you use the MicroStrategy Web Services SDK. Refer to the MicroStrategy Developer Library (MSDL) for information on the Web Services SDK.

Installation locationsMicroStrategy Web Services (MWS) is installed as part of the master MicroStrategy installation. See the MicroStrategy Installation and Configuration Guide for details on how to use the installation utility.

Page 34: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Installation and Setup MicroStrategy Web Services Administration2

8 ASP.NET Web Services security requirements © 2011 MicroStrategy, Inc.

By default, MWS for ASP.NET is installed in the following directory and virtual directory during a Windows platform installation:

• Directory: c:\Program Files\MicroStrategy\Web Services

• Virtual directory: MicroStrategyWS

For J2EE, the war file used for deployment are installed during platform installation. You will find the file MicroStrategyWS.war in the following directory :

• Directory: c:\Program Files\MicroStrategy\Web Services J2EE

The procedure used to deploy the war file to the target J2EE server depends on the specific server. The target directory for installation depends on the platform.

ASP.NET Web Services security requirementsTo access the Web Services, Windows NT authentication is required by default. This means that the Web server will request and authenticate credentials from your client computer when you access Web Services either directly with a browser or via a program client such as MicroStrategy Office. In the Windows NT environment, your credentials consist of your domain name, user name, and a password. If you cannot be authenticated, you trigger an HTTP 401 (Access Denied) response from the Web server. A client such as MicroStrategy Office can intercept this error and allow you to log on and try another set of credentials (domain, username, and password).

To achieve this configuration, settings in the Web Services web.config file interact with settings made using Internet Information Systems (IIS) Manager. The web.config file, which is in the Web Services virtual directory, has the following settings:

<authentication mode=“Windows” />

<identity impersonate=“true” />

The settings above, which are in the <system.web> element, indicate that the Web Services will use Windows authentication and that the Web Services code will impersonate the calling user. This means that once a user passes authentication tests, that user must be authorized to execute the code and access its resources.

Page 35: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Installation and Setup 2

© 2011 MicroStrategy, Inc. ASP.NET Web Services security requirements 9

In conjunction with the above settings, IIS Manager is also set to use Integrated Windows Authentication. In the Authentication Methods dialog box, Anonymous Access is turned off and Integrated Windows Authentication is turned on. The user must have the appropriate authorization for necessary resources in order to run, as discussed above.

Access permissions

The following table shows the types of access permissions that ASP.NET in general and ASP.NET Web Services must have in order to access the listed locations:

Location Access Type Account Comments

installroot\ASP.NET Temporary Files

Read/write Process or configured impersonation

The location for dynamically compiled files. Beneath this location, application code generation takes place in a discrete directory for each application. The root location can be configured using the tempDir attribute of the <compilation> section.

systemroot\ assembly

Read Process or configured impersonation

The location of the global assembly cache.

systemroot\ system32

Read Process Contains system DLLs loaded by the .NET Framework.

systemroot\temp Read/write/ delete

Process For Web Services support.

userprofile directory Read/write Process Used by the global assembly cache lock files and the common language runtime security configuration caching mechanism. If the user profile directory for the account does not exist, ASP.NET uses the default userprofile directory.

application directory Read Process or configured impersonation

The location for application files.

installroot hierarchy Read Process or configured impersonation

ASP.NET must be able to access the system assemblies referenced in the machine.config file in the config subdirectory under installroot.

Default Web site monitoring

Read Process For file change notification monitoring.

Page 36: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Installation and Setup MicroStrategy Web Services Administration2

10 ASP.NET Web Services security requirements © 2011 MicroStrategy, Inc.

Additionally, the following table shows a unique MWS requirement:

In the Account column in the tables above, the account is either “Process” or “Process or configured impersonation”. The Process account depends on which server platform Web Services is installed and how it is configured.

ASP.NET adds the ASPNET user that runs the ASP.NET worker process. On a Windows XP system, this process is aspnet_wp.exe. On a Windows 2003 or 2008 system, the process is w3wp.exe.

To support the above requirements, the following authorizations for MWS are added during installation:

• Windows XP: The following authorizations are added to the Web Services application directory:

Normally, the Users group includes ASPNET and all authenticated users. The Everyone group includes all authenticated users.

• Windows 2003/2008: MWS is configured to run in a separate application pool that is run under the System Account. The name of the application pool is MicroStrategyWebServicesPool.

Be aware that authorizations required by ASP.NET depend on the default authorizations. If these have been modified, the application may fail with a security-derived error. However, it may not be obvious that security is the problem. The failure may be due to an assembly binding error or a Resource Not Found error.

Location Access Type Account Comments

application directory Modify/read & execute list folder contents/write

Process The .NET application log is created and updated in this directory.

Account Access Type

Everyone • Modify• Read & Execute• List Folder Contents• Read/Write

Users • Modify• Read & Execute• List Folder Contents

Page 37: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Installation and Setup 2

© 2011 MicroStrategy, Inc. J2EE Web Services security requirements 11

If you encounter or suspect security issues, you can set up your Web Services to use Anonymous access. In the Authentication Methods dialog box, turn on Anonymous authentication and provide a user name and password that meet the above requirements.

Advanced security settings

When viewing security settings, you may need to consider the Advanced settings. You can navigate to the Advanced security settings from within Windows Explorer.

To view advanced permissions

1 Right-click on the Web Services directory. The Context Menu opens.

2 Click Properties. The Web Services Properties dialog box opens.

3 Click Advanced. The Access Control Settings for Web Services dialog box opens.

4 Select one of the entries, such as Everyone, and click View/Edit. The Permission Entry for Web Services dialog box opens. A detailed list of permissions based on your selection is displayed.

J2EE Web Services security requirementsTo access Web Services in the J2EE environment, you can configure your Web Services for an HTTP Authentication protocol, such as basic authentication. Part of this configuration involves proper security setup of your application server and part is a generic configuration for a J2EE servlet.

The following assumes that you have created the role user1 and assigned an account to that role using the user account management facility of the application server. Add the following entries to the web.xml file as the last entries in the <web-app> element to configure basic authentication for the application and provide access to the defined role:

<!-- Define a Security Constraint on this Application -->

<security-constraint>

Page 38: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Installation and Setup MicroStrategy Web Services Administration2

12 J2EE Web Services security requirements © 2011 MicroStrategy, Inc.

<web-resource-collection>

<web-resource-name>mstrws application</web-resource-name>

<url-pattern>/*</url-pattern>

</web-resource-collection>

<auth-constraint>

<!-- NOTE: This role is not present in the default users file -->

<role-name>user1</role-name>

</auth-constraint>

</security-constraint>

<!-- Define the Login Configuration for this Application -->

<login-config>

<auth-method>BASIC</auth-method>

<realm-name>MSTRWS Application</realm-name>

</login-config>

<!-- Security roles referenced by this web application -->

<security-role>

<description>

The role that is required to log in to the Manager Application

</description>

<role-name>manager</role-name>

</security-role>

The <login-config> element contains the element <auth-element> which is used to set the authentication method. It also allows you to scope your authentication with the <realm-name> which you can define for your purpose.

Page 39: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Installation and Setup 2

© 2011 MicroStrategy, Inc. Verifying your ASP.NET installation 13

Verifying your ASP.NET installationAfter installation, you can verify that MWS is properly configured by using your browser. The following procedure assumes you selected the default virtual directory location during installation.

To verify installation

1 On the machine on which you installed MicroStrategy Web Services, type http://localhost/MicroStrategyWS/MSTRWS.asmx in your browser. An output similar to the following should appear:

2 In the application directory, locate the file named projectsources.xml. This file contains a list of all MicroStrategy servers visible to Web Services. Assuming you selected the default directories during installation, this file is located at C:\Program Files\ MicroStrategy\Web Services. By default, this file contains one

Page 40: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Installation and Setup MicroStrategy Web Services Administration2

14 Verifying your ASP.NET installation © 2011 MicroStrategy, Inc.

definition that works if you have installed both Web Services and Intelligence Server on the same machine. This file contains the following content:

<?xml version=”1.0” ?> <1 - - This file contains the list of project sources supported by the MicroStrategy Web Services product The structure of this file is: <ProjectSources> <ProjectSource> <ProjectSourceName>Name</ProjectSourceName> <ServerName>Name</ServerName> <AuthMode>MWSStandard/MWSNTCredential/WMWSPassThru/MWSAnonymous/MWSLDAP/MWSWarehousePassThru/MWSSimpleSecurityPlugIn/MWSIntegrated</AuthMode> <MaxPooledConnections>Integer</MaxPooledConnections> <PortNumber>Integer</PortNumber> </ProjectSource> ... </ProjectSources> ProjectSourceName can be any name chosen by the user. It is associated with the iServer to be used as a project source, and is a mandatory field. ServerName is the name of the iServer to be used as a project source, and is a mandatory field. AuthMode designates which authentication mode will be used to connect to the associated iServer, and is a mandatory field. PortNumber designates the port on which the iServer will be contacted. A value of zero (0) defaults the port number to 34952, which is the default iServer port. This field is not mandatory. If this field is missing, a value of zero (0) is used. MaxPooledConnections designates the number of available connections that the associated iServer will provide for connecting users. It is set upon first connection to a specific iServer. This field is not mandatory. If this field is missing, a value is chosen form the web.config file configuration parameter. --> <ProjectSources> <ProjectSourceName>MicroStrategy Tutorial </ProjectSourceName> <ServerName>localhost</ServerName> <AuthMode>MWSStandard</AuthMode> <PortNumber>0</PortNumber> <MaxPooledConnections>100</MaxPooledConnections> </ProjectSource> <!-- You can add another data source here. For example, <ProjectSource> <ProjectSourceName>Local Connection</ProjectSourceName> <ServerName>BURLAKLAP</ServerName> <AuthMode>MWSNTCredential</AuthMode>

Page 41: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Installation and Setup 2

© 2011 MicroStrategy, Inc. Verifying your ASP.NET installation 15

<MaxPooledConnections>150</MaxPooledConnections> </ProjectSource> --> </ProjectSources>

Add a new project source definition

3 You can add a new project source definition to this file. For example, if you have a server with a DNS name of Stealth, it uses Windows NT authentication, and you would like to name it My Server with default port and connection pool settings, add the following:

<ProjectSource> <ProjectSourceName>My Server</ProjectSourceName> <ServerName>Stealth</ServerName> <AuthMode>MWSNTCredential</AuthMode> </ProjectSource>

4 Once you have made the changes and saved the file, return to the MSTRWS.asmx page. On the same machine on which Web Services is installed, in the browser click the GetProjectSources API link to display the documentation/test page for this service API, as shown below:

Page 42: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Installation and Setup MicroStrategy Web Services Administration2

16 Verifying your J2EE installation © 2011 MicroStrategy, Inc.

5 Click Invoke. An XML response appears that lists the sources in your projectsources.xml file, as shown below:

6 Once you have verified access and operation with GetProjectSources, you can test operations with an Intelligence Server using TestService. On the MSTRWS.asmx Web page, click the TestService link.

7 Enter a MicroStrategy server name, a project name, and a login and password in the designated fields. Click Invoke.

• If TestService succeeds, a screen similar to the following appears:

• If TestService fails, a browser error page appears.

When you install a client such as MicroStrategy Office, you must use the URL for your server. If the server you have installed is <servername>, then the default URL is http://<servername>/MicroStrategyWS/ MSTRWS.asmx.

Verifying your J2EE installationAfter installation, you can verify that MWS J2EE is properly configured by using your browser. The following procedure assumes you accepted the default configuration during installation for a Tomcat installation.

Page 43: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Installation and Setup 2

© 2011 MicroStrategy, Inc. Verifying your J2EE installation 17

To verify installation

1 On the machine on which you installed MicroStrategy Web Services, type http://localhost:8080/MicroStrategyWS/in your browser. The following output should appear:

2 In the application directory, locate the file named projectsources.xml. (In Tomcat, the default location is webapps\MicroStrategyWS.) This file contains a list of all MicroStrategy servers visible to Web Services. By default, this file contains one definition that works if you have installed both Web Services and Intelligence Server on the same machine. This file contains the following content:

<?xml version=”1.0” ?> <1 - - This file contains the list of project sources supported by the MicroStrategy Web Services product The structure of this file is: <ProjectSources> <ProjectSource> <ProjectSourceName>Name</ProjectSourceName> <ServerName>Name</ServerName> <AuthMode>MWSStandard/MWSNTCredential/WMWSPassThru/MWSAnonymous/MWSLDAP/MWSWarehousePassThru/MWSSimpleSecurityPlugIn/MWSIntegrated</AuthMode> <MaxPooledConnections>Integer</MaxPooledConnections> <PortNumber>Integer</PortNumber>

Page 44: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Installation and Setup MicroStrategy Web Services Administration2

18 Verifying your J2EE installation © 2011 MicroStrategy, Inc.

</ProjectSource> ... </ProjectSources> ProjectSourceName can be any name chosen by the user. It is associated with the iServer to be used as a project source, and is a mandatory field. ServerName is the name of the iServer to be used as a project source, and is a mandatory field. AuthMode designates which authentication mode will be used to connect to the associated iServer, and is a mandatory field. PortNumber designates the port on which the iServer will be contacted. A value of zero (0) defaults the port number to 34952, which is the default iServer port. This field is not mandatory. If this field is missing, a value of zero (0) is used. MaxPooledConnections designates the number of available connections that the associated iServer will provide for connecting users. It is set upon first connection to a specific iServer. This field is not mandatory. If this field is missing, a value is chosen form the web.config file configuration parameter. --> <ProjectSources> <ProjectSourceName>MicroStrategy Tutorial </ProjectSourceName> <ServerName>localhost</ServerName> <AuthMode>MWSStandard</AuthMode> <PortNumber>0</PortNumber> <MaxPooledConnections>100</MaxPooledConnections> </ProjectSource> <!-- You can add another data source here. For example, <ProjectSource> <ProjectSourceName>Local Connection</ProjectSourceName> <ServerName>BURLAKLAP</ServerName> <AuthMode>MWSNTCredential</AuthMode> <MaxPooledConnections>150</MaxPooledConnections> </ProjectSource> --> </ProjectSources>

Add a new project source definition

3 You can easily add a new project source definition to this file. For example, if you have a server with a DNS name of Stealth, it uses Standard authentication, and you would like to name it My Server with default port and connection pool settings, add the following:

<ProjectSource> <ProjectSourceName>My Server</ProjectSourceName> <ServerName>Stealth</ServerName> <AuthMode>MWSStandard</AuthMode> </ProjectSource>

Page 45: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Installation and Setup 2

© 2011 MicroStrategy, Inc. Verifying your J2EE installation 19

4 Once you have made the changes and saved the file, return to the MicroStrategyWS page. Click Validate to determine whether MWS has access to all of the runtime files required. You should see a display similar to the following:

If any Needed Components are missing or incompatible, you must correct the situation before proceeding.

5 On the same machine on which Web Services is installed, you can enter the following values:

• Web Services URL: http://localhost:8080/MicroStrategyWS/services/MSTRWSJ

• Intelligence Server: localhost

• ProjectName: MicroStrategy Tutorial

• Login: Administrator

• Password: <blank>

Then click Run.

Page 46: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Installation and Setup MicroStrategy Web Services Administration2

20 MicroStrategy Office licensing requirement © 2011 MicroStrategy, Inc.

• If TestService succeeds, a screen similar to the following appears:

• If TestService fails, you only see the text “TestService Results” with the exception that occurred. Check the error logs for more details.

When you install a client such as MicroStrategy Office, you must use the URL for your server. The default URL is http://<servername>:8080/MicroStrategyWS/services/ MSTRWSJ

where <servername> is the server you have installed.

MicroStrategy Office licensing requirementMicroStrategy Web Services can detect when MicroStrategy Office is the client. In this case, the user must have MicroStrategy Office privileges on the Intelligence Server for which a connection is requested. If privileges are not present, the Web Services request fails.

Page 47: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. 21

33.BASIC ADMINISTRATIVE OPERATIONS

Introduction

The following administrative tasks described in this chapter are either required or useful at one time or another with MicroStrategy Web Services:

• Editing project sources, page 22

• Editing ASP.NET configuration settings, page 22

• Editing J2EE configuration settings, page 28

• View the service definition, page 33

• Test the services, page 34

• Supporting images in reports and documents, page 34

• Supporting third-party widget files in dashboard documents, page 36

• Controlling Web Services logs, page 36

Page 48: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

22 Editing project sources © 2011 MicroStrategy, Inc.

Editing project sourcesA project source identifies an Intelligence Server with a specific type of authentication. All projects defined on this Intelligence Server are available for use with MicroStrategy Web Services (MWS). In the MWS application directory, the file named projectsources.xml contains a list of all MicroStrategy servers visible to Web Services. If you have selected the default directories during ASP.NET installation, this file is located at C:\Program Files\MicroStrategy\Web Services. With ASP.NET this file can be viewed in your browser with the following URL: http://<hostname>/MicroStrategyWS/ProjectSources.xml.

For a J2EE installation, the projectsources.xml file is in the MicroStrategyWS application directory. With J2EE this file can be viewed in your browser with the following URL: http://<hostname>:8080/MicroStrategyWS/ ProjectSources.xml.

This file contains one definition by default that works if you have installed both MWS and Intelligence Server on the same machine. The contents of this file can be seen in Chapter 2 in either the Verifying your ASP.NET installation, page 13 section or the Verifying your J2EE installation, page 16 section. Steps to add a new project source definition to this file can be found in Chapter 2, Installation and Setup.

If you change the project source and you are using MicroStrategy Office, you must restart your client application (such as Microsoft Excel, Word, or PowerPoint) to see the new project sources. For ASP.NET Web Services, the list of new sources is available the next time you call the GetProjectSources method. For J2EE Web Services, you must restart the MWS application. For a custom client, any project source change is immediately available.

Editing ASP.NET configuration settingsMicroStrategy Web Services (MWS) for ASP.NET maintains a list of custom settings in the <appSettings> section of the web.config file. This file is located in the MWS application directory. If you selected the default directories during installation, this file is located at C:\Program Files\MicroStrategy\Web Services. Unlike the projectsources.xml file, this

Page 49: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. Editing ASP.NET configuration settings 23

file cannot be viewed with a browser. To view and change this file, open this file in an editor on the server machine. Only administrators should change this file.

Any changes you make to the web.config file will cause the application to recompile, which will impact performance if performed too frequently. Additionally, if there is a syntax error of any kind, the application will fail when accessed.

<appSettings> is a child element in the <configuration> root element and can be found at the end of the default web.config file. The following is the default content for an ASP.NET MWS implementation:<appSettings>

<!-- IMAGESUBDIRECTORY identifies the subdirectory under

the installation directory containing MicroStrategy Web

Services specific image files.

-->

<add key="IMAGESUBDIRECTORY" value="images" />

<!-- FLASHSUBDIRECTORY identifies the subdirectory under the

installation directory containing swf files for Flash View

Mode support.

-->

<add key="FLASHSUBDIRECTORY" value="swf" />

<!-- BUNDLESUBDIRECTORY identifies the subdirectory under

the installation directory containing date and string resource

bundles for Flash View Mode support.

-->

<add key="BUNDLESUBDIRECTORY"

value="resBundles" />

<!-- STRINGSBUNDLEPREFIX identifies the file name prefix

for the strings resource bundle used in Flash View Mode

support.

-->

Page 50: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

24 Editing ASP.NET configuration settings © 2011 MicroStrategy, Inc.

<add key="STRINGSBUNDLEPREFIX"

value="DashboardViewerBundle_" />

<!-- DATESBUNDLEPREFIX identifies the file name prefix for

the dates resource bundle used in Flash View Mode support.

-->

<add key="DATESBUNDLEPREFIX" value="DashboardDatesBundle_"

/>

<!-- DASHBOARDVERSION allows the Flash dashboard swf

version to be set to something other than the default build

version.

<add key="DASHBOARDVERSION" value="9.x.yyy.xxx" />

-->

<!-- BLOCKOFFICEUPDATE will prevent Office Install

executable information from being sent to the client.

<add key="BLOCKOFFICEUPDATE" value="true" />

-->

<!-- OFFICEINSTALLURL allows the admin to set an

alternate location for the Office install executable.

If the executable is remote to the server

then the OFFICEINSTALLVERSION config parameter must also be

set.

For example:

"file://ServerOrRemoteHost/fileShare/Setup.exe"On server

fileshare

"http://ServerOrRemoteHost/MicroStrategyWS/Office/Setup.exe"

From another installation

...where fileShare is a directory setup to be

shareable by local and remote hosts, and MicroStrategyWS is

mapped to a virtual directory.

Be aware that the URL is relative to the

client, so a reference to "localhost" will refer to the

client.

Page 51: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. Editing ASP.NET configuration settings 25

<add key="OFFICEINSTALLURL" value="" />

-->

<!-- OFFICEINSTALLVERSION can be used to identify

the version of the Office install executable, if the file

location is not accessible from the web server. Normally, the

version is obtained by querying the file.

<add key="OFFICEINSTALLVERSION" value="

9.x.yyy.zzz" />

-->

<!-- OFFICEINSTALLCONFIGFILELOC allows the admin to

set an alternate location for the default

MicroStrategy Office config file that is

supplied on the web server. The default location for this file

is:

"C:/Program

Files/MicroStrategy/Web Services/Office/moimain.dll.config"

or:

"../WebServiceRootPath/Office/moimain.dll.config"

The location can be specified as:

"Office/moimain.dll.config" relative

path under web service root

"C:/OtherDirectory/moimain.dll.config"absolute path on web

server

"//ServerName/FileShare/OtherDirectory/moimain.dll.config"

network path

"file://ServerName/FileShare/moimain.dll.config"file URL

Page 52: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

26 Editing ASP.NET configuration settings © 2011 MicroStrategy, Inc.

<add key="OFFICEINSTALLCONFIGFILELOC"

value="Office/moimain.dll.config" />

-->

<!-- Additional entries for JVM Classpath.

Each directory path, or JAR file spec should be

separated by a semi-colon ";". No environment variable

substitution is done, so full paths are needed.

(eg. "C:/ClassFiles;C:/MWSVirtualDir/MWS.jar")

Note that the web service root path is

automatically added to the classpath. Also, any newly

specified classpath is simply added to the front of the

existing classpath specified in the registry.

-->

<add key="JVMCLASSPATH" value="" />

<!-- Trace file setup.

If TRACE is set to ON, trace files will grow to the

specified size(MAXTRACEFILESIZE) before being backed up. Once

the specified number of backup files have been created

(NUMBACKUPTRACEFILES),the first backup file will be

overwritten, and so on, in a circular fashion. The trace file

will be named MWSTraceLog.txt and will be located at the web

service root filepath, along with its backup files ie.

C:\Program Files\MicroStrategy\Web Services).

-->

<add key="TRACE" value="ON" />

<!-- Specified in K bytes -->

<add key="MAXTRACEFILESIZE" value="1024" />

<add key="NUMBACKUPTRACEFILES" value="4" />

<!-- Web Admin config settings

Page 53: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. Editing ASP.NET configuration settings 27

SERVERBUSYTIMEOUT and REQUESTTIMEOUT are set at

application startup and apply to all connections.

REPORTSTATEWORKINGSET is set at each session connect.

MAXPOOLEDCONNECTIONS is set at connection time for each

server. This value in web.config is only used as a default

when the projectsource.xml file value for

MaxPooledConnections for a specific projectsource is missing.

-->

<!-- Specified in seconds -->

<add key="SERVERBUSYTIMEOUT" value="300" />

<!-- Specified in seconds -->

<add key="REQUESTTIMEOUT" value="300" />

<!-- Number of session cached report states. -->

<add key="REPORTSTATEWORKINGSET" value="5" />

<add key="MAXPOOLEDCONNECTIONS" value="100" />

</appSettings>

The following table presents each of the settings that appear in the web.config file (shown above) and information about their values:

Setting Description

TRACE If set to ON, trace files grow to the specified size (MAXTRACEFILESIZE) before being backed up. Once the specified number of backup files have been created (NUMBACKUPTRACEFILES), the first backup file is overwritten, and so on in a circular fashion. The trace file (MWSTraceLog.txt) is located at the Web root, along with its backup files.

MAXTRACEFILESIZE Size to which each trace file will grow before being archived.

NUMBACKUPTRACEFILES Number of archived trace files that are preserved.

SERVERBUSYTIMEOUT Amount of time an operation waits for Intelligence Server, if busy.

REQUESTTIMEOUT Amount of time the underlying MicroStrategy Web SDK called during a Web Services operation waits for a response from Intelligence Server.

MAXPOOLEDCONNECTIONS Maximum number of connections that will be opened in a pool between the Web Services computer and a given Intelligence Server.

IMAGESUBDIRECTORY Identifies the subdirectory under the installation directory containing MicroStrategy Web Services specific image files.

Page 54: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

28 Editing J2EE configuration settings © 2011 MicroStrategy, Inc.

Editing J2EE configuration settingsMicroStrategy Web Services (MWS) for J2EE maintains a list of custom settings in the MWSConfig.properties file which are located in the MicroStrategyWS application directory. If you keep the default configuration during deployment, this file is located in the webapps/MicroStrategyWS directory.

FLASHSUBDIRECTORY Identifies the subdirectory under the installation directory containing swf files for Flash View Mode support.

BUNDLESUBDIRECTORY Identifies the subdirectory under the installation directory containing date and string resources bundles for Flash View Mode support.

STRINGSBUNDLEEPREFIX Identifies the file name prefix for the strings resource bundle used in Flash View Mode support.

DATESBUNDLEPREFIX Identifies the file name prefix for the dates resource bundle used in Flash View Mode support.

DASHBOARDVERSION Allows the Flash dashboard swf version to be set to something other than the default build version.

BLOCKOFFICEUPDATE A value of “true” prevents Office Install executable information from being sent to the client.

OFFICEINSTALLURL Allows the administrator to set an alternate location for the Office install executable. If the executable is remote to the server, then the OFFICEINSTALLVERSION config parameter must also be set.

For a server fileshare, use: File://<serverOrRemoteHost>/fileShare/Setup.exe

For another installation, use: HTTP://<ServerOrRemoteHost>/MicroStrategyWS/Office/ Setup.exe

Be aware that the URL is relative to the client, so a reference to LocalHost will refer to the client.

OFFICEINSTALLVERSION Can be used to identify the version of the Office install executable, if the file location is not accessible from the web server. Normally, the version is obtained by querying the file.

Setting Description

Page 55: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. Editing J2EE configuration settings 29

Unlike the projectsources.xml file, this file cannot be viewed with a browser. To view and change this file, open this file in an editor on the server machine. Only administrators should change this file.

Any changes you make to the MWSConfig.properties file do not take affect until the MWS application is restarted.

The following is the default content for a J2EE MWS implementation:###MicroStrategy Web Services J2EE Configuration###

########################

#iServer config settings

########################

#SERVERBUSYTIMEOUT and REQUESTTIMEOUT are set at #application

startup and apply to all #connections.

#seconds

REQUESTTIMEOUT=120

#seconds

SERVERBUSYTIMEOUT=300

#MAXPOOLEDCONNECTIONS is set at connection time #for each

server. This value in #MWSConfig.properties is only used as a

default #when the projectsource.xml file value for

#MaxPooledConnections for a specific #projectsource is

missing.

MAXPOOLEDCONNECTIONS=100

#Maximum number of report/document execution #states saved per

iserver session. Affects the #number of asynchronous report

executions that #can be done concurrently.

REPORTSTATEWORKINGSET=5

#####################################

#MicroStrategy Office config settings

Page 56: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

30 Editing J2EE configuration settings © 2011 MicroStrategy, Inc.

#####################################

#OFFICEINSTALLVERSION defines the build version #of the

setup.exe file associated with Office. It #defaults to the

same build version

#associated with the current version of the Web #Service, and

can be overridden by using the #config parm below.

#OFFICEINSTALLVERSION=9.x.yyy.zzz

#BLOCKOFFICEUPDATE will prevent Office Install #executable

information from being sent to the #client.

#BLOCKOFFICEUPDATE=true

#OFFICEINSTALLURL allows the admin to set an #alternate

location for the Office install #executable.

#Be aware that the URL is relative to the client, #so a

reference to "localhost" will refer to the #client.

#For example:

#On server fileshare...where fileShare is a #directory setup

to be shareable by local and #remote hosts

#OFFICEINSTALLURL=file://ServerOrRemoteHost/fileshare/setup.e

xe

#From another installation...where #MicroStrategyWS is mapped

to a virtual directory.

#OFFICEINSTALLURL=http://ServerOrRemoteHost:8080/MicroStrateg

yWS/Office/Setup.exe

#OFFICEINSTALLCONFIGFILELOC allows the admin to #set an

alternate location for the default

Page 57: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. Editing J2EE configuration settings 31

#Office config file that is supplied on the web #server. The

default location for this file is:

# "C:/Program Files/MicroStrategy/Web

Services/Office/moimain.dll.config"

# or:

# "../WebServiceRootPath/Office/moimain.dll.config"

#For example:

#absolute path on web server

#OFFICEINSTALLCONFIGFILELOC="C:/OtherDirectory/moimain.dll.co

nfig"

#network path

#OFFICEINSTALLCONFIGFILELOC="//ServerName/FileShare/OtherDire

ctory/moimain.dll.config"

#file URL

#OFFICEINSTALLCONFIGFILELOC="file://ServerName/FileShare/moim

ain.dll.config"

#relative path under web service root

#OFFICEINSTALLCONFIGFILELOC="Office/moimain.dll.config"

########################

#MSTRWS config settings

########################

#IMAGESUBDIRECTORY identifies the subdirectory #under the

installation directory

#containing MicroStrategy Web Services specific #image files.

IMAGESUBDIRECTORY=images

Page 58: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

32 Editing J2EE configuration settings © 2011 MicroStrategy, Inc.

#FLASHSUBDIRECTORY identifies the subdirectory #under the

installation directory

#containing swf files for Flash View Mode support.

FLASHSUBDIRECTORY=swf

#BUNDLESUBDIRECTORY identifies the subdirectory #under the

installation

#directory containing date and string resource bundles for

Flash View Mode support.

BUNDLESUBDIRECTORY=resBundles

#STRINGSBUNDLEPREFIX identifies the file name #prefix for the

#strings resource bundle used in Flash View Mode #support.

STRINGSBUNDLEPREFIX=DashboardViewerBundle_

#DATESBUNDLEPREFIX identifies the file name #prefix for

thedates resource bundle used in #Flash View Mode support.

DATESBUNDLEPREFIX=DashboardDatesBundle_

#DASHBOARDVERSION allows the Flash dashboard swf #version

#to be set to something other than the default #build version.

#DASHBOARDVERSION=9.x.yyy.zzz

Note that some configuration options occur for both ASP.NET and J2EE deployments, whereas others apply only to one or the other. The following table presents each of the settings that appear in the MWSConfig.properties file shown above, and information about their values:

Setting Description

SERVERBUSYTIMEOUT Amount of time an operation waits for Intelligence Server, if busy.

REQUESTTIMEOUT Amount of time the underlying MicroStrategy Web SDK called during a Web Services operation waits for a response from Intelligence Server.

MAXPOOLEDCONNECTIONS Maximum number of connections that will be opened in a pool between the Web Services computer and a given Intelligence Server.

IMAGESUBDIRECTORY Identifies the subdirectory under the installation directory containing MicroStrategy Web Services specific image files.

Page 59: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. View the service definition 33

View the service definitionWhen viewed with a browser, MSTRWS.asmx provides a listing of the available Web Services methods. The Services Definition link provides a Web Services Description Language (WSDL) definition of all the MicroStrategy

FLASHSUBDIRECTORY Identifies the subdirectory under the installation directory containing swf files for Flash View Mode support

BUNDLESUBDIRECTORY Identifies the subdirectory under the installation directory containing date and string resource bundles for Flash View Mode support.

STRINGSBUNDLEPREFIX Identifies the file name prefix for the strings resource bundle used in Flash View Mode support.

DATESBUNDLEPREFIX Identifies the file name prefix for the dates resource bundle used in Flash View Mode Support.

DASHBOARDVERSION Allows the Flash dashboard swf version to be set to something other than the default build version.

BLOCKOFFICEUPDATE A value of “true” prevents Office Install executable information from being sent to the client.

OFFICEINSTALLURL Allows the administrator to set an alternate location for the Office install executable. If the executable is remote to the server then the OFFICEINSTALLVERSION config parameter must also be set.

For a server fileshare, use: File://<ServerOrRemoteHost>fileShare/Setup.exe

For another installation, use:http://<ServerOrRemoteHost>MicroStrategyWS/Office/ Setup.exe

Be aware that the URL is relative to the client, so a reference to localhost will refer to the client.

OFFICEINSTALLVERSION Can be used to identify the version of the Office install executable, if the file location is not accessible from the web server. Normally, the version is obtained by querying the file.

OFFICEINSTALLCONFIGFILELOC

Allows the administrator to set an alternate location for the default MicroStrategy Office Config file that is supplied on the web server.

JVMCLASSPATH Path to the JVM is different from the registered path.

REPORTWORKINGSET Number of working sets for report processing, which will limit the number of reports that can be executed in parallel for a single session.

Setting Description

Page 60: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

34 Test the services © 2011 MicroStrategy, Inc.

Web Services. The WSDL defines a Web Service using the XML Schema language. It defines the message formats, data types, operations, and end points, as well as other information to describe the Web Service and allow a client to learn about the message formats. Details of WSDL can be found at http://www.w3c.org.

For ASP.NET, to view the WSDL for MWS, on the MSTRWS.asmx Web page click Services Description. To view a sample of an XML request and response, click a method such as GetProjects.

For J2EE first use a browser to access the application home page, for example http://localhost:8080/MicroStrategyWS for Tomcat. Click WSDL next to the text View Service Description to view the WSDL for MWS.

Test the servicesFor ASP.NET, GetProjectSources and TestService can be invoked on the same computer or, if configuration settings are changed, from a remote computer. For J2EE, TestService can be invoked in any configuration. See the appropriate procedure in Chapter 2, in either the Verifying your ASP.NET installation, page 13 section or the Verifying your J2EE installation, page 16 section for details on how to use these methods to verify a MWS installation. See Chapter 6, Verifying Web Services availability section for instructions to change the configuration to allow testing from a remote computer for ASP.NET.

Supporting images in reports and documentsImages may be included in reports and Report Services documents as image objects or threshold images. For more information on what a threshold object is and how they are used, see the MicroStrategy Basic Reporting Guide. These images can be included with the following reference types that are supported by MicroStrategy Web Services:

Note the following:

• Paths on MicroStrategy Web Services machines are case-sensitive when running MicroStrategy Web Services J2EE.

• For an image to appear in reports or documents, the user must have authorization to access the image and image location.

Page 61: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. Supporting images in reports and documents 35

• Absolute path references — for example, C:\Images\image.jpg

• Network path references — for example, \\Server\Share\Images\image.jpg

• Web path references — for example, http://Server/Images/image.jpg

Web path references require more advanced security administration since the Web Services server must connect to a second server to pass along or delegate the user’s credentials.

• Relative path references — for example, images\image.jpg

Relative image paths are resolved to absolute file locations by determining their base location. The absolute file location is resolved by appending the relative path to the base location path. For Web Services, the base location depends on the type of object referencing an image:

For images in reports, the base location depends on the version of Web Services:

For images in Report Services documents, including Flash dashboards, the base location depends on the output or mode with which the document is being handled:

MicroStrategy Web Services Base Location Example

ASPx Web Services virtual directory C:\Program Files \MicroStrategy\ Web Services

J2EE MicroStrategy Web Services war file deployment directory

C:\Program Files\Tomcat 5.5 \webapps\MicroStrategyWS

Output/Mode Base Location Example

Excel XML output Windows temporary directory on the client machine

C:\Documents and Settings \User\Local Settings\Temp

Flash view mode Web Services virtual directory C:\Program Files \MicroStrategy\Web Services

PDF output Relative to the Intelligence Server installation

C:\Program Files\MicroStrategy\ Intelligence Server

Page 62: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

36 Supporting third-party widget files in dashboard documents © 2011 MicroStrategy, Inc.

If an image cannot be found or accessed, MicroStrategy Web Services returns a standard image indicating that the image could not be retrieved.

Images in HTML documents are not processed by MicroStrategy Web Services since HTML documents are executed as a collection of MicroStrategy reports.

Supporting third-party widget files in dashboard documents

MicroStrategy Web Services distributes dashboard documents viewed in Flash mode and any third-party widget files as .SWF files. A dashboard document can reference a combination of one or more MicroStrategy widgets and third-party widgets implemented as .SWF files. When a MicroStrategy Web Services client application accesses a dashboard document requiring one or more .SWF files, Web Services retrieves the .SWF files from the SWF subdirectory of your Web Services deployment directory.

MicroStrategy widget files are included in the SWF subdirectory by default. However, to include any third-party widget files you must first deploy the widget in MicroStrategy Web. This automatically updates the widgets .XML file. After the widget has been deployed, the widget files must be copied to the .SWF subdirectory.

You can register third-party widget files with the use of MicroStrategy SDK customizations. For information on the MicroStrategy SDK and how to register third-party widget files with MicroStrategy, see the MicroStrategy Developer Library. If you do not have a license for MicroStrategy SDK, contact your MicroStrategy account executive.

Controlling Web Services logsThere are two logs for MWS error messages and information related to MWS. In the MWS application directory, files appear in the form MWSJavaLogMMDDYYY_n.log. In these files, log messages appear from the Java MWS Object classes. You can control the logging with settings in the mwsLogger.properties file found in the MicroStrategy Web Services application directory. See the Configuring the ASP.NET log section in Chapter 6 for more information about configuring the .NET logging.

Page 63: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Basic Administrative Operations 3

© 2011 MicroStrategy, Inc. Controlling Web Services logs 37

Messages from the .NET portion of MWS are found in the log MWSTraceLog.txt file located in the MWS application directory. This log is controlled with settings in the web.config file. See Chapter 6, Configuring the ASP.NET log section for more information about configuring the .NET logging.

For J2EE there is also an infrastructure log with the name MWSAxisJavaLog.txt. There are also logs managed by the application server that may contain messages relevant to MWS. Consult your application server documentation for more information about standard locations and administration of these logs.

Page 64: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Basic Administrative Operations MicroStrategy Web Services Administration3

38 Controlling Web Services logs © 2011 MicroStrategy, Inc.

Page 65: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. ASP.NET configuration settings 39

44.APPLICATION CONFIGURATION AND TUNING FOR ASP.NET

Introduction

This chapter presents details on several settings in the machine.config file and the web.config file. It also discusses available performance counters and how to use them to monitor and tune your Web Services deployment in the ASP.NET environment.

ASP.NET configuration settingsThe .NET environment uses a hierarchy of XML configuration settings to control the processing of .NET applications. ASP.NET makes use of this hierarchy with a machine.config file that sets system-wide configuration and a hierarchy of web.config files that control the application and its components. Some settings can only be managed in the machine.config file. When settings appear in both files, a setting in the web.config file overrides the setting in the machine.config file. Custom settings can be defined and managed by handler components for application-specific control.

Page 66: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

40 ASP.NET configuration settings © 2011 MicroStrategy, Inc.

Although all settings can impact .NET Web Services either directly or indirectly, certain groups of settings can directly impact the performance and operation of Web Services. The discussion in this section focuses on certain elements of the configuration files only. For a complete reference to the settings, consult your Microsoft .NET documentation.

The following elements are discussed in more detail in this section:

• ProcessModel

• HttpRuntime

• Authentication

• Identity

The machine.config file is located at: %windir%\Microsoft.NET\Framework\[version]\ CONFIG\machine.config

The web.config file is located in the MicroStrategy Web Services application directory.

ProcessModel

The processModel element specifies how IIS will start and end ASP.NET worker processes. This element appears in machine.config only. The following table displays the attributes for processModel. In some cases, a recommended setting for MicroStrategy Web Services is noted. If there is no recommended setting, use the default. In all cases, optimized settings for your environment depend on your workload. Several of these settings are discussed in more detail below the table.

Attribute Value Default Value Recommended Value Description

enable true | false true Enables processModel.

timeout Infinite | HH:MM:SS

Infinite Total life of process, once expired process is shut down and a new process is created.

idleTimeout Infinite | HH:MM:SS

Infinite Total idle life of process, once expired process is automatically shut down.

Page 67: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. ASP.NET configuration settings 41

shutdownTimeout Infinite | HH:MM:SS

0:00:05 Time process is given to shut down gracefully before being killed.

requestLimit Infinite | number Infinite Total number of requests to serve before process is shut down.

requestQueueLimit Infinite | number 1000 5000 Number of queued requests allowed before process is shut down.

restartQueueLimit Infinite | number 10 100 Number of requests kept in queue while process is restarting.

memoryLimit Number 60 Percentage of physical memory process is allowed to use before process is recycled.

webGarden true | false false Whether a process should be affinitized with a particular CPU.

cpuMask bit mask Oxffffffff Number of available CPUs for ASP.NET processes (WebGarden must be set to true).

userName User machine Windows user to run the process as:

• Special users: “SYSTEM” runs as local system (high privilege admin) account.

• “machine”: Runs as a low privilege user account named “ASPNET”.

• Other users: If domain is not specified, the current machine name is assumed to be the domain name.

password AutoGenerate | password

AutoGenerate Password of Windows user. For special users (SYSTEM and machine), specify AutoGenerate.

logLevel All | None | Errors

Errors Event types logged to the event log.

Attribute Value Default Value Recommended Value Description

Page 68: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

42 ASP.NET configuration settings © 2011 MicroStrategy, Inc.

IIS 6.0 and the IIS Manager

When running under IIS 6, ASP.NET uses the IIS Manager to set several processModel settings. Some processModel settings are still read from the processModel element in the machine.config file. These include the following:

• requestQueueLimit

• responseDeadlockInterval

• maxWorkerThreads

• maxIoThreads

clientConnected Check

HH:MM:SS 0:00:05 Time a request is left in the queue before ASP.NET does a client connected check.

comAuthentication Level

Default | None | Connect | Call | Pkt | PktIntegrity | PktPrivacy

Connect Level of authentication for DCOM security.

comImpersonationLevel

Default | Anonymous | Identify | Impersonate | Delegate

Impersonate Authentication level for COM security.

responseDeadlockInterval

Infinite | HH:MM:SS

00:03:00 For deadlock detection, timeout for responses when there are executing requests.

maxWorkerThreads Number 20 100 Maximum number of worker threads per CPU int he thread pool.

maxIoThreads Number 20 Maximum number of IO threads per CPU in the thread pool.

serverErrorMessageFile

Filename Customization for “Server Unavailable” message.

Attribute Value Default Value Recommended Value Description

Page 69: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. ASP.NET configuration settings 43

• minWorkerThreads

• minIoThreads

The other settings are managed in the IIS Manager Properties dialogs. See the Microsoft IIS Manager documentation for complete details.

To set the values in IIS Manager, open the Properties dialog for the MicroStrategyWebServicesPool application pool. The settings are located on the Recycling, Performance, and Health tabs.

Thread pool limits

The process thread pool services incoming requests. The number of threads is limited to prevent exhausting system resources for thread management, which may degrade performance. If there is a free thread and a request arrives, that request acquires the thread. If all threads are busy, the request is queued until there is a free thread.

The default number of threads is 20 per processor. MicroStrategy recommends raising this setting to 100. It is a good idea to tune this based on your Web Services server CPU utilization and your Intelligence Server utilization. If both are low, you can increase this setting if requests are queueing.

httpRuntime

The following table displays the attributes for httpRuntime with a recommended setting for MWS if different from the default and one has been identified. Several of these settings are discussed in more detail below the table.

Attribute Value Default Value Recommended Value Description

executionTimeout seconds 90 Time in seconds before a request is automatically timed out.

maxRequestLength KBytes 4096 Size in kilobytes of maximum request length to accept.

useFullyQualified RedirectUrl

true | false false Fully qualifies the URL for client redirects.

Page 70: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

44 ASP.NET configuration settings © 2011 MicroStrategy, Inc.

maxWorkerThreads, maxIoThreads, and minFreeThreads

If request processing and queueing capacity are exhausted, requests will be rejected. HTTP clients will receive HTTP 503 errors with the message “The service is temporarily overloaded.” This error is caused when the application queue is full, which is controlled by the appRequestQueueLimit setting. If there are only minFreeThreads left of the maxWorkerThreads defined, and maxIoThreads are in use for IO processing, and appRequestQueueLimit requests are waiting, then requests are rejected.

maxWorkerThreads and maxIoThreads are set in the machine.config file in the processModel element (discussed above) and impact all ASP.NET applications. The default value for each is 20 threads per processor.

minFreeThreads is set in either the machine.config or web.config file in the httpRuntime element. If the number of free threads is smaller than this value, new requests will be queued. This allows threads to be available to finish a request in process to prevent deadlocks. The minFreeThreads setting is 8 and must be increased if the maxWorkerThreads is increased.

minFreeThreads count 8 20 Minimum number of free threads to allow execution of new requests.

minLocalRequest FreeThreads

count 4 10 Minimum number of free threads to allow execution of new local requests.

appRequestQueue Limit

count 100 500 Maximum number of requests queued for the application.

enableKernelOutputCache

true | false true Enables the http.sys cache on IIS 6 and higher.

enableVersion Header

true | false true Outputs the ASP.NET-Version header with each request.

Attribute Value Default Value Recommended Value Description

Page 71: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. Performance monitoring and tuning 45

Authentication and identify settings

The authentication and identify settings are in the system.web element and can be set in both the machine.config and web.config files. The authentication and identify settings are set as follows for MicroStrategy Web Services:

<authentication mode=“Windows” />

<identity impersonate=“true” />

These settings allow for NT authentication with impersonation, in conjunction with disabling Anonymous authentication in IIS.

Identity controls the application identity of the application. It defines the user context under which the application thread will execute. As the Web Service executes, it is restricted to those resources that the user has authorization to use.

Performance monitoring and tuningThis section describes how to start the Performance Monitor and add counters. It lists and describes useful counters for ASP.NET Web Services monitoring, and provides details for several counters as they relate to monitoring and tuning MicroStrategy Web Services (MWS).

There are many additional standard and custom performance counters from Microsoft, MicroStrategy, and other companies.

Performance Monitor

Performance analysis of ASP.NET application is enabled using performance counters and the Performance Monitoring tool. With this tool, you can obtain quantitative measures of application and server characteristics during application operations. With these measures, you can:

• Understand the loads placed on your application.

• Understand the bottlenecks of your deployment.

• Evaluate the capacity needs of your application.

Page 72: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

46 Performance monitoring and tuning © 2011 MicroStrategy, Inc.

• Debug issues caused by excessive demand or insufficient capacity.

• Measure the effects of server changes on the application.

Starting the Performance Monitor

To start the Performance Monitor

1 From your Windows Start menu, select Settings, then select Control Panel.

2 Double-click Administrative Tools.

3 Double-click Performance to start the Performance Monitor.

To add a counter to the Performance Monitor

1 Start the Performance Monitor.

2 Click System Monitor if it is not already visible. Then click to expand the Add Counters dialog box.

3 Click Use local counters, or select counters from your computer and select the target computer from the list box.

4 Select the counter category from the Performance Object list box, and click Select counters from list. From the list, select the counters desired. Use the Ctrl or Shift keys to select multiple counters.

5 If the counter you chose supports instances, click Select instances from list and select an instance. Click Add to add one or more instances to the Performance Monitor.

6 Click Close to close the Add Counters window.

See your Microsoft documentation for complete details on this and other Performance Monitor features.

Page 73: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. Performance monitoring and tuning 47

Basic counters

Whenever you are testing application performance, the following counters should be included. They provide a useful foundation of data for detailed analysis. Each counter in the table is described in more detail in the following sections.

.NET CLR counters

These counters provide details about the .NET Common Language Runtime environment that underlies the ASP.NET infrastructure.

Category Instance Counter

Processor _Total % Processor Time

Process • Windows XP: aspnet_wp• Windows 2003/2008: aspnet_w3wp

% Processor Time

Process • Windows XP: aspnet_wp• Windows 2003/2008: aspnet_w3wp

Private Bytes

Process • Windows XP: aspnet_wp• Windows 2003/2008: aspnet_w3wp

Virtual Bytes

Process • Windows XP: aspnet_wp• Windows 2003/2008: aspnet_w3wp

Handle Count

.NET CLR Exceptions #Exceps Thrown / sec

ASP.NET Application Restarts

ASP.NET Requests Rejected

ASP.NET Worker Process Restarts

Memory Available Mbytes

Web Service Current Connections

Category Instance Counter Comments

.NET CLR Exceptions

#Exceps thrown / sec Total number of managed exceptions thrown per second. Performance degrades as this number increases.

.NET CLR Loading

• Windows XP: aspnet_wp• Windows 2003/2008:

aspnet_w3wp

Current AppDomains Number of AppDomains loaded in the process.

Page 74: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

48 Performance monitoring and tuning © 2011 MicroStrategy, Inc.

• .NET CLR Exceptions\Exceps thrown/sec: Performance degrades as this number increases. Certain methods such as Response.Redirect can trigger exceptions that are logged with this counter. Even if not caused by Web Services, other applications running may raise this number and lower overall performance. This number should remain below 5% of the Requests Per Second counter.

• .NET CLR Loading\Current AppDomains: This number should be the number of Web applications, + 1 for the default domain.

• .NET CLR Loading\Current Assemblies: Web Services are implemented as ASMX files. Along with ASPX and ASCX files, these are grouped in an application based on dependencies, and one or more assemblies will be created. If too many assemblies are loaded in the process, memory use may be high. Assemblies cannot be unloaded, and when recompilations occur, they build up in the process. After recompilations exceed the limit set in numRecompilesBeforeAppRestart, the application restarts.

• .NET CLR Loading\Bytes in Loader Heap: If this value does not level out and continues to rise, check the Current Assemblies counter.

.NET CLR Loading

• Windows XP: aspnet_wp• Windows 2003/2008:

aspnet_w3wp

Current Assemblies Number of assemblies loaded in the process.

.NET CLR Loading

• Windows XP: aspnet_wp• Windows 2003/2008:

aspnet_w3wp

Bytes in Loader Heap Number of bytes committed by the class loaded across all AppDomains.

.NET CLR Memory

• Windows XP: aspnet_wp• Windows 2003/2008:

aspnet_w3wp

# Bytes in All Heaps Number of bytes committed by managed objects. Sum of the large object heap and Generation 0, 1, and 2 heaps.

.NET CLR Memory

• Windows XP: aspnet_wp• Windows 2003/2008:

aspnet_w3wp

# Gen 0 Collections Number of times Generation 0 objects have been garbage collected.

.NET CLR Memory

• Windows XP: aspnet_wp• Windows 2003/2008:

aspnet_w3wp

# Gen 1 Collections Number of times Generation 1 objects have been garbage collected.

.NET CLR Memory

• Windows XP: aspnet_wp• Windows 2003/2008:

aspnet_w3wp

# Gen 2 Collections Number of times Generation 2 objects have been garbage collected.

Category Instance Counter Comments

Page 75: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. Performance monitoring and tuning 49

• .NET CLR Memory\# Bytes in all Heaps: This counter will be less than Process/Private Bytes, which includes all regions of type MEM_COMMIT. This counter is a subset of those regions. The gap consists of memory used by unmanaged code. When memory use is high, determine if it is in managed or unmanaged code.

• .NET CLR Memory\# Gen N Collections: The CLR does a garbage collection, either when space is required for object allocation, or when one is forced. Collections of higher generations take longer, and each generation should have 10x that of the next generation. Along with the % Time in GC counter (below), this counter can identify excessive allocations.

• .NET CLR Memory\% Time in GC: All threads are suspended during collection. This counter determines whether too much time is spent in collection. A value of 5% or less is good, although occasionally higher values may occur.

ASP.NET and ASP.NET Application counters

These counters provide details about the ASP.NET environment and the individual applications. When working with ASP.NET application counters, you may want to select the MicroStrategy Web Services instance that includes the name of the virtual directory for this Web application. By default, this is MicroStrategyWS.

An asterisk (*) in the table below denotes a wildcard.

Category Instance Counter Comments

ASP.NET Application Restarts Number of application restarts.

ASP.NET Applications Running Number of applications running.

ASP.NET Requests Current Number of requests currently being handled by the ASP.NET ISAPI.

ASP.NET Request Execution Time

Time taken to execute the last request, in milliseconds.

ASP.NET Requests Queued Number of requests currently queued.

ASP.NET Requests Rejected Number of rejected requests.

ASP.NET Request Wait Time Number of milliseconds that the most recent request spent waiting in the queue, or named pipe, between inetinfo and aspnet_wp.

Page 76: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

50 Performance monitoring and tuning © 2011 MicroStrategy, Inc.

ASP.NET Worker Processes Running

Current number of aspnet_wp worker processes.

ASP.NET Worker Process Restarts

Number of aspnet_wp process restarts.

ASP.NET Applications

*MicroStrategyWS Cache Total Entries Current number of entries in cache.

ASP.NET Applications

*MicroStrategyWS Cache Total Hit Ratio Total hit-to-miss ratio of all cache requests.

ASP.NET Applications

*MicroStrategyWS Cache Total Turnover Rate

Number of additions and removals to the cache per second.

ASP.NET Applications

*MicroStrategyWS Cache API Entries Number of entries currently in user cache.

ASP.NET Applications

*MicroStrategyWS Cache API Hit Ratio Total hit-to-miss ratio of User Cache requests.

ASP.NET Applications

*MicroStrategyWS Cache API Turnover Rate

Additions and removals to user cache per second.

ASP.NET Applications

*MicroStrategyWS Output Cache Entries Number of entries currently in Output Cache.

ASP.NET Applications

*MicroStrategyWS Output Cache Hit Ratio

Total hit-to-miss ratio of Output Cache requests.

ASP.NET Applications

*MicroStrategyWS Output Cache Turnover Rate

Additions and removals to the output cache per second.

ASP.NET Applications

*MicroStrategyWS Pipeline Instance Count

Number of active pipeline instances.

ASP.NET Applications

*MicroStrategyWS Compilations Total Total number of .NET files that have been compiled.

ASP.NET Applications

*MicroStrategyWS Errors During Preprocessing

Number of configuration and parsing errors.

ASP.NET Applications

*MicroStrategyWS Errors During Compilation

Total number of compilation errors.

ASP.NET Applications

*MicroStrategyWS Errors During Execution

Total number of errors while executing.

ASP.NET Applications

*MicroStrategyWS Errors Unhandled During Execution

Number of unhandled exceptions during execution.

ASP.NET Applications

*MicroStrategyWS Errors Unhandled During Execution/sec

Number of unhandled exceptions per second during execution.

ASP.NET Applications

*MicroStrategyWS Errors Total Sum of Errors During Preprocessing, Errors During Compilation, and Errors During Execution.

Category Instance Counter Comments

Page 77: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. Performance monitoring and tuning 51

• ASP.NET\Application Restarts: An application restart takes time and occurs when one of the configuration files is modified, when global.asax is modified, when recompilations exceed a preset threshold, if the contents of the bin directory are modified, or as a result of other administrative actions. If you maintain a farm of servers, it is recommended you take each server offline before making these administrative changes. A value greater than 0 should be investigated.

• ASP.NET\Requests Current: This includes requests queued, executing, or waiting to be sent to the client. If the current value exceeds requestQueueLimit in the processModel, ASP.NET will reject requests. This configuration setting applies to all supported versions of IIS. Other settings in this category include responseDeadlockInterval, maxWorkerThreads, maxIoThreads, minWorkerThreads, and minIoThreads.

Requests Queued used with Requests in Application Queue can determine when requests will be rejected. When Requests Current exceeds the requestQueueLimit, requests are rejected with a 503 status code and the message “Server is too busy.”

ASP.NET Applications

*MicroStrategyWS Errors Total/sec Total of Errors During Preprocessing, Errors During Compilation, and Errors During Execution, per second.

ASP.NET Applications

*MicroStrategyWS Requests Executing Number of requests currently executing.

ASP.NET Applications

*MicroStrategyWS Request In Application Queue

Number of requests in the application request queue.

ASP.NET Applications

*MicroStrategyWS Requests Not Found Number of requests for resources not found.

ASP.NET Applications

*MicroStrategyWS Requests Not Authorized

Number of requests failed because of unauthorized access.

ASP.NET Applications

*MicroStrategyWS Requests Timed Out Number of requests that have timed out.

ASP.NET Applications

*MicroStrategyWS Requests Succeeded Number of requests successfully executed.

ASP.NET Applications

*MicroStrategyWS Requests Total Number of requests since the application started.

ASP.NET Applications

*MicroStrategyWS Requests/sec Number of requests executed per second.

Category Instance Counter Comments

Page 78: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

52 Performance monitoring and tuning © 2011 MicroStrategy, Inc.

Deadlocks are detected using this counter. <process Model response DeadlockInterval=X/> is the limit of duration for which responses will be waited on if Requests Current is greater than the sum of maxWorkerThreads plus maxIoThreads. The result is that the process is terminated and a new one is started.

<httpRuntime executionTimeout=X/> should be less than responseDeadlockInterval.

• ASP.NET\Request Execution Time: Execution time begins when the HttpContext for the request is created, until the response is sent by IIS. This counter varies widely from reading to reading.

• ASP.NET\Requests Queue: In IIS 6.0 and later, requests are posted to the managed ThreadPool via a queue from native code, and a queue for each virtual directory. Requests in all queues are summed. This count increases with a shortage of worker threads.

Each application or virtual directory queues requests if worker and IO threads fall below the limit set by <httpRuntime minFreeThreads=X/>. The requests are queued until they reach the limit in <httpRuntime appRequestQueueLimit=/>. At that point, the request is rejected with a 503 status code and the message “Server too busy.”

• ASP.NET\Requests Rejected: When a queue limit is exceeded, requests are rejected. If request processing requires external resources that are slow to respond, queues will fill up. Heavy loads and stress can cause the queue to fill up even without using slow external resources.

Any time this counter is greater than 0, this should be investigated.

If requests are rejected, use this counter along with the following counters, all of which are described in this section:

Process\% Processor Time

Process\Private Bytes

Process\Thread Count

Web Service\ISAPI Extension Requests/sec

ASP.NET\Requests Current

ASP.NET\Requests Queued

ASP.NET\Request Wait Time

Page 79: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. Performance monitoring and tuning 53

ASP.NET\Applications\Pipeline Instance Count

ASP.NET\Applications\Requests in Application Queue

• ASP.NET\Request Wait Time: The queue is a named pipe between inetinfo and aspnet_wp. This counter measures time spent in that queue (but not the application queue). Any value above 1000 should be investigated. The average request should wait 0 seconds.

• ASP.NET\Worker Processes Running: If a new worker process starts to replace a current worker process, there may be two running at the same time. If for some reason the old process does not terminate, this can be a problem. This counter should not exceed 2 if webGarden is false. If webGarden is true, this value should be no greater than the number of CPUs +1.

• ASP.NET\Worker Process Restarts: Any restart should be investigated. Configuration variables interact to trigger a controlled restart, whereas exceptions may trigger unexpected restarts. Restart causes are recorded in the Application Event log.

• ASP.NET Applications\Cache* counters: There are a number of Cache counters that you might want to investigate. MicroStrategy Web Services does not cache data in the ASP.NET cache. The underlying Web objects and Intelligence Server caches are leveraged instead. However, some system elements are cached and can be investigated when there are performance issues.

ASP.NET uses the cache for objects that are expensive to create.

• ASP.NET Applications\Pipeline Instance Count: A pipeline instance will have only one executing thread. This count measures the number of concurrent requests for the application. If this number begins to rise, there may be a problem with external resources.

• ASP.NET Applications\Compilations Total: This is the number of ASP.NET code files that have been compiled, including ASMX Web Services files. Compiled files are combined into assemblies; the number is based on dependencies between files. Dependencies between files affect recompilations as well as other settings. Web Services recompilations are triggered by changes in files, including web.config, machine.config, and global.asax. Changes to dependent assemblies in the bin folder will also cause recompilations. Assemblies are saved in temporary locations. Existing assemblies will be used if there are no relevant changes when an application starts or restarts.

• ASP.NET\Errors* counters: Numerous Error counters are available to analyze the volume and type of errors.

Page 80: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

54 Performance monitoring and tuning © 2011 MicroStrategy, Inc.

• ASP.NET\Requests Executing: The number of currently executing requests controlled by httpRuntime.

• ASP.NET\Requests in Application Queue: The number of requests in the application request queue. Together with Requests Current, this provides a warning that requests may be rejected. Increase appRequestQueueLimit if necessary.

• ASP.NET\Requests/sec: The number of requests executed per second. This value is affected by application restarts, whereas Web Service\ISAPI Extension Requests/sec is not.

Process, Processor, Memory, and System counters

• Process\% Processor Time: If this value exceeds 70% for long periods, then the system is underpowered.

• Process\Handle Count: If this number is in the 5000 or 10,000 range, then performance will degrade and something is wrong. For instance, a denial-of-service attack against IIS can cause this number to jump beyond these levels.

• Process\Private Bytes: Memory leaks are revealed by a steady increase in Private Bytes. Set a memory limit for Private Bytes with the <processModel memoryLimit=X> setting if you are concerned about

Category Instance Counter Comments

Process aspnet_wp, inetinfo, or w3wp % Processor Time Percentage of time threads in this process spend using processors.

Process aspnet_wp, inetinfo, or w3wp Handle Count Count of handles in the process.

Process aspnet_wp, inetinfo, or w3wp Private Bytes Size, in bytes, of committed memory for this process.

Process aspnet_wp, inetinfo, or w3wp Thread Count Number of threads active in the process.

Process aspnet_wp, inetinfo, or w3wp Virtual Bytes Current number of bytes of the virtual address space for this process.

Processor % Processor Time Percentage of time all threads use processors.

Memory Available Mbytes Amount of physical RAM available.

System Context Switches/sec Rate at which processors switch thread contexts.

Page 81: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Application Configuration and Tuning for ASP.NET 4

© 2011 MicroStrategy, Inc. Performance monitoring and tuning 55

a memory leak. A limit of 60% or 800 MB is recommended if you are not using the /3GB switch. If you are using the /3GB switch, calculate the percentage to be no more than 1800MB of physical memory.

• Process\Thread Count: Watch this number if it climbs to 75 + ((maxWorkerThread+maxIoThreads) * #CPUs).

• Process\Virtual Bytes: Watch this number if it becomes larger than 600MB less than the virtual address space. Use 1.4MB without /3GB and 2.4GB with /3GB.

• Processor\% Processor Time: A value greater than 70% means underpowered hardware.

• Memory\Available Mbytes: The amount of physical RAM available. If the value is less than 20%, a hardware issue exists.

• System\Context Switches/sec: A high number can mean high lock contention. This number should increase linearly with throughput, load, and the number of CPUs.

Web Service counters

• Web Service\Current Connections: Optimal values for your site will depend on local factors. Once an expected level is understood, look for spikes and trends.

• Web Service\Total Method Requests/sec: This is helpful for diagnosing performance problems. Compare with Requests/sec and ISAPI Extension Requests/sec.

• Web Service\ISAPI Extension Requests/sec: This is helpful for diagnosing performance problems. Compare with Requests/sec and Total Method Requests/sec.

Category Instance Counter Comments

Web Service Current Connections Number of current connections.

Web Service Total Method Requests/sec Method requests per second.

Web Service ISAPI Extension Requests/sec Includes requests to all ISAP extensions, not just aspnet_isapi.dll.

Page 82: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Application Configuration and Tuning for ASP.NET MicroStrategy Web Services Administration4

56 Performance monitoring and tuning © 2011 MicroStrategy, Inc.

Page 83: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. 57

55.ADVANCED INSTALLATIONS

Introduction

MicroStrategy Web Services (MWS) support advanced features for security and scalability. Authentication and authorization are handled through standard operating system and Web Server mechanisms for ASP.NET and J2EE. Web Services can provide message privacy by encrypting messages using Secure Socket Layer (SSL).

There are three possible levels of service redundancy to increase scalability and reliability of MWS:

• Web Farms: These are multiple Web Servers running MWS, and are configured to appear as a single Web Service and provide fault tolerance capabilities.

• Web Garden: This allows multiple processes on a single Web Server to appear as one process, supporting balanced work across multiple CPUs and fault tolerance.

• Clustering of MicroStrategy Intelligence Servers

Page 84: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Advanced Installations MicroStrategy Web Services Administration5

58 Setting up SSL for encryption © 2011 MicroStrategy, Inc.

This section discusses setting up SSL, Web Gardens, and Web Farms using Windows 2003. For J2EE platforms, consult your operating system and application server documentation. Other hardware and software technologies can be used to set up Web Farms. Clustering is discussed in the MicroStrategy System Administration Guide.

Setting up SSL for encryptionMicroStrategy Web Services (MWS) can be configured to use Secure Socket Layer (SSL) connection to create an encrypted channel between the client and server. This protects messages from outside viewing to ensure privacy of communications between the client and the server. The privacy of the messages is protected, and SSL can guarantee the identification of one or both parties in the transaction.

The following list summarizes the work involved in setting up SSL:

• Generate an SSL Certificate Request.

• Submit the Certificate Request and issue the certificate.

• Install the SSL certificate on the Web Server.

• Configure the Web Service to require SSL access.

• Test SSL access to the Web Service.

• Configure the client to use the SSL HTTPS URL.

• Establish trust between the client and server.

Generating an SSL Certificate Request

Perform the following steps to generate an SSL Certificate Request.

Page 85: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Advanced Installations 5

© 2011 MicroStrategy, Inc. Setting up SSL for encryption 59

To generate an SSL Certificate Request

1 If you purchased an SSL Certificate from a certificate authority (CA) or an enterprise CA, begin with step 2. Otherwise, install the Certificate Services for your Windows operating system, as follows:

• From the left-hand side of the Add/Remove Programs window, select Add/Remove Windows Components. The list of available services is displayed.

• Check the Certificate Services check box. To complete the installation, follow the instructions that appear.

2 From your Start menu, select Settings, select Control Panel, and then select Administrative Tools. Open the Internet Services Manager tool.

3 Use the tree control to navigate to the website containing the MWS virtual directory. By default, this is the Default Web Site. Right-click on the website and select Properties. The Properties dialog box opens.

4 On the Directory Security tab, select Server Certificate. The Web Server Certificate Wizard opens.

5 In the Welcome dialog box, click Next. Click Create a New Certificate and click Next again.

6 The following two options appear:

• Prepare the request now, but send it later: This allows you to prepare the certificate request now, but send it later.

• Immediately send the request to a Certificate Authority: This option only appears if you have a properly configured Microsoft Certificate Server available in your domain. See your Microsoft documentation for more details.

To use your own Certificate Services setup, select Prepare the request now, but send it later and click Next.

7 Enter a name and bit length value and click Next.

8 Enter an organization name and an organization unit name, and click Next.

Page 86: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Advanced Installations MicroStrategy Web Services Administration5

60 Setting up SSL for encryption © 2011 MicroStrategy, Inc.

9 Enter a common name for your site.

• If this site is on the Internet, you should use your URL, for example, www.mysite.com.

• If this site is on an intranet, use the NetBIOS or DNS name of your computer, which should be displayed by default.

For external users, if the common name does not match the URL, the user receives a warning.

10 Enter your geographical information and click Next.

11 Enter a file name and click Next to see a Request File Summary. The file contains a Base 64 encoded string containing the information in the request as well as your public key. Additional information is signed with your private key. A Certificate Authority can use your public key to verify the information signed with your private key.

12 Click Next, and then click Finish.

Submitting a Certificate Request and issuing the certificate

Perform the following steps to submit an SSL Certificate Request and issue the certificate.

To submit a Certificate Request and issue the certificate

1 Open the generated Request File with Notepad and copy the contents to the clipboard.

2 In your browser, open the following URL: http://<hostname>/CertSrv, for the <hostname> on which Microsoft Certificate Services was installed.

3 Click Request a Certificate and click Next. The Choose Request Type page opens.

4 Click Advanced Request and click Next. The Advanced Certificate Requests page opens.

5 Click Base64 Encoded Certificate Request (PKCS #10 or #7) and click Next. The Submit a Saved Request page opens.

Page 87: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Advanced Installations 5

© 2011 MicroStrategy, Inc. Setting up SSL for encryption 61

6 Paste the information from the Certificate Request file that you copied previously, into the text box beneath the Saved Request header. Click Submit to open the Certificate Pending page, and then close your browser.

7 From your Start menu, select Settings, select Control Panel, and then select Administrative Tools. Open the Certification Authority tool.

8 Open your Certification Authority branch, open the Pending Requests folder, and click your request.

9 Click Action, then All Tasks, and then Issue. The request is deleted from the Pending Requests folder and moved to the Issued Certificates folder.

10 Click Issued Certificates and double-click the new certificate. The Certificate dialog box opens.

11 On the Details tab, click Copy to File.... The Certificate Export Wizard opens.

12 Click Base-64 encoded X.509 certificate and click Next.

13 Enter a file name to save the certificate and click Next. The Completing the Export Wizard page opens.

14 Verify the summary and click Finish.

15 Close the Certificate dialog box and close the Certificate Authority tool.

Installing the SSL certificate on the Web Server

Perform the following steps to install the SSL certificate on the Web Server.

To install the SSL certificate on the Web Server

1 From your Start menu, select Settings, select Control Panel, then select Administrative Tools. Open the Internet Services Manager tool.

2 Use the tree control to navigate to the website containing the MWS virtual directory. By default, this is the Default Web Site. Right-click on the website and click Properties. The Properties dialog box opens.

Page 88: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Advanced Installations MicroStrategy Web Services Administration5

62 Setting up SSL for encryption © 2011 MicroStrategy, Inc.

3 On the Directory Security tab, click Server Certificate.... The Web Server Certificate Wizard opens. Click Next to close the Welcome page.

4 Click Process the pending request and install the certificate. Click Next. The Process a Pending Request page opens.

5 Enter the path and file name of the issued certificate and click Next. The Certificate Summary page opens.

6 Review the information in the Certificate Summary, click Next, and then click Finish to install the certificate on the Web Server.

Configuring Web Services to require SSL access

Perform the following steps to configure MWS to require SSL access.

To configure Web Services to require SSL access

1 From your Start menu, select Settings, select Control Panel, and select Administrative Tools. Open the Internet Services Manager tool.

2 Use the tree control to navigate to the MWS virtual directory, which is named MicroStrategyWS by default. Right-click the virtual directory name and click Properties. The Properties dialog box opens.

3 On the Directory Security tab, in the Secure Communications panel, click Edit. The Secure Communications dialog box opens.

4 Click Require secure channel (SSL) to require use of HTTPS.

5 Click OK, then click OK again to close the Properties dialog box.

6 Close the Internet Information Services Manager tool.

Testing SSL access to Web Services

Perform the following steps to test SSL access to Web Services.

Page 89: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Advanced Installations 5

© 2011 MicroStrategy, Inc. Setting up SSL for encryption 63

To test SSL access to Web Services

1 In your browser, enter the URL to access MWS. By default, this is http://<hostname>/MicroStrategyWS/MSTRWS.asmx. An error page should appear with a 403.4 error indicating the SSL is required to access this page.

2 Enter the URL https://<hostname>/MicroStrategyWS/MSTRWS.asmx. (Note the different prefix.) After a short delay, the Web Services method list appears indicating that the SSL access is working.

Configuring the client to use an SSL HTTPS URL

Perform one of the following procedures to configure the client to use an SSL HTTPS URL, depending on whether you have a packaged client or you are working with a Visual Studio .NET project.

To configure the client to use an SSL HTTPS URL

• Packaged client: If you have a packaged client such as MicroStrategy Office, enter the URL that is prefixed with https://. In MicroStrategy Office, you can enter this URL in the Options dialog box.

• Visual Studio .NET project: For Microsoft Visual Studio .NET projects, when you add a Web Reference, you can specify an https URL as the location of the XML Web service. If you have not done this, you can edit the class that was created by Visual Studio .NET that wraps the Web Service, by modifying the line of code that sets the URL. For a C# project, the line of code may be similar to the following after modification:

this.Url = “https://mymachine/MyWS/Service1.asmx”;

Your XMLWeb Service will now be accessed over SSL.

Establishing trust between client and server

If you have issued your own certificate, your Certificate Authority’s certificate must be installed on the client as a trusted root certificate authority. Perform the following steps to establish trust between the client and the server.

Page 90: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Advanced Installations MicroStrategy Web Services Administration5

64 Web Farm © 2011 MicroStrategy, Inc.

To establish trust between client and server

1 From your browser, open the following URL: http://<hostname>/CertSrv, where <hostname> is the computer on which Certificate Services was installed.

2 Click Retrieve the CA certificate or the certificate revocation list and click Next.

3 Click the Install this CA certification path link to install the certificate.

4 If you are accessing the Certificate Authority’s certificate, it must be added to the machine’s trusted root store. Repeat steps 1 and 2 above, then click Download CA certificate and save it to your client computer.

5 From a command window, run the Microsoft Management Console by typing mmc to start the console program.

6 From the File menu, select Console and then select Add/Remove Snap-in.

The Add/Remove Snap-in dialog box opens.

7 Click Add to open the Add Standalone Snap-in dialog box, click Certificates, and then click Add.

8 Click Computer Account and click Next.

9 Click Local Computer and then click Finish to see a list of certificate categories that appear in the Snap-in window.

10 Click OK to return to the Console Root window.

11 Open the list of trusted root certificate authorities in the tree view.

12 Click Action, then All Tasks, then Import to add your Certificate Authority to the list.

Web FarmA Web Farm consists of several Web Server machines configured together to act as a single server with a single IP address. MWS can be configured to run

Page 91: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Advanced Installations 5

© 2011 MicroStrategy, Inc. Web Farm 65

in a Web Farm to provide better performance, scalability, and reliability. This section outlines the steps to set up a Web Farm using the Windows Server 2003 Network Load Balancing Service. There are other software and hardware load balancers or switches that can be used to set up a Web Farm.

Each Web Server in the cluster must be configured to be fully operational. For MWS, this means it is fully installed and configured, including having all required project sources in its projectsources.xml file. Windows XP, 2003. and 2008 servers can be balanced in the same “cluster”. The following steps use the Windows 2003 Network Load Balancing Manager to set up the cluster. Make sure you have administrative access to each of the servers that will be added to the cluster.

The following list summarizes the work involved in setting up a Web Farm:

• Install and configure MWS on each Web Server that will be network load-balanced.

• Configure the cluster and each server for network load balancing.

Installing and configuring MicroStrategy Web Services

Perform the following steps to install and configure MWS.

To install and configure MWS

1 Follow the MWS installation instructions for each machine that will be part of the set of load balanced servers.

2 Configure each machine to have the same sources in projectsources.xml.

Configuring the cluster and servers for network load balancing

Perform the following steps to configure the cluster and each server for network load balancing (NLB).

You can only use the Windows 2003/2008 NLB Manager to configure all hosts if they are all on Windows 2003 and 2008. Otherwise, you must use the local manager on each Windows XP machine.

Page 92: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Advanced Installations MicroStrategy Web Services Administration5

66 Web Farm © 2011 MicroStrategy, Inc.

Be aware of the following:

• A production installation requires more consideration during cluster configuration than this procedure presents. Considerations include security and performance issues. See your Microsoft documentation for a full evaluation and analysis of the applicable issues.

• If you decide to combine a Web Farm with SSL, additional concerns exist and are reviewed in the Microsoft documentation.

To configure the cluster and servers for load balancing

1 From your Start menu, select Settings, select Control Panel, and open Administrative Tools. Open the Network Load Balancing tool.

2 To create a new cluster, right-click on the Network Load Balancing Clusters tree branch and click New Cluster. The Cluster Parameters dialog box opens.

3 In the Cluster IP Configuration panel, enter an IP address, Subnet mask, and full Internet name.

• Leave the IGMP Multicast option cleared. However, if the cluster does not operate you may need to return to this screen and select this option. Consult the Network Load Balancing Service documentation for more advanced setup details, including using two network cards per server.

• Leave the Allow Remote Control option cleared.

Click Next. The Cluster IP Addresses dialog box opens.

4 Click Next. The Port Rules dialog box opens.

5 The default port rule is too broad for production, but works for evaluation purposes. Consult your Microsoft documentation for various scenarios for port rules.

Note the following:

Two key ports are port 80 for standard HTTP traffic, and port 443 for SSL traffic.

For SSL, there are numerous issues to insure proper operation of NLB and SSL together. Consult your Microsoft documentation for information on resolving these issues.

Page 93: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Advanced Installations 5

© 2011 MicroStrategy, Inc. Web Garden 67

For non-SSL situations, MWS does not have state maintained on the server and will not require special affinity to be defined. Affinity insures that a specific client will always be processed by a specific server that is maintaining its state.

6 Click Next. The Connect dialog box opens.

Before entering host information, ensure that all servers in the cluster have fixed IP addresses.

7 Enter a hostname or an IP address in the Host box and click Connect. The Interfaces available list automatically populates with interface information.

8 Select an interface to be included in the cluster and click Next. The Host Parameters dialog box opens.

9 The Host Priority box displays a unique ID that identifies each node in the cluster and represents the priority given to each node. The lower the ID, the higher the priority. Node 1 is the master node and will receive requests and act as a routing manager in most cases. When the work load is too high, other servers perform this function. Set the priority and click Finish to complete host definition and close all dialogs.

10 The manager configures the first host and logs results in the bottom pane. The final message should be “End Configuration Change.”

11 To add an additional host, right-click on the tree branch for the cluster you just added and click Add Host to Cluster. The Connect dialog box opens. Repeat the appropriate steps above for the additional host.

12 Reconfigure your Web Services client, such as MicroStrategy Office, to use the cluster virtual IP address. Then execute the client against the cluster and use performance counters or the trace log to verify that each clustered server is being used.

Web GardenA Web Garden consists of a multi-processor Web Server on which independent ASP.NET worker processes run on two or more of the processors. webGarden is an attribute of the processModel that controls whether this feature is enabled. In Windows 2003, IIS 6.0, the webGarden and cpuMask settings are configured in the IIS Manager. Likewise, in

Page 94: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Advanced Installations MicroStrategy Web Services Administration5

68 Web Garden © 2011 MicroStrategy, Inc.

Windows 2008, IIS 7.0, Web Garden settings are configured in IIS as advanced settings for the application pool. See Chapter 4, ASP.NET configuration settings section for details on these settings.

If a Web Garden is configured, MWS can benefit from improved performance. State is maintained by MicroStrategy Intelligence Server, in the form of a session identifier. There is no state that will be maintained in an ASP.NET worker process for a Web Service client. Therefore, request handling from a single client can alternate between ASP.NET worker processors in a Web Garden.

Web Garden values

If the webGarden value is true, then the cpuMask attribute is used to specify which CPUs will run an ASP.NET process. Each bit represents a processor. A 1 indicates that a processor will run the process and a 0 indicates it will not. If there are four processors, then the following bitmap means the 3rd and 4th processors will run an ASP.NET worker process, as shown below:

00001100

If the webGarden value is false, the operating system configures the system for default affinity. This default is to run one ASP.NET process. The default webGarden value is false.

Page 95: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. 69

66.DIAGNOSTICS TOOLS

Introduction

As with any client-server application, troubleshooting requires an approach that isolates the problem based on the component technologies and their connections. Since requests travel from client to server and back again, an approach that evaluates this path and tests in this sequence is logical. It is possible you can receive a specific error message at the client machine, which may help you isolate the cause of the problem. However, it also happens that you may get no indication about where the problem occurred, and you must break down the communications and processing paths. A useful troubleshooting sequence is listed below and progresses in the order shown:

• Use the Web Server logs to see whether the request was received by the server or there was some indication of a problem.

• Verify that the Web Services are available on the Web Server itself.

• View the message exchange between the client and server to make sure the exchange occurs and to check whether there is any indication of the error.

• Drill down to the details of a processing problem.

Page 96: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Diagnostics Tools MicroStrategy Web Services Administration6

70 Using event and error logs © 2011 MicroStrategy, Inc.

• If the issue is related to security, use techniques to isolate the security problem.

• For advanced technicians, use debugging tools to make use of in-depth processing tools.

In most cases, it is recommended that you contact MicroStrategy before using debugging tools.

Details for many of the procedures listed above are described in the rest of this chapter.

Using event and error logs

Windows event log

ASP.NET and IIS write entries to the event log when there are problems. These logs should be reviewed whenever you are debugging problems. ASP.NET writes to the application log when there are aspnet_wp process problems. IIS 6.0 and IIS 7.0 may write to either or both the application and system logs when the w3wp process experiences problems.

Key related tasks are described in other sections in this chapter.

Viewing the Windows event log on the local machine

Perform the following procedure to view the Windows event log on a local machine.

To view the Windows event log

1 From your Start menu, select Settings, select Control Panel, and open Administrative Tools.

2 Open the Event Viewer. In the left panel, you can switch between the Application, Security, and System logs to display the log entries in the right panel.

Page 97: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Diagnostics Tools 6

© 2011 MicroStrategy, Inc. Using event and error logs 71

3 Double-click a log entry to see more details in the Event Properties dialog box.

4 Use the up and down arrows to navigate through other log entries.

5 Click OK when you are ready to close the Event Properties dialog box.

Windows Web and HTTPERR error logs

MicroStrategy Web Services (MWS) in an ASP.NET environment runs under IIS 6.0 on Windows XP and 2003, and IIS 7.0 on Windows 2008. Since MWS uses HTTP for transmission, errors are often in the form of HTTP protocol errors. Information in the W3C Web logs can provide clues to problems, especially in a distributed and heavily trafficked environment.

These logs are enabled using the Internet Information Services (IIS) Manager. When enabled, you can configure details about the information to be included. IIS 6.0 and IIS 7.0 have a substatus code that can aid in debugging. See your ISS documentation for a list of status and substatus codes.

In IIS 6.0 and IIS 7.0there is an HTTPERR log that logs information from HTTP.SYS. For Windows 2003, HTTP.SYS replaces inetinfo.exe as the component that processes HTTP requests.

HTTPERR can be used to get details about rejected requests. Requests can be rejected when the request queue is full or if the application is taken offline by the Rapid Fail Protection feature. The QueueFull log entry appears if the queue is full, and an AppOffline entry appears if the application is taken offline.

HTTPERR provides details of lost requests if the worker process crashes or hangs. In the log, you can find the URL and a Connection_Abandoned_By_appPool message for each request that is lost. These are called in-flight requests, in other words, the requests that were sent to be processed but did not complete before the crash. See your Microsoft documentation for more information about detailed messages you can find in the HTTPERR log.

Key tasks for working with these logs include the following:

• Enable the Web log

• View the Web log

Page 98: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Diagnostics Tools MicroStrategy Web Services Administration6

72 Using event and error logs © 2011 MicroStrategy, Inc.

• Configure HTTPERR log settings

• View the HTTPERR log

Enabling the Web log

Perform the following steps to enable the Web log.

To enable the Web log

1 From the Start menu, select Settings, then select Control Panel. Open Administrative Tools, then Internet Information Services Manager.

2 In the left panel, open the branch for your computer name to open the local computer branch.

3 Open Web Sites to view the website you want to manage. By default, this is the Default Web Site.

4 Right-click the website you want to view and select Properties. The Default Web Site Properties dialog box opens.

5 On the Web Site tag, select Enable Logging to turn on the W3C logs. Set the active log format as desired.

6 Click Properties to set details of the log entries in the Extended Logging Properties dialog box. On the General Properties tab, set the time period, name, and location of the file.

7 Click Extended Properties to select the fields to log by.

8 Click OK to close the Extended Logging Properties dialog box, and click OK again to close the Default Web Site Properties dialog box.

Viewing the Web log

Perform the following steps to view the Web log.

Page 99: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Diagnostics Tools 6

© 2011 MicroStrategy, Inc. Using event and error logs 73

To view the Web log

1 Locate the Web log. The Web log location is specified in the Web log properties and can be viewed using the Enabling the Web Log steps, above. By default, this location is %SYSDIR%\LogFiles\W3SVC1. In this directory, a series of log files exists dated according to the naming format set in the log properties.

2 Open the log file in a text editor to view the entries.

Configuring HTTPERR log settings

The HTTPERR log writes entries for the following types of errors:

• Responses to clients: These are entries for HTTP protocol errors. After sending the error response, the connection to the client is terminated.

• Connection timeouts: HTTP API times out the connection. If there is a pending request, the request is used to provide more information about the connection in the HTTPERR log.

• Orphaned requests: The worker process is terminated while there are still queued requests routed to that process. The HTTP API logs the orphaned request in the HTTPERR log.

The HTTPERR log is only available on IIS 6.0. To change settings, you must have Administrator/Local System credentials.

Perform the following steps to configure HTTPERR log settings.

To configure HTTPERR log settings

1 To configure the HTTPERR log, you modify registry key settings found under the key as follows:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Page 100: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Diagnostics Tools MicroStrategy Web Services Administration6

74 Java application server error logs © 2011 MicroStrategy, Inc.

2 Make your desired changes to the following values:

Viewing the HTTPERR log

You must have Administrator/Local System credentials to view the HTTPERR log files.

Perform the following steps to view the HTTPERR log file.

To view the HTTPERR log

1 Locate the HTTPERR log. The location is specified in the HTTPERR registry entries described above in . By default, this location is %SYSDIR%\LogFiles\HTTPERR.

2 Use a text editor to open and view a log file. Reason phrase strings provide details for each error and appear as the last field in each entry.

Java application server error logsEach application server, such as Tomcat or WebSphere, maintains error logs for infrastructure messages. Check your application server documentation for their location and application settings. The primary place to look for errors is in the MWS Java or ASP.NET error logs.

Registry Value Description

EnableErrorLogging A DWORD that enables or disables error logging:• True: (Default setting) Enables error logging.• False: Disables error logging.

ErrorLogFileTruncateSize A DWORD specifying the maximum size of an error log file, in bytes. The default value is 1MB. The value cannot be smaller than the default value.

ErrorLoggingDir. A string that specifies the folder into which HTTP API puts its logging files. The HTTP API creates a subfolder HTTPERR in the specified folder and stores the log files in this subfolder. The subfolder and files have the same permission settings. The Administrator and Local System accounts have full access. The default location is %SystemRoot%\System32\LogFiles

Page 101: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Diagnostics Tools 6

© 2011 MicroStrategy, Inc. Verifying Web Services availability 75

Verifying Web Services availabilityTo ensure that the service is running and is visible from your client, follow the appropriate procedure in Chapter 2, in either the Verifying your ASP.NET installation, page 13 section or the Verifying your J2EE installation, page 16 section.

You can run the TestService and GetProjectSources methods from a remote computer by modifying entries under the <protocols> element in your machine.config file. Locate the element path

\configuration\system.web\webServices\protocols

By default, the following entry will be commented out:

<add name=”HttpPost”/>

Uncomment the entry for it to take effect. Note that this change affects all services on the server.

TcpTrace for message analysistcpTrace cannot be used for MWS on ASP.NET.

XML Web Services use SOAP as the message format for data and datatype definitions. SOAP messages with XML content are transmitted using HTTP. When there are problems it is often useful to view the messages between the client and the server.

Answer the following questions to help determine the reason for the problem:

• Are there any communications between the client and server?

• Are there basic protocol errors before the Web Service is even invoked?

• What parameters are used?

• What are the details of an error response being sent by the server to the client?

• Are there any HTTP header fields that are inconsistent between the client and server?

Page 102: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Diagnostics Tools MicroStrategy Web Services Administration6

76 TcpTrace for message analysis © 2011 MicroStrategy, Inc.

tcpTrace is a useful tool for answering these questions. You can download this tool from www. pocketsoap.com. The following high-level summary describes how to view message exchanges between MicroStrategy Office and MicroStrategy Web Services (MWS) on J2EE platforms using tcpTrace:

• Initialize tcpTrace to intercept and forward messages. For steps, see Initializing tcpTrace to intercept and forward messages, page 76

• Configure MicroStrategy Office to send messages to tcpTrace. For steps, see Configuring MicroStrategy Office to send messages to tcpTrace, page 77

• Capture and view messages. For steps, see Capturing and viewing messages, page 77.

Initializing tcpTrace to intercept and forward messages

Perform the following steps to initialize tcpTrace to intercept and forward messages.

To initialize tcpTrace

1 Run the tcpTrace program. You can run this utility on either the client or the server. For this procedure it is assumed you are running tcpTrace on your client machine, with the name client, and that the Web Services are installed on the machine named server.

2 On your client machine, navigate to the tcpTrace install directory, for example, C:\Program Files\pocketsoap. Double-click tcpTrace.exe. The main tcpTrace window opens, as well as the tcpTrace Settings dialog box.

3 Complete the following settings:

• Listen on Port #: The port to which you will send messages. Port 8008 is a good choice.

• Destination Server: The server on which MWS is installed, for this example the machine named server.

• Destination Port: This port should be set to the port used by the application server. For example, 8080 is the default port for Tomcat.

Page 103: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Diagnostics Tools 6

© 2011 MicroStrategy, Inc. TcpTrace for message analysis 77

4 Options exist to create a log file, provide a log file name, and select an XML format. Select all these options.

Using a file slows down processing, and using XML slows processing even more. However, the XML format is the easiest way to view results and potentially automate processing of the results.

5 Click OK to close the tcpTrace Settings dialog box and begin the trace.

Configuring MicroStrategy Office to send messages to tcpTrace

In this procedure you configure MicroStrategy Office to use your URL monitored by tcpTrace. Perform the following steps to configure MicroStrategy Office to send messages to tcpTrace.

To configure MicroStrategy Office to send messages to tcpTrace

1 From the Start menu, select Programs, select MicroStrategy, then select MicroStrategy Office. Click Configuration to start the MicroStrategy Office configuration utility.

2 Click General to open the General Options page.

3 Enter the URL for your monitored endpoint. For this example, enter http://client:8008/MicroStrategyWS/services/MSTRWSJ for J2EE Web Services running on Tomcat.It is important to include the 8008 (port), otherwise messages will not be traced.

4 Click OK and then OK again. Close all Microsoft Office applications and restart Excel.

Capturing and viewing messages

To understand messages, you must have knowledge of HTTP, SOAP, and XML Web Services implementations. Once you have performed the following procedure to view trace messages, if you need additional information to understand them, see www.w3c.org for more details on HTTP and SOAP. Perform the following steps to capture and view messages.

Page 104: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Diagnostics Tools MicroStrategy Web Services Administration6

78 TcpTrace for message analysis © 2011 MicroStrategy, Inc.

To capture and view messages

1 Start MicroStrategy Office and perform some functions.

2 Open the tcpTrace application. In the left panel, there will be indications of several traces. When you select a trace, you see the client request in the upper right panel and the server response in the lower right panel. Below is an example request for GetProjectSources from the client, followed by a good response from the server:

Client request:

POST /MSTRWS/MSTRWS.asmx HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE6.0; MS Web Services Client Protocol 1.1.4322.573) Content-Type: text/xml; charset=utf-8 SOAPAction: http://microstrategy.com/webservices/ GetProjectSources Content-Length: 313 Expect: 100-continue Host: client:8080 <?xml version=“1.0” encoding=“utf-8”?><soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/ soap/envelope/” xmlns:xsi=“http://www.w3.org/2001/ XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/ XMLSchema”><soap:Body><GetProjectSources xmlns=“http://microstrategy.com/ webservices/” /></soap:Body> </soap:Envelope>

Server response:

HTTP/1.1 200 OK Server: Microsoft-IIS/6.0 Date: Sat, 08 Nov 2003 15:54:37 GMT X-Powered-By: ASP.NET X-AspNet-Version: 1.1.4322 Cache-Control: private, max-age=0 Content-Type: text/xml; charset=utf-8 Content-Length: 2996 <?xml version=“1.0”encoding=“utf-8”?>

Page 105: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Diagnostics Tools 6

© 2011 MicroStrategy, Inc. Web Services tracing for ASP.NET message analysis 79

<soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/ soap/envelope/” xmlns:xsi=“http://www.w3.org/2001/ XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/ XMLSchema”><soap:Body> <GetProjectSourcesResponse xmlns=“http://microstrategy.com/ webservices/”><GetProjectSourcesResult> <MWSProjectSourceInfo><ServerName>TEST </ServerName><ProjSourceName>TEST </ProjSourceName><AuthMOde>MWSStandard </AuthMode></MWSProjectSourceInfo> ... MORE sources ... </soap:Body></soap:Envelope>POST /MSTRWS/MSTRWS.asmx HTTP/1.1

Web Services tracing for ASP.NET message analysis

ASP.NET has added a Web Services tracing capability to view input and output SOAP requests. In the web.config file, locate the <diagnostics> element inside the <microsoft.web.services2> element. Then locate the <trace> element inside <diagnostics>.

To turn on tracing, set the enabled attribute to true. The input and output attributes will contain the filenames of the input and output trace files. These files will be in the root application directory. Be sure to set the enabled attribute to false after you are finished tracing. To understand messages, you must have knowledge of HTTP, SOAP, and Microsoft .NET Web Services implementations.

Configuring the Java logThe file logger.properties contains settings that control Java logging for MWS. This file is found in the MWS directory, by default located at

Page 106: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Diagnostics Tools MicroStrategy Web Services Administration6

80 Configuring the Java log © 2011 MicroStrategy, Inc.

C:\Program Files\MicroStrategy\Web Services for ASP.NET and at webapps/MicroStrategyWS for J2EE. Several settings can be modified by the administrator.

You may want to relocate your log file (pattern), change individual log file size (limit - # bytes), or log file instances (count). The default entries for these settings are:

• fileH.pattern=C\:/Program Files/MicroStrategy/Web Services/MWSJavaLog%systemdate%.log

The above setting is the default for an ASP.NET deployment.

• fileH.pattern=C\:/Tomcat5/webapps/MicroStrategyWS/ MWSJavaLog%systemdate%.log

The above setting is typical for a J2EE Tomcat deployment.

• fileH.limit=262144

• fileH.count=4

• fileH.level=SEVERE

The level setting can control how much detail is logged. For Web Services, locate the following entry:

com.microstrategy.webservices.Log.level=SEVERE

The level can be set to one of the following values, which causes the log to increase in detail in the following order:

• SEVERE

• WARNING

• INFO

• FINE

• FINER

• FINEST

• ALL

When controlling the amount of data to be logged, you must not only configure the com.microstrategy.webservices.Log.level, but must also ensure that the fileH.level element at least matches the webservices setting so that the appropriate level of logging can occur. For

Page 107: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Diagnostics Tools 6

© 2011 MicroStrategy, Inc. Configuring the ASP.NET log 81

example, if the webservices setting is ALL, the fileH.level value must be ALL as well. The level for other components in the WebObjects API can be set in logger.properties in the same way.

Configuring the ASP.NET logThe ASP.NET tracing can be controlled from two different sections of the web.config file, the system diagnostics section and the appSettings section.

In the system diagnostics section of the web.config file, two switches are used to control the level of tracing that is performed:

• MicroStrategy.WebServices: Controls the tracing of Web Service front end and bridge code.

• MicroStrategy.Web.BridgeInf: Controls the tracing of the underlying bridge implementation layer that supports Web Services.

The default setting for both switches is 1 (ERROR), which enables tracing for error messages only. Setting the switch values to 4 (VERBOSE) enables tracing at the finest level. The default system diagnostics section is shown below:

<system.diagnostics> <switches> <!-- Switches control what level of tracing messages you want to output. In MicroStrategy SDK’s coding convention, switches are identified by each bridge or application’s name space. After you change the tracing level by changing the ‘value’ attribute, you have to restart your application to make it effective. Any message logged at lower tracing level will be sent to the listeners you specify. 0==>OFF 1==>ERROR 2==>WARNING 3==>INFO 4==>VERBOSE For example, if you set the tracing level to 3, then all error, warning, and info messages will be logged. --> <!-- This switch controls the bridge infrastructure logging--> <add name=”MicroStrategy.Webservices” value=”1” /> <add name=”MicroStrategy.Web.BridgeInf” value=”1” /> </switches> </system.diagnostics>

Page 108: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Diagnostics Tools MicroStrategy Web Services Administration6

82 Microsoft debugging tools © 2011 MicroStrategy, Inc.

In the appSettings section of the web.config file, some application-specific settings allow control of the trace files. By default, TRACE is ON for errors only. If .NET tracing is not required, set this value to OFF. Once the trace file, MWSTraceLog.txt, reaches its max size (MAXTRACEFILESIZE), a copy of that file is backed up, with the name MWSTraceLog0, MWSTraceLog1, MWSTraceLog2, and so on, in sequence. This occurs until the maximum number of backup trace files is reached (NUMBACKUPTRACEFILES). Once the maximum number of trace files are created, tracing works in a circular fashion, with the next backup being logged to MWSTraceLog0.txt. The current trace log file is always kept in MWSTraceLog.txt.

The default trace setting in the appSettings section is shown below:

<appSettings> <!-- Trace file setup. If TRACE is set to ON, trace files will grow to the specified size (MAXTRACEFILESIZE) before being backed up. Once the specified number of backup files have been created (NUMBACKUPTRACEFILES), the first backup file will be overwritten, and so on, in a circular fashion. The trace file will be named (MWSTraceLog.txt and will be located at the Web service root filepath, along with its backup files (ie. C:\Program Files\MicroStrategy\Web Services.) --> <add key=”TRACE” value=”ON” /> <!-- Specified in K bytes --> <add key=”MAXTRACEFILESIZE” value=”1024” /> <add key=”NUMBACKUPTRACEFILES” value=”4” /> </appSettings>

Microsoft debugging toolsMicrosoft makes available the Microsoft Debugging Tools for Windows, which can be used for debugging Web Server problems. These tools are available at http://www.microsoft.com/whdc/ddk/debugging/ installx86.mspx.

A debugger add-on exists, sos.dll, to use with the windbg.exe or cdb.exe debuggers for managed code debugging. Among other things, it can be used to dump the contents of the garbase collection heap, analyze locking issues, view thread usage, and display managed stack traces.

Page 109: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. 83

77.TROUBLESHOOTING

Introduction

This chapter lists common problems you may encounter when using MicroStrategy Web Services (MWS). The problems are organized into the following groups:

• HTTP errors, page 84

• Key error phrases, page 85s

• Other symptoms, page 88

This chapter also presents a list of frequently asked questions, beginning on page 89.

For each error, there is a discussion of related messages and conditions, where applicable, as well as possible causes and possible solutions. The display of errors depends on the client tool and how it processes errors from MWS or the communications channels. Depending on the client tool, these error messages may appear in different formats and different locations. However, the HTTP error codes or key phrases should be available, no

Page 110: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Troubleshooting MicroStrategy Web Services Administration7

84 HTTP errors © 2011 MicroStrategy, Inc.

matter which client tool you use. For MicroStrategy Office using MWS, consult the MicroStrategy Office online help first for information on error messages.

HTTP errors

401 Unauthorized

This may also appear with the message “Access Denied”.

Causes: The most common reason for this error is that the user does not have authorization to access the Web service.

Solutions: Verify the identity of the user receiving this error. Check that the user has access to the Web service virtual directory.

403 Forbidden

There are a number of sub-status codes for this message, and you may receive a more specific error message.

Causes: This is due to an authorization problem on some resource.

Solutions: Check that the user has access as specified in ASP.NET Web Services security requirements, page 8 section.

404 Resource Not Found

Depending on the message, the actual resource may be identified.

Causes: This could be due to an improper installation, or one or more files having been moved or deleted.

Solutions:

• Verify that the installation is correct and all files are present.

• Try resetting IIS.

Page 111: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Troubleshooting 7

© 2011 MicroStrategy, Inc. Key error phrases 85

500 Internal Server Error

There is rarely more detail with this error.

Causes: Typically this is an execution error in the Web Services application and the cause can be varied.

Solutions: Check all of the error logs to see whether there are more details on the problem.

503 Service Unavailable

There may be several variations for this error, as follows:

• Server unavailable

• Site unavailable

• Service unavailable

• Service is temporarily overloaded

• Server is too busy

Causes: The cause can range from an addressing issue, to server or application queues being full and causing requests to be rejected.

Solutions: First verify that you have network access to the server and the Web Service is operational from the host itself. Then follow the instructions given in ASP.NET configuration settings, page 39 section to determine whether requests are being rejected. If requests are being rejected, raise the maxWorkerThreads, requestQueueLimit, and appRequestQueueLimit.

Key error phrasesThis section lists error phrases and describes what they mean or possible variations. It also suggests causes and presents solutions.

Access to the path “C?\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\microstrategyws\nnnn\mmmm” is denied

The paths and file names will vary.

Page 112: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Troubleshooting MicroStrategy Web Services Administration7

86 Key error phrases © 2011 MicroStrategy, Inc.

Causes: This is due to a problem with process user permissions.

Solutions: Verify that the security requirements in httpRuntime, page 43 section have been met.

Exception calling XYZ (no inner details)

XYZ can vary in this message, and will identify where the error occurred.

Causes: This error is mostly likely evidence of a problem with the Java Virtual Machine (JVM) used by the MWS Objects and WebObjects.

Solutions: Restart IIS and see whether the problem occurs again. Increasing the Java heap size may help.

Method not found:<method signature>

The method may vary.

Causes: Process or the user has insufficient access to required resources.

Solutions: Verify that the security requirements in httpRuntime, page 43 section have been met.

Object reference not set to an instance of an object

This is an internal error.

Causes: There can be one or more reasons for this error, including an internal execution error or resource constraint.

Solutions:

• Check all of the error logs to see whether there are more details on the problem.

• Try restarting IIS or the application.

• Contact MicroStrategy with error details if the problem persists.

Request timeout

This timeout is from the MicroStrategy WebObjects.

Causes: A call to the underlying WebObjects exceeded the REQUESTTIMEOUT setting. This is most likely due to a very large report.

Page 113: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Troubleshooting 7

© 2011 MicroStrategy, Inc. Key error phrases 87

Solutions: Try increasing the REQUESTTIMEOUT setting, or lowering the MAXREPORTROWLIMIT and using incremental row fetching.

Server XYZ is busy

This refers to a MicroStrategy Intelligence Server.

Causes: This is caused by an excessive load on the Intelligence Server.

Solutions:

• Increase the SERVERBUSYTIMEOUT to reduce the occurrence of this error.

• If the problem persists, evaluate the processing capacity of the hardware on the Intelligence Server machine.

System.IO.FileNotFoundException: File or assembly name xxxx.dll or one of its dependencies, was not found

Any file in the application can trigger this problem.

Causes: This can be caused by both a managed or unmanaged dependency issue. A file needed for execution is not available.

Solutions: Make sure that all managed and unmanaged dependencies are available. Unmanaged DLLs must be in the current directory or on the path. Managed DLLs must be in the local bin directory or the global assembly cache.

The underlying connection was closed: An unexpected error occurred on a receive

This relates to HTTP communications. A related message is below.

Causes: A connection between the client and server was broken before receiving the complete response.

Solutions: This can be due to a loss of hardware communications. If other requests are still executing successfully, then check the IIS connectiontimeout setting. This is not in either the web.config or machine.config files, but rather part of the IIS Metabase. In Internet Information Services Manager, open the Properties dialog box for your Web site. Click the Web Site tab and set the Connection Timeout value to at least 900 seconds. Click OK to save the new setting.

Page 114: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Troubleshooting MicroStrategy Web Services Administration7

88 Other symptoms © 2011 MicroStrategy, Inc.

The underlying connection was closed: Unable to connect to the remote server

This is an HTTP communications problem.

Causes: The client cannot find the server.

Solutions: Verify the URL for the server and communications between the client and server.

Other symptomsThis section lists additional possible problems not directly related to error messages, and presents causes and solutions.

Error with no message text

The application cannot properly format an error message.

Causes: This is typically due to a shortage of memory in the JVM.

Solutions: Increase the amount of memory available to the JVM using the Java Heap Size registry entry for the MicroStrategy JNI Bridge.

User is prompted for Network Login while running client against Web

This is an HTTP communications problem.

Causes: The client cannot find the server.

Solutions: Verify the URL for the server and communications between the client and server.

IIS is not processing MSTRWS.asmx

When browsing to MSTRWS.asmx, instead of receiving the list of methods, you receive the following message:

<%@ WebService Language=“c#” Codebehind=“MSTRWS.asmx.cs” Class=“MSTRWS>MSTRWS” %>

Causes: ASP.NET has not been installed or enabled for IIS.

Page 115: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Troubleshooting 7

© 2011 MicroStrategy, Inc. Frequently asked questions 89

Solutions:

• For Windows 2003, use Manage Your Server to make sure that .NET Framework is installed and enabled, or follow .NET Framework instructions to ensure the proper version of .NET Framework is installed, registered, and enabled for use with IIS.

• For Windows 2008, make sure that .NET Framework is installed and enabled, or follow .NET Framework instructions to ensure the proper version of .NET Framework is installed, registered and enabled for use with IIS.

Frequently asked questionsDoes MicroStrategy Web Services (MWS) require Microsoft .NET Framework?

Yes. Specifically, the most recent version of MWS requires Microsoft .NET version 2.0. This has been tested with Microsoft Internet Information Services version 6.0 and 7.0. This is automatically installed by MicroStrategy installation if not present on the machine.

Can I program to the Web Services API directly?

Yes. As long as you can follow the XML Schema defined in the MWS Definition Language schema, you can communicate with MWS. However, the Web Services API has been deprecated; it is recommended that you use the Web Services SDK to communicate with MicroStrategy.

Can I use any language on any platform to program the Web Services API?

Yes. As long as your computer can communicate with HTTP to the MWS server, you can execute the API.

Is documentation available for the MWS API?

Yes. You can view the detailed message format specifications and examples of those messages online. More detailed documentation for the API is available upon request.

Page 116: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Troubleshooting MicroStrategy Web Services Administration7

90 Frequently asked questions © 2011 MicroStrategy, Inc.

Does MWS require MicroStrategy Web to be installed?

No. MWS uses underlying WebObjects Java libraries to communicate with Intelligence Server. These files are deployed during installation if you select Web Services for installation. No other MicroStrategy software needs to be deployed on that server.

Can MWS be run on the same server as MicroStrategy Web?

Yes. MWS and MicroStrategy Web are compatible and can be run on the same server. In a production environment, the products will compete for resources on the same server. It is recommended that they run on separate servers.

Does MWS support SSL?

Yes. MWS can communicate with a client such as MicroStrategy Office using Secure Socket Layer for security. See Setting up SSL for encryption, page 58 section.

Does MWS support WS-Security?

Yes. SSL provides complete message privacy, but does not provide the comprehensive security that WS-Security provides. There are middleware components that can be used to configure WS-Security for MWS. Since MWS supports Message Transmission Optimization Mechanism for attachments, it can be fully secured with WS-Security.

Does MWS support Web Farms and Web Gardens?

MWS’s architecture is built to run in Web Farms. State is maintained in the Intelligence Server and not in the Web Server, which makes it suitable for Web Farms and Web Gardens in ASP.NET. See Web Farm, page 64 section for more details. There are many software and hardware implementations for Web Farms, not all of which can be thoroughly tested. Consult your load balancing software or hardware documentation for installation setup information. In all cases, you must make sure that the MicroStrategy portions are installed with identical settings, project sources, and virtual directory names.

What are the best configuration settings for machine.config and web.config?

See ASP.NET configuration settings, page 39.

Page 117: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. Glossary: .NET 91

GLOSSARY

.NET A technical and a marketing term. Technically, .NET is a Microsoft environment for building, deploying, and running Web Services and other applications. The three main parts of .NET are the Common Language Runtime, the Framework classes, and ASP.NET.

See also

• ASP .NET

• Common Language Runtime

ASP .NET A component of Microsoft's .NET technology. The successor to Active Server Pages, it is a set of Web development technologies used to build dynamic websites, Web applications, and XML Web services.

cluster A group of computers that are configured to cooperate together to work, and appear, as if they were a single computer. They are usually connected through high-speed local area networks to improve system scalability, speed, and reliability in a cost-effective way.

Common Language Runtime (CLR)

Microsoft's .NET virtual machine and runtime library. It is designed to support any program language that conforms to the CLR’s specifications. The runtime is primarily used on Microsoft's operating systems.

Page 118: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Glossary MicroStrategy Web Services Administration

92 Glossary: Extensible Markup Language (XML) © 2011 MicroStrategy, Inc.

Extensible Markup Language (XML)

A derivative of Standard Generalized Markup Language (SGML), a W3C-recommended markup language for creating other special-purpose markup languages. XML is designed to facilitate information sharing by providing content and meaning in a format that is universally accessible to both software and people. Numerous related standards have been developed as well as XML-based languages.

handler A modules that is registered to handle certain Web resources by name or extension. In Web Services, resources ending with asmx are handed off to the Web Services handler.

HyperText Transfer Protocol (HTTP)

A communications request/response protocol between client and server computers, typically operating over a TCP/IP connection. It is the primary method used to convey information on the World Wide Web. Initially developed to publish and receive HTML pages, it has been expanded to support the SOAP framework used for Web Services communication.

Java Java refers to both a programming language and a platform from Sun Microsystems. The platform consists of the Java programming language, a set of development tools and a set of standard libraries. The platform is technically referred to as the Java 2 Platform and includes a Standard Edition, J2SE or Java SE and an Enterprise Edition, J2EE or Java EE and a Micro Edition, and J2ME or Java ME.

See also

• Java 2 Platform, Enterprise Edition (J2EE)

Java 2 Platform, Enterprise Edition

(J2EE)

A programming platform that is part of the Java platform for developing, deploying, and executing multi-tier applications based on the server components running on an application server. Also referred to as the Java EE, the J2EE platform is defined by a specification and vendors must adhere to conformance requirements to declare their products as Java EE-compliant. Key server technologies include Enterprise Java Beans, Servlets, JavaServer Pages, and Web Services.

Page 119: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Glossary

© 2011 MicroStrategy, Inc. Glossary: Java Native Interface (JNI) 93

Java Native Interface (JNI)

A programming framework allowing Java code running in the Java virtual machine to call and be called by native applications and libraries written in other languages, such as C or C++.

Java Virtual Machine (JVM)

A virtual machine that runs Java byte code usually generated by a Java language compiler. It is a component of the Java platform.

See also

• Java

• Java 2 Platform, Enterprise Edition (J2EE)

project source Defines a connection to the metadata repository and is used by various MicroStrategy products to access projects. It identifies an Intelligence Server with a specific type of authentication.

Secure Sockets Layer (SSL)

A secure communications technology succeeded by and sometimes used to refer to Transport Layer Security (TLS). SSL/TLS is a communications protocol which uses cryptography to provide secure communications between two endpoints, in which the server and potentially the client are authenticated and data is encrypted.

SOAP Originally an acronym for Simple Object Access Protocol, SOAP is now a stand-alone term. SOAP is a W3C specification for a lightweight, distributed messaging protocol that can utilize any communications transport. The specification defines the format for the SOAP message framework, describes how a message should be processed, specifies how data should be encoded, and describes a convention for representing remote procedure calls and responses.

Page 120: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Glossary MicroStrategy Web Services Administration

94 Glossary: Universal Description, Discovery and Integration (UDDI) © 2011 MicroStrategy, Inc.

Universal Description, Discovery and

Integration (UDDI)

An XML-based registry for businesses and their services. UDDI streamlines online transactions by enabling companies to find one another on the Web and make their systems interoperable for e-commerce. It enables businesses to quickly and dynamically discover and invoke Web Services both internally and externally.

Web Farm A group of computers clustered together in a single location to provide a Web facility; also referred to as a Web server farm. A Web Farm may either use multiple computers to implement a single website, or multiple sites as implemented by an Internet Service Provider.

See also

• cluster

Web Garden A process model that distributes work to several processes, one per CPU, with each process having processor affinity set to its designated CPU.

Web Services A software system designed to support interoperable machine-to-machine interaction over a network, according to the W3C. The most popular standards used to implement Web Services are SOAP, HTTP, and UDDI. Additional standards are defined for enterprise-level services such as security, reliable messaging, and transactions.

See also

• SOAP

• HTTP

• UDDI

Web Services Enhancements (WSE)

.NET updates provided by Microsoft to keep its Web Services implementation up to date. Due to the continual evolution of Web Services standards, developers require more frequent updates to Web Services than those supplied by the normal .NET update cycle.

Page 121: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Glossary

© 2011 MicroStrategy, Inc. Glossary: Web Services Description Language (WSDL) 95

Web Services Description Language

(WSDL)

An XML document schema used to describe the interface of a Web Service. It is used to specify the operations, messages, data types, protocol binding, and location of the Web Service.

XML See Extensible Markup Language.

Page 122: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Glossary MicroStrategy Web Services Administration

96 Glossary: XML © 2011 MicroStrategy, Inc.

Page 123: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

© 2011 MicroStrategy, Inc. 97

INDEX

Symbols.NET JNI Bridge 5

Numerics401 Unauthorized error 84403 Forbidden error 84404 Resource Not Found error 84500 Internal Server Error 85503 Service Unavailable error 85

AAccess Denied error 84access permissions 9adding a counter to Performance

Monitor 46Anonymous access 11application log and aspnet_wp process

problems 70architecture 2asmx files 2ASP.NET 2, 3

authorization 10configuration settings 39log 81

aspnet_wp process problems 70authentication

settings 45Windows NT 8

availability of Web Services, viewing 75

Bbridge code tracing 81bridge implementation layer tracing 81

Ccertificate

installing for SSL 61requesting for SSL 58

cluster

configuring 65Web Farms and 65

Common Language Runtime environment 47

communications privacy 58configuration settings

ASP.NET 39Web Services and 22, 28

configuring a cluster 65

Page 124: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Index MicroStrategy Web Services Administration

98 © 2011 MicroStrategy, Inc.

counter

about 45ASP.NET 49basic 47process, processor, memory,

system 54Web Service 55

Ddebugging

Microsoft debugging tools 82Windows event log and 70

Eerror

key phrase 85queue 85request timeout 86with no message text 88

event log, Windows 70

Ffrequently asked questions 89

HHTTP errors 84HTTP.SYS and inetinfo 71HTTPERR log 71

settings 73viewing 74

httpRuntime 43

Iidentify settings 45IIS versions 6

inetinfo.exe and HTTP.SYS 71installation 7

verifying 13, 16Web Services, advanced 65Web Services, basic 7

international support xxi

JJava log 79

Kkey error phrases 85

Llog 36

ASP.NET 81HTTPERR 71Java 79W3C Web 71Web 71

Mmessages and privacy 58Microsoft .NET Framework 89MicroStrategy Office licensing

requirement 20

Nnetwork load balancing 65Network Load Balancing Manager 65NT authentication 45

OObjects (MWS) 5

Page 125: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

MicroStrategy Web Services Administration Index

© 2011 MicroStrategy, Inc. 99

Pperformance

Web Farms and 65Web Gardens and 68

Performance Monitor 45adding a counter to 46starting 46

permissions, access 9privacy of communications 58process counter 54processModel 40processor counters 54project source

changing 22Web Farms and 65

project source definition, adding 15, 18

Qqueues error 85

Rrequest timeout error 86

Sscalability and Web Farms 65security requirements 8security, advanced settings 11Server is too busy error 85Server unavailable error 85Server XYZ is busy error 87service definitions 33Service is temporarily overloaded error 85Service unavailable error 85Site unavailable error 85SSL

about 58

certificate request 58configuring with Web Services 62installing a certificate 61testing 62Web Farms and 66

state maintenance and Web Gardens 68support

international xxisupport. See technical support.

system counters 54

TtcpTrace

about 75, 79MicroStrategy Office and 77

technical support xxitesting, SSL 62thread pool process 43tracing

bridge implementation layer 81front end and bridge code 81

troubleshooting

about 83with diagnostic tools 69

Vvirtual directory, default 8

WW3C Web log 71Web Farms

about 64project source and 65SSL and 66

Web Gardens

about 67

Page 126: MicroStrategy Web Services Administration Guidedbmanagement.info/Books/MIX/MicroStrategy_MWSAdmin.pdf · MicroStrategy Web Services provides ASP.NET and J2EE Web Services to support

Index MicroStrategy Web Services Administration

100 © 2011 MicroStrategy, Inc.

state maintenance and 68Web log 71Web Services

about ix, 1, 7architecture 2authentication 8availability 75communications path 4configuration settings 22, 28configuring for SSL 62counter 55definition 1front-end tracing 81installation 7installation, advanced 65log 36project sources and 22security 8service definition 34Web Gardens and 67

Web Services API 89web.config authentication settings 8Windows event log 70Windows NT authentication 8worker process

starting or ending 40state and 68