Anda di halaman 1dari 278

WebFOCUS Web Services Version 5 Release 3

DN4500609.0904

EDA, EDA/SQL, FIDEL, FOCCALC, FOCUS, FOCUS Fusion, FOCUS Vision, Hospital-Trac, Information Builders, the Information Builders logo, Parlay, PC/FOCUS, SmartMart, SmartMode, SNAPpack, TableTalk, WALDO, Web390, WebFOCUS and WorldMART are registered trademarks, and iWay and iWay Software are trademarks of Information Builders, Inc. Due to the nature of this material, this document refers to numerous hardware and software products by their trademarks. In most, if not all cases, these designations are claimed as trademarks or registered trademarks by their respective companies. It is not this publishers intent to use any of these names generically. The reader is therefore cautioned to investigate all claimed trademark rights before using any of these names other than to refer to the product described. Copyright 2004, by Information Builders, Inc and iWay Software. All rights reserved. Patent Pending. This manual, or parts thereof, may not be reproduced in any form without the written permission of Information Builders, Inc.

Preface
This documentation describes how to create Web Services for WebFOCUS features by accessing supplied Web pages that provide the basic development interface for Web Services support. It also describes the function calls required to implement the capability. It is intended for experienced developers who will use this capability to expose WebFOCUS functionality as callable services from a Microsoft Visual Studio .NET or J2EE development platform. Developers should have a knowledge of Web Service technology and object-oriented programming.

How This Manual Is Organized


This manual includes the following chapters: Chapter/Appendix 1 2 WebFOCUS Web Services Using the WebFOCUS WSDL Creation Utility WebFOCUS Web Service Structures WebFOCUS Web Services Functions WebFOCUS Web Services Adapter Troubleshooting WebFOCUS Web Services Contents Describes Web Services, components, and how to use Web Services with WebFOCUS features. Describes the WebFOCUS WSDL creation utility used by .NET and Java programmers to create WSDL files that call the set of WebFOCUS Web Services functions. Describes the structures used for WebFOCUS Web Service functions. Describes the functions used by WebFOCUS Web Services. Describes the process of giving WebFOCUS the ability to report from data returned by a Web Service. Provides information about troubleshooting Web Services.

3 4 5 6

WebFOCUS Web Services

iii

Documentation Conventions
The following conventions apply throughout this manual: Convention
THIS TYPEFACE or this typeface this typeface

Description Denotes syntax that you must enter exactly as shown. Represents a placeholder (or variable) in syntax for a value that you or the system must supply. Indicates a default setting. Represents a placeholder (or variable) in a text paragraph, a cross-reference, or an important term. It may also Indicate a button, menu item, or dialog box option you can click or select. Highlights a file name or command in a text paragraph that must be lowercase. Indicates keys that you must press simultaneously. Indicates two or three choices; type one of them, not the braces. Indicates a group of optional parameters. None are required, but you may select one of them. Type only the parameter in the brackets, not the brackets. Separates mutually exclusive choices in syntax. Type one of them, not the symbol. Indicates that you can enter a parameter multiple times. Type only the parameter, not the ellipsis points (). Indicates that there are (or could be) intervening or additional commands.

underscore

this typeface

this typeface Key + Key


{ }

...

. . .

Related Publications
To view a current listing of our publications and to place an order, visit our World Wide Web site, http://www.informationbuilders.com. You can also contact the Publications Order Department at (800) 969-4636.

iv

Information Builders

Preface

Customer Support
Do you have questions about WebFOCUS? Call Information Builders Customer Support Service (CSS) at (800) 736-6130 or (212) 736-6130. Customer Support Consultants are available Monday through Friday between 8:00 a.m. and 8:00 p.m. EST to address all your WebFOCUS questions. Information Builders consultants can also give you general guidance regarding product capabilities and documentation. Please be ready to provide your six-digit site code (xxxx.xx) when you call. You can also access support services electronically, 24 hours a day, with InfoResponse Online. InfoResponse Online is accessible through our World Wide Web site, http://www.informationbuilders.com. It connects you to the tracking system and known-problem database at the Information Builders support center. Registered users can open, update, and view the status of cases in the tracking system and read descriptions of reported software issues. New users can register immediately for this service. The technical support section of www.informationbuilders.com also provides usage techniques, diagnostic tips, and answers to frequently asked questions. To learn about the full range of available support services, ask your Information Builders representative about InfoResponse Online, or call (800) 969-INFO.

Information You Should Have


To help our consultants answer your questions most effectively, please provide the following information when you call: Your six-digit site code (xxxx.xx). Your WebFOCUS configuration: The front-end you are using, including vendor and release. The communications protocol (for example, TCP/IP or HLLAPI), including vendor and release. The software release. The server you are accessing, including release.

The stored procedure (preferably with line numbers) or FOCUS commands being used in server access. The name of the Master File and Access File.

WebFOCUS Web Services

The exact nature of the problem: Are the results or the format incorrect? Are the text or calculations missing or misplaced? The error message and return code, if applicable. Is this related to any other problem?

Has the procedure or query ever worked in its present form? Has it been changed recently? How often does the problem occur? What release of the operating system are you using? Has it, WebFOCUS, your security system, communications protocol, or front-end software changed? Is this problem reproducible? If so, how? Have you tried to reproduce your problem in the simplest form possible? For example, if you are having problems joining two data sources, have you tried executing a query containing the code to access a single data source? Do you have a trace file? How is the problem affecting your business? Is it halting development or production? Do you just have questions about functionality or documentation?

User Feedback
In an effort to produce effective documentation, the Documentation Services staff welcomes your opinions regarding this manual. Please use the Reader Comments form at the end of this manual to relay suggestions for improving the publication or to alert us to corrections. You can also use the Documentation Feedback form on our Web site, http://www.informationbuilders.com. Thank you, in advance, for your comments.

Information Builders Consulting and Training


Interested in training? Information Builders Education Department offers a wide variety of training courses for this and other Information Builders products. For information on course descriptions, locations, and dates, or to register for classes, visit our World Wide Web site (http://www.informationbuilders.com) or call (800) 969-INFO to speak to an Education Representative.

vi

Information Builders

Contents
1. WebFOCUS Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1
What Is a Web Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2 Components of a Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3 Using WebFOCUS Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4 What Can You Do Through a WebFOCUS Web Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5 The WebFOCUS WSDL Creation Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5 The WebFOCUS Web Services Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-5 Example: Using a Web Service to Make an Online Reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-6 WebFOCUS Web Services Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-6

2.

Using the WebFOCUS WSDL Creation Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1


Creating WSDL Files With the WSDL Creation Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2 Creating a Generic WSDL File for an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2 Creating a WebFOCUS Report as a Web Service Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3 Creating a Managed Reporting Report as a Web Service Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6 Choosing Functions for a WSDL File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 Consuming a Web Service in .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 Consuming a Web Service in Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19

3.

WebFOCUS Web Service Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1


Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2 LogOnInfo (Authentication Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2 CookiesArrayEntry (Custom Cookies Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4 WebFocusReturn (Report Output Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5 LinkArrayEntry (Report Links Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 FexInfo (Run Report Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 ValuesArrayEntry (Report Parameters Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 ServerInfo (Reporting Server Information Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 ServersArray (Array of Reporting Server Information Structure) . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 DBInfo (Table Information Structures) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 DBInfoEntry (Array of Table Information Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 MasterInfo (Column Information Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28 MasterInfoEntry (Array of Column Information Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28 WSDLInfoStruct (WSDL Information Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 WSDLInfoEntry (WSDL Information Details Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31 MREReturn (Managed Reporting Functions Return Structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32

WebFOCUS Web Services

vii

Contents

4.

WebFOCUS Web Services Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1


Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2 Running a WebFOCUS Report as a Web Service Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4 Running a WebFOCUS Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-8 Finding the Parameters of a WebFOCUS Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 Running Links Brought Back in a WebFOCUS Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24 Passing a Drill-Down URL to WebFOCUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30 Listing WebFOCUS Reporting Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34 Listing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36 Listing Files Within an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39 Listing Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42 Listing Master File Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45 Listing Values for a Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47 Retrieving the WebFOCUS Code for a WebFOCUS Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50 Creating an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52 Deleting an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54 Renaming an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-56 Copying an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-58 Retrieving a File Within an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-60 Deleting a File Within an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-62 Renaming a File Within an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-64 Saving a File Within an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66 Running FOCUS Functions Contained Within the ibiapplets.txt File . . . . . . . . . . . . . . . . . . . . . 4-69 Turning UDDI Traces On and Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73 Getting Configuration Information About WebFOCUS Web Services . . . . . . . . . . . . . . . . . . . . 4-75 Creating a Multi-Select WHERE Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77 Running WebFOCUS API Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80 Retrieving the Parameters of a WebFOCUS Report Created as a Function . . . . . . . . . . . . . . . . 4-83 Getting the WebFOCUS Code of a WebFOCUS Report Created as a Function . . . . . . . . . . . . 4-85

viii

Information Builders

Contents Managed Reporting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-86 Getting a List of Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-86 Getting a List of Domains for a Particular User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-88 Getting a List of Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-89 Getting a List of Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-91 Creating a New Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-92 Creating a New Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-94 Creating a New User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-95 Renaming a Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-97 Setting a Password for a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-99 Changing User Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-101 Adding a Group To a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-104 Deleting a Group From a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-106 Adding a Domain To a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-108 Deleting a Domain From a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-110 Deleting a Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-112 Deleting a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-114 Adding a Standard Reports Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-116 Renaming a Standard Reports Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-119 Deleting a Standard Reports Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-122 Adding a Reporting Objects Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-124 Renaming a Reporting Object Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-127 Deleting a Reporting Object Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-130 Creating a Standard Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-132 Renaming a Standard Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-137 Deleting a Standard Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-140 Creating a Reporting Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-143 Renaming a Reporting Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-149 Deleting a Reporting Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-152 Creating an Other File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-155 Renaming an Other File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-159 Deleting an Other File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-161 Opening a Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-164 Running Managed Reporting API Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-168 Retrieving Status of Deferred Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-172

WebFOCUS Web Services

ix

Contents

5.

WebFOCUS Web Services Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-1


Reporting From Data Returned From a Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-2 Configuring the Web Service Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3 Creating Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5 Metadata Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8 Reporting Against a Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14

6.

Troubleshooting WebFOCUS Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-1


Troubleshooting Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-2 Debugging WebFOCUS Web Services Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-5

Information Builders

CHAPTER 1

WebFOCUS Web Services

Topics: What Is a Web Service? Components of a Web Service Using WebFOCUS Web Services Example: Using a Web Service to Make an Online Reservation WebFOCUS Web Services Architecture

With WebFOCUS Version 5 Release 3, you can interact with a variety of WebFOCUS features using Web Services.

New Features

1-1

What Is a Web Service?

What Is a Web Service?


A Web Service is a self-contained application that performs certain functions that you can publish on the Web based on open standards. A Web Service facilitates communication between applications because it is not platform-specific or language-based. A Web Service functions like a black box, because you can provide input and expect certain output without knowing exactly how the results are achieved. Since Web Services are platform-neutral and comply with open standards, more businesses can interact with one another through integration of applications, even those written in different languages. For example, Windows applications can talk to UNIX applications, and Java can talk to Perl. Most companies develop software for their specific business functions. However, due to increased associations among businesses, and international commercial collaboration, companies need a way to share information stored in separate computer systems. A Web Service makes it possible for applications within computer systems to communicate with each other. Through a Web Service, business logic, processes, and data can be reused by different applications. This significantly reduces the amount of time it takes to develop applications by eliminating the need to replicate business functions.

1-2

iWay Software

WebFOCUS Web Services

Components of a Web Service


The main components of a Web Service are: Extensible Markup Language (XML). XML is a flexible text format that allows the exchange of data on the Internet, intranets, and elsewhere. It is a standard of the World Wide Web Consortium (W3C). Simple Object Access Protocol (SOAP). SOAP is a communications protocol designed for exchanging information in a distributed environment. It provides a messaging framework that is independent of implementation specifics, and it enables a program on one kind of operating system (such as Windows 2000) to communicate with a program on another kind of operating system (such as Linux). SOAP uses the Hypertext Transfer Protocol (HTTP) and XML to exchange information. Web Services Description Language (WSDL). WSDL, expressed in XML, describes how to access a Web Service and the operations that it will perform. WSDL, which was codeveloped by Microsoft and IBM, describes the protocols and formats used by the Web Service. Universal Description, Discovery, and Integration (UDDI). UDDI is the component that enables businesses to find each other on the Web and make their systems interoperable for e-commerce. A business can list itself by name, product, location, or by the Web Service it offers. Information is entered on a registry server and then shared by servers in other businesses. Services are defined through a UDDI document called a Type Model or tModel. The tModel often contains a WSDL file that describes a SOAP interface to an XML Web Service.

You can use XML, SOAP, WSDL, and UDDI together to integrate Web-based applications. Use XML to tag the data, SOAP to transfer the data, WSDL to describe the available services, and UDDI to list the available services.

New Features

1-3

Using WebFOCUS Web Services

Using WebFOCUS Web Services


In this section: What Can You Do Through a WebFOCUS Web Service? The WebFOCUS WSDL Creation Utility The WebFOCUS Web Services Adapter WebFOCUS Web Services allow you to develop applications in the .NET or Java environments and perform WebFOCUS functionality from it. A business can pass parameters from its own application to WebFOCUS and retrieve output in the form of a formatted report or data. In WebFOCUS reports, input is in the form of parameters and output is in the form of a formatted report. Businesses benefit from Web Services because of their accessibility and efficiency. A WebFOCUS Web Service allows businesses to use their own customized front-end interfaces to implement a variety of WebFOCUS reporting capabilities. WebFOCUS provides the following Web Services products: WebFOCUS Web Services Enablement, also known as the Publish option, can present WebFOCUS reports as Web Services operations. It allows external applications built with Web Services supported languages (such as C++, C#, VB.NET, Java, and Flash Action Script) to integrate the report output. It also includes a set of generic Web Services operations that allow an application to integrate some basic WebFOCUS functionality. WebFOCUS Web Services Adapter, also known as the Consume option, consumes Web Services information and incorporates it as a data source. A Web Service that is created and deployed with any Web Services authoring tool can be accessed directly by the WebFOCUS Reporting Server and manipulated as though it were relational data.

1-4

iWay Software

WebFOCUS Web Services

What Can You Do Through a WebFOCUS Web Service?


You can do the following through a WebFOCUS Web Service: Explore the file structure of servers and applications. Run WebFOCUS reports. Determine the parameters for a report. Query a server for information and incorporate the results in an application. For example, you can populate a list box in your application with the results to expose choices to the user. Implement Managed Reporting security, which is beneficial if your business has different internal security standards from WebFOCUS. You can updated Managed Reporting security from your own application.

The WebFOCUS WSDL Creation Utility


WebFOCUS provides a WSDL creation utility, which describes the capabilities available through a WebFOCUS Web Service. A WSDL file is an XML document that defines the input parameters for WebFOCUS Web Service functions, the expected output, and the method for calling each function. The WebFOCUS WSDL utility creates a file needed to call one or more WebFOCUS Web Services. .NET or Java programmers can use this to develop their own applications.

The WebFOCUS Web Services Adapter


WebFOCUS accesses a business data sources with data adapters for Relational Database Management Systems such as DB2, SQL Server, Oracle, Teradata, and so on. However, some businesses can only access certain data using a homegrown Web Service, or can only access external data using a Web Service. In these cases, WebFOCUS can use its Web Services adapter to call Web Services. The WebFOCUS Web Services adapter allows you to pass parameters from WebFOCUS to a Web Service and access data from the applications defined by the Web Service. The WebFOCUS Web Services adapter allows ad hoc reporting against data from Web Service applications. You can join Web Services to other Web Services and other data sources. For more information about joining data sources, see Creating Reports With WebFOCUS Language. This adapter can read a Web Service as a source during the creation of a Data Warehouse or DataMart using DataMigrator.

New Features

1-5

Example: Using a Web Service to Make an Online Reservation

Example: Using a Web Service to Make an Online Reservation


Suppose you decide to purchase an airline ticket online through a travel Web site. You search the Web sites database for an available flight. Once you select an itinerary, the Web application communicates with the airlines database to book the flight and secure a confirmation. If you receive a message that the flight is no longer available, it is usually because of the difference between the travel Web sites database and the real-time availability of flights in the airlines database. If the airline reservation system used a Web Service as a method of communication, the travel Web site could simply send input (such as your name, the date, time of flights, and so on) to the Web Service. The Web Service would then pass the airlines output (flight confirmation, price, and ticket number) back to the travel Web site.

WebFOCUS Web Services Architecture


In this example the developer creates a Web reference from the development environment (for example, Microsoft Visual Studio) to the WSDL (Web Services Description Language) file for the basic WebFOCUS Web Service. This Web Service allows the user to explore the WebFOCUS Reporting Server. For instance, the user can access a list of the applications and procedures residing on the server. The developer can also run one of the existing procedures or send an ad hoc procedure to the server for execution.

1-6

iWay Software

CHAPTER 2

Using the WebFOCUS WSDL Creation Utility

Topics: Creating WSDL Files With the WSDL Creation Utility Creating a Generic WSDL File for an Application Creating a WebFOCUS Report as a Web Service Function Creating a Managed Reporting Report as a Web Service Function Choosing Functions for a WSDL File Consuming a Web Service in .NET Consuming a Web Service in Java

WebFOCUS Web Services Enablement, also known as the Publish option, provides the WebFOCUS WSDL creation utility that creates a WSDL file that .NET and Java programmers can use to call the set of WebFOCUS Web Services functions. The WSDL creation utility expedites application development because it automatically generates a WSDL file.

WebFOCUS Web Services

2-1

Creating WSDL Files With the WSDL Creation Utility

Creating WSDL Files With the WSDL Creation Utility


The WebFOCUS WSDL creation utility creates the WSDL file that is needed to call desired WebFOCUS Web Services functions in either a .NET or Java environment. WSDL (Web Services Description Language) files are XML documents that are programming-language neutral and standards-based. They define input parameters for Web Services functions, expected output, and the messages used to call each function. WebFOCUS Web Services Enablement, also known as the Publish option, can present WebFOCUS reports as Web Services operations. When creating a Web Service, you must add a reference to the WSDL file for that service. You can generate a WSDL file for WebFOCUS by navigating to
http://target_machine/ibi_html/workbnch/webservice.htm

where target_machine is the name of the machine where WebFOCUS is installed. This URL displays a supplied Web page from which you can create WebFOCUS WSDL files.

Creating a Generic WSDL File for an Application


No logon credentials are required when you create a generic WSDL file for a WebFOCUS or Managed Reporting application. 1. To create a generic a WSDL file, navigate to:
http://target_machine/ibi_html/workbnch/webservice.htm

2. Click the WebFocus Uddi or Mre Uddi, depending on the type of generic WSDL file you want to create. 3. Click the WSDL button.

2-2

Information Builders

Using the WebFOCUS WSDL Creation Utility

Creating a WebFOCUS Report as a Web Service Function


You can create a WebFOCUS report as its own Web Service function. For details about WebFOCUS Web Services functions, see Chapter 4, WebFOCUS Web Services Functions.

Procedure How to Create a WSDL File for a WebFOCUS Application


1. Navigate to the following URL:
http://target_machine/ibi_html/workbnch/webservice.htm

You see the Web page for creating a Web Service for WebFOCUS.

Under the first option, Create a Web Service to a specific focexec, enter credentials for the WebFOCUS Reporting Server. If you want to access an unsecured server, you do not have to enter credentials. 2. Choose the service for WebFocus Uddi. 3. Click Logon to open the next page.

WebFOCUS Web Services

2-3

Creating a WebFOCUS Report as a Web Service Function

4. Select a server and click Submit to open the next page, which shows a list of applications.

5. Select an application and click Submit to open the next page, which lists procedures (focexecs) and the format options in creating the WSDL file.

2-4

Information Builders

Using the WebFOCUS WSDL Creation Utility

6. Select one or more procedures, and scroll down the page to select a format.

You have the following options: format disco format wsdl format URL (disco) format URL (wsdl) Minimum List FEX Only Function

For details, see WebFOCUS Web Service Function Formats on page 2-9. 7. Choose one of the following: Click Submit. WebFOCUS generates the file for the chosen procedure in the format (WSDL or DISCO) you selected. Note that DISCO is Microsofts Web Service Discovery language, which you can use to publish and discover Web Services. For details about WSDL, see Chapter 1, WebFOCUS Web Services. or Click Pick Functions. Another page opens in which you can customize the WSDL file by selecting and/or deselecting functions associated with the application. For details, see Choosing Functions for a WSDL File on page 2-14.

WebFOCUS Web Services

2-5

Creating a Managed Reporting Report as a Web Service Function

Creating a Managed Reporting Report as a Web Service Function


You can create a Managed Reporting report as its own Web Service function. For details about WebFOCUS Web Services functions, see Chapter 4, WebFOCUS Web Services Functions.

Procedure How to Create a WSDL File for a Managed Reporting Application


1. Navigate to the following URL:
http://target_machine/ibi_html/workbnch/webservice.htm

You see the Web page for creating a Web Service for WebFOCUS.

Under the first option, Create a Web Service to a specific focexec, enter credentials for Managed Reporting. If a secured Reporting Server is being used, you must enter WebFOCUS Server credentials. 2. Choose the service for the procedure, Mre Uddi.

2-6

Information Builders

Using the WebFOCUS WSDL Creation Utility

3. Click Logon to open the next page.

4. Select a domain and click Submit to open the next page, which shows a list of reporting folders.

5. Select a folder by clicking the folder description to open the next page, which lists procedures (focexecs) and the format options in creating the WSDL file.

WebFOCUS Web Services

2-7

Creating a Managed Reporting Report as a Web Service Function

6. Select one or more procedures, and scroll down the page to select a format. You have the following options:

format disco format wsdl format URL (disco) format URL (wsdl) Minimum List FEX Only Function No MRE Admin Functions

For details, see WebFOCUS Web Service Function Formats on page 2-9. 7. Choose one of the following: Click Submit. WebFOCUS generates the file for the chosen procedure in the format (WSDL or DISCO) you selected. Note that DISCO is Microsofts Web Service Discovery language, which you can use to publish and discover Web Services. For details about WSDL, see Chapter 1, WebFOCUS Web Services. or Click Pick Functions. Another page opens in which you can customize the WSDL file by selecting and/or deselecting functions associated with the application. For details, see Choosing Functions for a WSDL File on page 2-14.

2-8

Information Builders

Using the WebFOCUS WSDL Creation Utility

Reference

WebFOCUS Web Service Function Formats


You can choose one of the following formats when you create a WSDL file: format disco format wsdl format URL (disco) format URL (wsdl) Minimum List FEX Only Function No MRE Admin Functions

The following is an example of format disco output:

Note the URL for the documentation:


docref=http://bigscm12.ibi.com:12490/ibi_html/workbnch/ WebServicesDocumentation.htm

Copy and paste this link to access WebFOCUS Web Services documentation.

WebFOCUS Web Services

2-9

Creating a Managed Reporting Report as a Web Service Function

The following is an example of format wsdl output:

The following is an example of format URL (disco) output:

2-10

Information Builders

Using the WebFOCUS WSDL Creation Utility

Copy URL Copies the URL of the DISCO file to the clipboard. Click Copy URL, open another browser, and select Paste from the Edit menu. Press the Enter key to see the URL:

Save As Saves the DISCO file to a location. Click Save As to open the File Download dialog box. Click Save to open the Save As dialog box. Select All Files from the Save as Type drop-down list. Be sure to name your file with a .disco extension. Do not save the file name with a .jsp extension.

WebFOCUS Web Services

2-11

Creating a Managed Reporting Report as a Web Service Function

The following is an example of format URL (wsdl) output:

Copy URL Copies the URL of the WSDL file to the clipboard. Click Copy URL, open another browser, and select Paste from the Edit menu. Press the Enter key to see the URL.

2-12

Information Builders

Using the WebFOCUS WSDL Creation Utility

Save As Saves the WSDL file to a location. Click Save As to open the File Download dialog box. Click Save to open the Save As dialog box. Select All Files from the Save as Type drop-down list. Be sure to name your file with a .wsdl extension. Do not save the file name with a .jsp extension.

Minimum List Excludes the Finding Parameters and Getting FOCUS code functions for a WebFOCUS report created as a Web Service function. FEX Only Function Excludes generic Web Service functions. MRE Functions Excludes Managed Reporting security functions.

WebFOCUS Web Services

2-13

Choosing Functions for a WSDL File

Choosing Functions for a WSDL File


WebFOCUS Web Services has a Pick Functions option which allows you to pick and choose which functions to include in your WSDL file. You can use this option for both WebFOCUS and Managed Reporting. Before you can use the Pick Functions option in WebFOCUS Web Services, the administrator must first modify the list of functions in the WebFocusWSConfig.properties file.

Procedure How to Modify the List of Functions Using the WebFocusWSConfig.properties File
You can pick functions from a generic set of functions to add to a WSDL file. To disable certain default functions, modify the WebFocusWSConfig.properties file. It is located in the following directory:
c:\ibi\WebFOCUS53\webapps\webfocus53\WEB-INF\classes

1. Open the WebFocusWSConfig.properties file in Notepad.

Functions can have the following values:


checked

Indicates that the function is checked in the display by default and is enabled.
unchecked

Indicates that the function is unchecked in the display by default and is enabled.
disabled

Indicates that the function is unchecked in the display and the function is disabled. Note that if a function is missing from the WebFocusWSConfig.properties file it is assumed to be checked. 2. Find the function you would like to change and enter checked, unchecked, or disabled, depending on whether or not you want to display the function. 2-14 Information Builders

Using the WebFOCUS WSDL Creation Utility

Example

Using the Pick Functions Option


1. Navigate to the following URL:
http://target_machine/ibi_html/workbnch/webservice.htm

You see the Web page for creating a Web Service for WebFOCUS.

2. In the Access the WebFOCUS server thru a Web Service area, click Pick Functions. Another page opens in which you can customize the WSDL file by selecting and/or deselecting functions associated with the application.

WebFOCUS Web Services

2-15

Consuming a Web Service in .NET

Target Machine By default, the WSDL file is created using connection information to WebFOCUS based on the URL entered for the WSDL Creation utility. If a proxy server is being used, you can enter a different target machine and the WSDL file will contain the entered target machine in the WSDL file.

Consuming a Web Service in .NET


In order for a .NET program to communicate with a Web Service, the Web Services Description Language (WSDL) file must first be consumed. The consumption process reads the WSDL file and creates all the necessary classes and code to be used in the development of a program within .NET. In .NET, perform the following steps: 1. Select Add Web Reference from the Project menu. The Add Web Reference screen appears:

2-16

Information Builders

Using the WebFOCUS WSDL Creation Utility

2. Enter the location of the WSDL file.

3. You can also enter the URL for the WSDL creation utility. You must enable the ActiveX controls in your browser in order to do this.

WebFOCUS Web Services

2-17

Consuming a Web Service in .NET

4. Once the WSDL file appears, click the Add Reference button.

2-18

Information Builders

Using the WebFOCUS WSDL Creation Utility

Consuming a Web Service in Java


In order for a Java program to communicate with a Web Service, the Web Services Description Language (WSDL) file must first be consumed. This means that the consumption process would read the WSDL file and create all the necessary classes and code to be used within the Java development environment. There are tools available which perform this consumption process. A commonly used tool is the Java Web Services Developer Pack. You can download this from www.sun.com. Perform the following steps to consume a Web Service using the Java Web Services Developer Pack: 1. Configure the config.xml file to point to the location of the WSDL file:
<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl name="javademo" location="file:///d:/web services documentation/javadocexamples/ MRE.wsdl" packageName="javademo"> <typeMappingRegistry></typeMappingRegistry> </wsdl> </configuration>

2. Run a utility which reads the config.xml file and creates the Java classes and code:
SET JWSDP=D:\jwsdp-1.4 %JWSDP%\jaxrpc\bin\wscompile -keep -gen:client config.xml

This creates the Java classes and code in a sub-directory called Javademo. (Note that in the config.xml file that packageName="javademo".) The Java Web Services Developer Pack must be called when compiling a Java Program. In the following example, javademo.java is the name of the program being compiled.
SET JWSDP=D:\jwsdp-1.4 SET JAVA_HOME=c:\j2sdk1_4_2_4 %JAVA_HOME%\bin\javac -classpath %JWSDP%\jaxrpc\lib\jaxrpcapi.jar;%JWSDP%\jaxrpc\lib\jaxrpcimpl.jar;%JWSDP%\jaxp\lib\endorsed\xalan.jar;D:\WebSer~3\javado~1; Javademo.java

WebFOCUS Web Services

2-19

Consuming a Web Service in Java

In the following example, javademo is the name of the program being run.
SET JWSDP=D:\jwsdp-1.4 SET JAVA_HOME=c:\j2sdk1_4_2_4 java -classpath %JWSDP%\jaxrpc\lib\jaxrpcapi.jar;%JWSDP%\jaxrpc\lib\jaxrpc-impl.jar;%JWSDP%\jaxrpc\lib\jaxrpcspi.jar;%JWSDP%\jaxp\lib\endorsed\xalan.jar;%JWSDP%\jwsdpshared\lib\activation.jar;%JWSDP%\jwsdpshared\lib\mail.jar;%JWSDP%\saaj\lib\saajapi.jar;%JWSDP%\saaj\lib\saaj-impl.jar;%JWSDP%\jwsdp-shared\lib\jaxqname.jar;%JAVA_HOME%\jre\lib\rt.jar;%JWSDP%\jaxp\lib\endorsed\xercesI mpl.jar;%JWSDP%\jaxp\lib\endorsed\dom.jar;D:\WebSer~3\javado~1; javaDemo

2-20

Information Builders

CHAPTER 3

WebFOCUS Web Service Structures

Topic: Structures

WebFOCUS Web Services contain a set of structures to use as input to a WebFOCUS Web Service function and output from a WebFOCUS Web Service function.

WebFOCUS Web Services

3-1

Structures

Structures
This topic describes the structures used by WebFOCUS Web Services.

LogOnInfo (Authentication Structure)


LogOnInfo is a structure that contains the output values from the WebFocusLogOn function. It contains all of the WebFOCUS authentication information. Since this structure is the first parameter of all the other WebFOCUS Web Service functions, the LogOnInfo structure must first be set before any of the other WebFOCUS Web Service functions can be run. It can be set through the WebFocusLogOn function or authentication can be performed on every WebFOCUS Web Service function call by setting cserver, dosignon, mrepass, mreuid, userid, and pass. Name cserver dosignon String Boolean Type Description Node name of the Reporting Server as defined in the odin.cfg file. True. Will authenticate on every Web Service function call. False. Will not perform authentication. This is the default. MRcookie mrepass mreuid othercookies String String String CookiesArrayEntry Logon cookie for Managed Reporting. Managed Reporting password. Managed Reporting user ID. Custom cookies which get added to the context and are picked up in the WebFOCUS variable table within MREXIT. WebFOCUS Reporting Server password. True if logon is successful. False if logon is unsuccessful. time userid WFcookie Long String String Time of run in milliseconds since January 1, 1970. WebFOCUS Reporting Server user ID. Logon cookie for the WebFOCUS Reporting Server. Information Builders

pass status

String Boolean

3-2

WebFOCUS Web Service Structures

Name WFviewer String

Type

Description Session cookie for WebFOCUS Environment.

The following is an example of the LogOnInfo structure:

The following is an example of the LogOnInfo structure if it is used to authenticate on every WebFOCUS Web Service function call:

WebFOCUS Web Services

3-3

Structures

CookiesArrayEntry (Custom Cookies Structure)


CookiesArrayEntry is a structure containing Name/Value pairs for Custom Cookies that need to be passed from a calling application, such as .NET or Java, to the Managed Reporting Custom Exit (MREXIT). These cookies are picked up within the WebFOCUS Variable Table within MREXIT. Name name val Type String String Description The variable name of the Custom Cookie. The value of the Custom Cookie.

The following is an example of the CookiesArrayEntry structure:

3-4

Information Builders

WebFOCUS Web Service Structures

WebFocusReturn (Report Output Structure)


WebFocusReturn is a structure that contains the output values from running a WebFOCUS report through WebFOCUS Web Services. Name binaryData Type Byte array Description Contains binary data. This contains the output of a WebFOCUS report if the report is a graph with a format of .gif, .jpeg, or .png. The length of binaryData. An array of links that link information to drill-down reports, graphs, Cascading Style Sheets, and JavaScripts. The type of output being returned.
text/html

binaryDataLength links

Integer LinkArrayEntry

mime

String

Is HTML output.
application/vnd.ms-excel

Is Excel output.
application/pdf

Is PDF output.
image/gif

Is a graph or an image in .gif format.


image/jpeg

Is a graph or an image in .jpeg format.


image/png

Is a graph or an image in .png format.


image/svg+xml

Is a graph or an image in .svg format.


text/xml

Is XML output.
text/plain

Is text output.

WebFOCUS Web Services

3-5

Structures

Name output String

Type

Description If the mime value is text/html, application/ vnd.ms-excel, application/pdf, or image/ svg, this value contains the formatted output of the WebFOCUS report. The size of output in bytes. Time of run in milliseconds since January 1, 1970. The values of the output of a WebFOCUS report if the mime value is text/xml. The output of a WebFOCUS report in XML format if XML was specified as the HOLD format for the report. The size of xml output in bytes.

outputlength time values xml

Integer Long String array String

xmllength

Integer

HTML Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in HTML format:

Excel Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in Excel format:

3-6

Information Builders

WebFOCUS Web Service Structures

PDF Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in PDF format:

Graph Output
The following shows information that is returned to the WebFocusReturn structure when you run a graph. At this point, the .gif, .jpeg, .png, or .svg file is not returned to the output value. The graph resides on the application server. Note that WebFocusReturn shows the existence of two links of a type LinkArrayEntry (see LinkArrayEntry). The WebFocusLink function should be used to retrieve the graph from the application server:

Retrieving Graph Output From an Application Server (.GIF Format)


The following shows information that is returned to the WebFocusReturn structure after the WebFocusLink function is used to retrieve a graph in .gif format from the application server. Note that BinaryData and BinaryDataLength get populated:

WebFOCUS Web Services

3-7

Structures

Retrieving Graph Output From an Application Server (.JPEG format)


The following shows information that is returned to the WebFocusReturn structure after the WebFocusLink function is used to retrieve a graph in .jpeg format from the application server. Note that BinaryData and BinaryDataLength get populated:

Retrieving Graph Output From an Application Server (.PNG format)


The following shows information that is returned to the WebFocusReturn structure after the WebFocusLink function is used to retrieve a graph in .png format from the application server. Note that BinaryData and BinaryDataLength get populated:

Retrieving Graph Output From an Application Server (.SVG format)


The following shows information that is returned to the WebFocusReturn structure after the WebFocusLink function is used to retrieve a graph in .svg format from the application server. Note that Output and OutputLength get populated:

3-8

Information Builders

WebFOCUS Web Service Structures

XML Format
The following shows information that is returned to the WebFocusReturn structure if the output of a WebFOCUS report is in XML format. Note that Values, XML, and XMLlength get populated:

Text Format
The following shows information that is returned to the WebFocusReturn structure if the output of a Web Service function is in text format. The WebFocusGetFexText function is an example of a function that returns text output:

WebFOCUS Web Services

3-9

Structures

LinkArrayEntry (Report Links Structure)


LinkArrayEntry is a structure that contains the link information for drill-down reports, graphs, images, Cascading Style Sheets, JavaScripts, and ibiOptions. It is mainly used to drill down to another WebFOCUS report or the location of a graph on the application server. The link for a drill-down report or graph is then used as input to the WebFocusLink function. The LinkArrayEntry array contains pairs of links for each drill-down report line or graph. One of the link entries has a value for type 'urlstart'. This link entry is for information purposes only and should not be used as input to the WebFocusLink function. It is used to indicate the starting position of the link within the HTML. Name link Type String Description If the type value is 'urlstart' then the link value will be '/ webservice?'. If the type value is 'optionsstart' then the link value will be 'var ibiOptions = new Array('. If the type is 'css' then the link value will contain the name of the .css file used in the report. If the type is 'js' then the link value will contain the location of the JavaScript file. Otherwise, the link value will contain the link to the drill-down report or graph for use by the WebFocusLink function. position Integer Character offset from start of HTML of this link.

3-10

Information Builders

WebFOCUS Web Service Structures

Name type

Type LinkType

Description The type of link being returned.


gif

Is a .gif file.
jpg

Is a .jpeg file.
png

Is a .png file.
svg

Is an .svg file.
js

Is a JavaScript file.
css

Is a Cascading Style Sheet.


urlstart

Is the starting position of each link within the HTML output.


optionsstart

Is the starting position within the HTML output of the list of ibiOptions that must be invoked. An OLAP-enabled report would have this link populated.
fexdrill

Is a drill-down report. LinkType is an enumeration of valid values.

WebFOCUS Web Services

3-11

Structures

Graph in .GIF Format


The following shows links contained in the WebFocusReturn structure for a graph in .gif format:

Graph in .JPEG Format


The following shows links contained in the WebFocusReturn structure for a graph in .jpeg format:

3-12

Information Builders

WebFOCUS Web Service Structures

Graph in .PNG Format


The following shows links contained in the WebFocusReturn structure for a graph in .png format:

Graph in .SVG Format


The following shows links contained in the WebFocusReturn structure for a graph in .svg format:

WebFOCUS Web Services

3-13

Structures

Drill-Down
The following shows the links contained in the WebFocusReturn structure if a drill-down exists in a WebFOCUS report:

Cascading Style Sheet


The following is an example of a link contained in the WebFocusReturn structure if a Cascading Style Sheet exists in a WebFOCUS report:

3-14

Information Builders

WebFOCUS Web Service Structures

JavaScript
The following is an example of the links contained in the WebFocusReturn structure if JavaScript exists within a WebFOCUS report. The example is the result of running an OLAPenabled report:

Optionsstart
The following is an example of a link contained in the WebFocusReturn structure if the HTML output from a WebFOCUS report contains ibiOptions in its source. For example
var ibiOptions = new Array('olap','olappanebase','olapdrill');

The example is the result of running an OLAP-enabled report:

WebFOCUS Web Services

3-15

Structures

FexInfo (Run Report Structure)


FexInfo is the parent structure that contains input information about a WebFOCUS report that will be used by certain WebFOCUS Web Service functions. Name adhocfex Type String Description WebFOCUS code. For example:
TABLE FILE CAR PRINT MODEL BY COUNTRY BY CAR END

app description

String String

Application name if the WebFOCUS report resides in the application environment. The long name of the WebFOCUS report. It is populated through the WebFocusFexReflection function. Array of input parameters for the WebFOCUS report. True. Run Managed Reporting report deferred. False. Do not run Managed Reporting report deferred. This is the default.

IBIWS_arrayvalues MREDefer

ValuesArrayEntry

Boolean

MREdomain

String

The HREF of the domain. This can be obtained by viewing the domain properties of the domain within Managed Reporting or by getting a list of domains by using the Web Service function MREGetUserDomains.

MREflags

String

The Managed Reporting report flags are populated through the WebFocusFexReflection function.

3-16

Information Builders

WebFOCUS Web Service Structures

Name MREfolder

Type String

Description The HREF of the Standard Reports group. This can be obtained by viewing the Standard Reports group properties of the Standard Reports group within Managed Reporting, or by getting a list of Standard Reports groups by using the Web Service function MREOpenDomain.

name

String

The name of the WebFOCUS report if the report resides in the application environment. The HREF of the WebFOCUS report if the report resides in Managed Reporting. This can be obtained by viewing the file name property from the Standard Reports properties of the WebFOCUS report within Managed Reporting or by getting a list of WebFOCUS reports by using the Web Service function MREOpenDomain.

server

String

The name of the WebFOCUS Reporting Server used for running the WebFOCUS report. This parameter is only needed if the WebFOCUS report resides in the application environment. A list of available servers can be obtained by using the Web Service function WebFocusListServers.

WebFOCUS Web Services

3-17

Structures

Running a Report From the Application Environment


The following is an example of information that must be set in order to run a WebFOCUS report from the application environment using the WebFocusRunFex function:

Running a Report From Managed Reporting


The following is an example of information that must be set in order to run a WebFOCUS report from Managed Reporting using the WebFocusRunFex function:

3-18

Information Builders

WebFOCUS Web Service Structures

Running a Report With WebFOCUS Code


The following is an example of information that must be set in order to run a WebFOCUS report using WebFOCUS code. The FexInfo structure is then passed to the WebFocusRunFex function:

ValuesArrayEntry (Report Parameters Structure)


ValuesArrayEntry is a structure that contains information about the input parameters for a WebFOCUS report. Name defaultVal Type String Description The Default value for the parameter as set by -DEFAULTS. This is retrieved from the WebFocusFexReflection function. The format of the parameter if one was set up in the WebFOCUS report. For example, &COUNTRY.A24. This is retrieved from the WebFocusFexReflection function. True. Multi-select has been turned on for this parameter in the WebFOCUS report. False. Single-select has been turned on for this parameter. This is the default. operation String If multi-select has been turned on for this parameter in the WebFOCUS report, this variable will either be set to AND or OR. The name of the WebFOCUS report parameter.

format

String

multi

Boolean

name

String

WebFOCUS Web Services

3-19

Structures

Name prompt

Type String

Description The prompt for the parameter if one was set up in the WebFOCUS report. This is retrieved from the WebFocusFexReflection function. An array of descriptions for each valid value for the parameter if a pick list is set up in the WebFOCUS report. This is retrieved from the WebFocusFexReflection function. True. Each value should be surrounded by quotes. False. No quotes surround values. This is the default.

PromptArray

String array

quote

Boolean

StringArray

String array

An array of valid values for the parameter if a pick list was set up in the WebFOCUS report. This is retrieved from the WebFocusFexReflection function. It is a list of values sent as input to the parameter.

type

String

The default if -DEFAULTS is specified for this parameter in the WebFOCUS report. Otherwise, it is unresolved. The parameter value sent as input to the WebFOCUS report. This is blank if StringArray is set.

val

String

3-20

Information Builders

WebFOCUS Web Service Structures

The following is an example of information that has to be set in order to pass parameters to a WebFOCUS report using the WebFocusRunFex function:

The following is an example of information that has to be set in order to pass multiple values to a parameter.

WebFOCUS Web Services

3-21

Structures

The following is an example of the parameter information returned from the WebFocusFexReflection function if the WebFOCUS report parameters contain pick lists:

3-22

Information Builders

WebFOCUS Web Service Structures

The following is an example of the parameter information returned from the WebFocusFexReflection function if the WebFOCUS report parameters contain formats:

The following is an example of the parameter information in a WebFOCUS report within Managed Reporting. The WebFocusFexReflection function is used to retrieve these parameters:

WebFOCUS Web Services

3-23

Structures

ServerInfo (Reporting Server Information Structure)


ServerInfo is the parent structure that contains information about the configured WebFOCUS Reporting Servers. This structure is the output of the WebFocusListServers function. Name servers time Type serversArray Long Description Array of server information. Time of run in milliseconds since January 1, 1970.

The following is an example of information returned from the WebFocusListServers function:

3-24

Information Builders

WebFOCUS Web Service Structures

ServersArray (Array of Reporting Server Information Structure)


ServersArray is an array structure that contains information about the configured WebFOCUS Reporting Servers. This structure is the output of the WebFocusListServers function. Name class default Type String Boolean Description The class of the WebFOCUS Client entry as specified in the WebFOCUS Clients odin.cfg file. The value is true if the WebFOCUS Reporting Server is the default specified in the WebFOCUS Clients cgivars.wfs file. The value is true if a default WebFOCUS Reporting Server exists in the WebFOCUS Clients cgivars.wfs file. The node name of the WebFOCUS Client block as specified in the WebFOCUS Clients odin.cfg file. The communications protocol of the WebFOCUS Client block as specified in the WebFOCUS Clients odin.cfg file.

defaultSpecified

Boolean

handle

String

protocol

String

This is an example of the Array of Server information returned from the WebFocusListServers function:

WebFOCUS Web Services

3-25

Structures

DBInfo (Table Information Structures)


DBInfo is the parent structure that contains information about the tables that exist within the WebFOCUS Reporting environment. This structure is the output of the WebFocusDBInfo function. Name Db time Type DBInfoEntry Long Description Array of table information. Time of run in milliseconds since January 1, 1970.

The following is an example of information returned from the WebFocusDBinfo function:

DBInfoEntry (Array of Table Information Structure)


DBInfoEntry is an array structure that contains information about the tables that exist within the WebFOCUS Reporting environment. This structure is the output of the WebFocusDBInfo function. Name catdate cattime creator name remarks tbtype Type String String String String String String Description The date the WebFocusDBInfo function was run. The format is YY/MM/DD. The time the WebFocusDBInfo function was run. The format is HHMMSS. The creator of the catalog list. This should be EDADBA. The table name. The description of the table as it appears in the REMARKS attribute of the Master File. The table type. This is the SUFFIX attribute of the Master File.

3-26

Information Builders

WebFOCUS Web Service Structures

The following is an example of the Array of Table information returned from the WebFocusDBInfo function:

WebFOCUS Web Services

3-27

Structures

MasterInfo (Column Information Structure)


MasterInfo is the parent structure that contains information about the columns that exist within a table. This structure is the output of the WebFocusMasterInfo function: Name fields time Type MasterInfoEntry Long Description Array of column information. Time of run in milliseconds since January 1, 1970.

The following is an example of information returned from the WebFocusMasterInfo function:

MasterInfoEntry (Array of Column Information Structure)


MasterInfoEntry is an array structure that contains information about the columns that exist within a table. This structure is the output of the WebFocusMasterInfo function. Name alias name parent Type String String String Description The alias name of the column as it appears in the ALIAS attribute of the Master File. The name of the column as it appears in the FIELDNAME attribute of the Master File. The parent segment name of the segment of the column as it appears in the PARENT attribute of the Master File. The description associated with the column as it appears in the DESCRIPTION attribute of the Master File. The segment name of the column as it appears in the SEGNAME attribute of the Master File.

remarks

String

segname

String

3-28

Information Builders

WebFOCUS Web Service Structures

Name segtype

Type String

Description The segment type. "S" is lowest to highest. "SH" is highest to lowest. "U" is unique. "DKM" is Dynamic Keyed Multiple. "DKU" is Dynamic Keyed Unique. "KL" is Dynamic Keyed through Linkage. "KLU" is Keyed through Linkage Unique. "KM" is Keyed Multiple. "KU" is Keyed Unique.

title usage

String String

The title associated with the column as it appears in the TITLE attribute of the Master File. The display format of the column as it appears in the USAGE attribute of the Master File.

The following is an example of Array of Column information returned from the WebFocusMasterInfo function:

WebFOCUS Web Services

3-29

Structures

WSDLInfoStruct (WSDL Information Structure)


WSDLInfoStruct is the parent structure that contains certain pieces of information about the Web Services Description Language (WSDL) file. This structure is the output of the WebFocusWSDLInfo function. Name time WSDLInfo Type Long WSDLInfoEntry Description Time of run in milliseconds since January 1, 1970. WSDL information.

The following is an example of information returned from the WebFocusWSDLInfo function:

3-30

Information Builders

WebFOCUS Web Service Structures

WSDLInfoEntry (WSDL Information Details Structure)


WSDLInfoEntry is a structure that contains certain pieces of information about the Web Services Description Language (WSDL) file. This structure is the output of the WebFocusWSDLInfo function. Name IBIAPP_app IBIC_server IBIMR_domain IBIMR_folder IBIUDDI_cgiLocation IBIUDDI_mre IBIUDDI_mreSpecified IBIUDDI_trace IBIUDDI_traceSpecified IBIUDDI_webApplication IBIWF_language MR_BASE_DIR Type String String String String String Boolean Boolean Boolean Boolean String String String Description The application selected when creating the WSDL file. The WebFOCUS Reporting Server selected when creating the WSDL file. The Managed Reporting domain selected when creating the WSDL file. The Managed Reporting folder selected when creating the WSDL file. The location of the WebFOCUS Clients configuration files. True if the Managed Reporting UDDI was selected when creating the WSDL file. True if Managed Reporting is available. True if UDDI tracing is turned on. True if UDDI tracing is available. Location of WebFOCUS Web Services. Language code that WebFOCUS is configured for. Location of the Managed Reporting repository.

WebFOCUS Web Services

3-31

Structures

The following is an example of application information details returned from the WebFocusWSDLInfo function:

The following is an example of Managed Reporting information details returned from the WebFocusWSDLInfo function. In this example, the UDDI traces have been turned on:

MREReturn (Managed Reporting Functions Return Structure)


MREReturn is a structure that contains the XML returned from the Managed Reporting specific functions. Functions pertaining to updating Managed Reporting security and listing domains and groups would return the results in this structure. Name rc Type Integer Description Return of the Managed Reporting function. RC=1000 signifies that the Managed Reporting function call was successful. For details, see MR Return Codes on page 3-33. time xml Long String Time of run in milliseconds since January 1, 1970. The XML that is returned as the result of the Managed Reporting function calls.

3-32

Information Builders

WebFOCUS Web Service Structures

MR Return Codes
The following is a valid list of return codes for rc.
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ERROR_MR_NO_ERROR ERROR_MR_NO_ACTION ERROR_MR_NO_OPEN ERROR_MR_NO_DOMAINS ERROR_MR_NO_USER_FILE ERROR_MR_NO_USER_ID ERROR_MR_NO_USER ERROR_MR_DOMAIN_UNKNOWN ERROR_MR_NO_DOMAIN ERROR_MR_NO_LOCK ERROR_MR_ACTION_UNKNOWN ERROR_MR_MISSING_STRING ERROR_MR_OUT_OF_MEM ERROR_MR_FEX_NOT_FOUND ERROR_MR_NO_HTML ERROR_MR_CANT_OPEN_FEX ERROR_MR_NO_OPEN_USER_USER_FILE ERROR_MR_SUB_ACTION_UNKNOWN ERROR_MR_CANT_DELETE_FEX ERROR_MR_INTERNALTABLE_ERROR ERROR_MR_CANT_OPEN_FOLDER ERROR_MR_CREATE_FILE ERROR_MR_NOPOPEN ERROR_NO_INCLUDE ERROR_MR_BADDRILL ERROR_MR_CANT_OPEN_BMP ERROR_MR_CANT_OPEN_FILE ERROR_MR_CANT_FIND_FOLDER ERROR_MR_PASSWORD ERROR_MR_ENCRIPT ERROR_MR_NOT_ADMINISTRATOR ERROR_MR_BAD_GROUP ERROR_MR_BAD_DIR ERROR_MR_MAX_USER ERROR_MR_USER_ADMIN_MODE ERROR_MR_CANNOT_OPEN_DLL ERROR_MR_CANNOT_MRCHFT ERROR_MR_BAD_READ ERROR_MR_WRITE_OUT_OF_DATE ERROR_MR_CANT_FULFILL ERROR_MR_CANT_MOVE_FEX ERROR_MR_NOT_PUBLISHED ERROR_MR_USER_REQUIRED ERROR_MR_RERUN_ERROR ERROR_MR_NO_GROUPDATA_FILE

WebFOCUS Web Services

3-33

Structures

1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1060 1061 1062 1063 1064 1065 1066 1067 1068 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

ERROR_MR_NO_PRIMARY_GROUP_NAME ERROR_MR_NO_GROUPDATA_ENTRY ERROR_MR_NO_USERFILES_ENTRY ERROR_MR_NO_GROUP_BROADCAST ERROR_MR_NO_USER_DIR_NAME ERROR_MR_NO_FILE_EXTENSION ERROR_MR_ITEM_EXISTS ERROR_MR_DIFF_FOLDER_TYPE ERROR_MR_FOLDER_HAS_RO_FOLDER ERROR_MR_PASSWORD_EXPIRED ERROR_OLAP_INTERNAL_ERROR ERROR_OLAP_BAD_WRITE ERROR_OLAP_BAD_READ ERROR_OLAP_BAD_FOCEXEC ERROR_OLAP_XML_PARSING ERROR_OLAP_OLAPRULES ERROR_NO_OLAPRULES ERROR_IN_TRANSFORMATION ERROR_NO_GRAPHRULES ERROR_DST_MRE_UADMIN_INIT ERROR_DST_AUTH_INIT ERROR_DST_CREATE_USER ERROR_DST_DELETE_USER ERROR_DST_DESTROY_USER ERROR_DST_SET_USER_FLAGS ERROR_DST_SET_USER_PWD ERROR_DST_CREATE_GROUP ERROR_DST_DELETE_GROUP ERROR_DST_ADD_GROUP_USER ERROR_DST_DELETE_GROUP_USER ERROR_DST_IS_ADMIN ERROR_DST_AUTH_FAILED

The following is an example of information that is returned in the MREReturn Structure from making a Managed Reporting function call:

3-34

Information Builders

CHAPTER 4

WebFOCUS Web Services Functions

Topics: Functions Managed Reporting Functions

WebFOCUS Web Services contains a set of functions that are used to perform certain WebFOCUS functionality. Each of these functions has an input and output definition associated with it. This chapter includes Visual Basic .NET and Java examples to illustrate how each function should be called within those programming environments.

WebFOCUS Web Services

4-1

Functions

Functions
This topic describes the functions contained within WebFOCUS Web Services. WebFocus is the Web Service name associated with the set of WebFOCUS Web Service functions. The Service Name <service name="WebFocus"> can be found towards the end of the WSDL file that is created in the steps described in Chapter 2, Using the WebFOCUS WSDL Creation Utility.

Authentication
Function Name: WebFocus LogOn Purpose: To authenticate against the security set up in the WebFOCUS environment. If the authentication is successful, the WebFOCUS cookies are set and the cookie information is returned. This cookie information is the first parameter of every subsequent WebFOCUS Web Service function call. Input Description WebFOCUS Reporting Server user ID. If the WebFOCUS Reporting Server is unsecured, this parameter should be set to Null. WebFOCUS Reporting Server password. If the WebFOCUS Reporting Server is unsecured, this parameter should be set to Null. Managed Reporting user ID. If Managed Reporting is not being used, this parameter should be set to Null. Managed Reporting password. If Managed Reporting is not being used, this parameter should be set to Null. Output Description Structure that contains cookie information. Type LogOnInfo String String String Type String

4-2

Information Builders

WebFOCUS Web Services Functions

Example

Authentication Status in Visual Basic .NET


In the following example, the status of authentication is written to the WebFocusLogOn.txt file in the c:\temp directory.
Dim Dim Dim Dim wfs As New MRE.WebFocus logon As New MRE.LogOnInfo newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") newOutput = logon.status tempfile = "c:\temp\WebFocusLogOn.txt" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MRE is the name of the Web Reference.

Example

Authentication Status in Java


In the following example, the status of authentication is written to the WebFocusLogOn.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); boolean newOutput=logon.isStatus(); File tempfile = new File("c:\\temp\\WebFocusLogOn.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-3

Functions

Running a WebFOCUS Report as a Web Service Function


Function Name: Name of the WebFOCUS report or alias function name. Purpose: To run a WebFOCUS report created as a Web Service function. In the Application environment, the name of the WebFOCUS Web Service function for a WebFOCUS report is the name of the WebFOCUS report. The alias function names can be from
WebFocusFexEntry0

to
WebFocusFexEntry9

The alias function is an alternate method of calling a WebFOCUS report. Each report selected in the WSDL creation utility has an alias function. The alias function is listed under the actual WebFOCUS report name in the WSDL creation utility when the Pick Functions option is selected. For more information, see Chapter 2, Using the WebFOCUS WSDL Creation Utility.

For example,
car54

Is the actual report definition.


WebFocusFexEntry0

Is the alias report definition.

4-4

Information Builders

WebFOCUS Web Services Functions

In Managed Reporting, the name of the WebFOCUS Web Service function for a WebFOCUS report is the short name of the WebFOCUS report. You can determine the short name of the WebFOCUS report by right-clicking it and selecting Properties from within Managed Reporting. The short name is contained within the file name property. For example, centplac is the short name for the centpl_actbud report.

The alias function name can be from


MREFexEntry0

to
MREFexEntry9

WebFOCUS Web Services

4-5

Functions

The alias function is the alternate method of calling a WebFOCUS report. Each report that is selected in the WSDL creation utility has an alias function. The alias function is listed under short name for the WebFOCUS report in the WSDL creation utility when the Pick Functions option is selected.

For example,
centplac

Is the actual report definition.


MREFexEntry0

Is the alias report definition.

4-6

Information Builders

WebFOCUS Web Services Functions

Input Description WebFOCUS cookie information. Parameters of the WebFOCUS report. Certain Java Development environments and .NET display the parameters of the Web Service function. Otherwise, the WSDL file can be interrogated to determine the parameters. Output Description Structure that contains the output from a WebFOCUS report. Type WebFocusReturn Type LogOnInfo String

The following example shows the input definition of the Web Service function Sales_Report from the WSDL file that shows REGION as the parameter.
<s:element minOccurs="1" maxOccurs="1" name="IBIWS_cookie" type="ibi:LogOnInfo"/> <s:element minOccurs="1" maxOccurs="1" name="REGION" type="s:string" />

Example

Running a WebFOCUS Report as a Web Service Function in Visual Basic .NET


In the following example, the output of a WebFOCUS report named Sales_Report is written to the Sales_Report file in the c:\temp directory. The parameter for this report is REGION.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.sales_report(logon, "EASTERN") newOutput = ret.output tempfile = "c:\temp\Sales_Report.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-7

Functions

Example

Running a WebFOCUS Report as a Web Service Function in Java


In the following example, the output of a WebFOCUS report named Sales_Report is written to the Sales_Report file in the c:\temp directory. The parameter for this report is REGION.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.sales_report(logon,"EASTERN"); String newOutput=ret.getOutput(); File tempfile = new File("c:\\temp\\Sales_Report.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Running a WebFOCUS Report


Function Name: WebFocusRunFex Purpose: To run a WebFOCUS report. Input Description WebFOCUS cookie information. WebFOCUS report run information. Output Description Structure that contains the output from a WebFOCUS report. Type WebFocusReturn Type LogOnInfo FexInfo

4-8

Information Builders

WebFOCUS Web Services Functions

Example

Running a WebFOCUS Report in Visual Basic .NET - Single Select


In the following example, the output of a WebFOCUS report named Sales_Report_2 is written to a file in the c:\temp directory if a format of HTML is specified in the FMT parameter of the report. If a format of EXL2K is specified, output is written to the Sales_Report_2.xls file in the c:\temp directory. The other parameter for this report is REGION.
Dim wfs As New SelfServe.WebFocus Dim logon As New SelfServe.LogOnInfo Dim ret As New SelfServe.WebFocusReturn Dim report As New SelfServe.FexInfo Dim param1 As New SelfServe.ValuesArrayEntry Dim param2 As New SelfServe.ValuesArrayEntry Dim params As Array = Array.CreateInstance(GetType(SelfServe.ValuesArrayEntry), 2) Dim newOutput As String = "" Dim tempfile As String param1.name = "REGION" param1.val = "EASTERN" params(0) = param1 param2.name = "FMT" param2.val = "HTML" params(1) = param2 report.server = "EDASERVE" report.app = "Sales_Demo" report.name = "Sales_Report_2" report.IBIWS_arrayvalues = params logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) newOutput = ret.output If ret.mime = "application/vnd.ms-excel" Then tempfile = "c:\temp\Sales_Report_2.xls" Else : tempfile = "c:\temp\Sales_Report_2.htm" End If FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-9

Functions

Example

Running a WebFOCUS Report in Java - Single Select


In the following example, the output of a WebFOCUS report named Sales_Report_2 is written to a file in the c:\temp directory if a format of HTML is specified in the FMT parameter of the report. If a format of EXL2K is specified, output is written to the Sales_Report_2.xls file in the c:\temp directory. The other parameter for this report is REGION.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ValuesArrayEntry[] param; param = new ValuesArrayEntry[2]; ValuesArrayEntry param1 = new ValuesArrayEntry(); param1.setName("REGION"); param1.setVal("EASTERN"); param[0] = param1; ValuesArrayEntry param2 = new ValuesArrayEntry(); param2.setName("FMT"); param2.setVal("HTML"); param[1] = param2; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("Sales_Demo"); report.setName("Sales_Report_2"); report.setIBIWS_arrayvalues(params); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); String newOutput=ret.getOutput(); File tempfile = null; if (ret.getMime().equals ("application/vnd.ms-excel")) tempfile = new File("c:\\temp\\Sales_Report_2.xls"); else tempfile = new File("c:\\temp\\Sales_Report_2.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

4-10

Information Builders

WebFOCUS Web Services Functions

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Example

Running a WebFOCUS Report in Visual Basic .NET - Multi-Select


In the following example, the output of a WebFOCUS report named Sales_Report_2 is written to a file in the c:\temp directory if a format of HTML is specified in the FMT parameter of the report. If a format of EXL2K is specified, output is written to the Sales_Report_2.xls file in the c:\temp directory. Values of "EASTERN" and "CORPORATE" are passed to the REGION parameter.
Dim wfs As New SelfServe.WebFocus Dim logon As New SelfServe.LogOnInfo Dim ret As New SelfServe.WebFocusReturn Dim report As New SelfServe.FexInfo Dim param1 As New SelfServe.ValuesArrayEntry Dim param2 As New SelfServe.ValuesArrayEntry Dim multivalues As Array = Array.CreateInstance(GetType(String), 2) Dim params As Array = Array.CreateInstance(GetType(SelfServe.ValuesArrayEntry), 2) Dim newOutput As String = "" Dim tempfile As String param1.name = "REGION" multivalues(0) = "EASTERN" multivalues(1) = "CORPORATE" param1.StringArray = multivalues param1.multi = True param1.quote = True param1.operation = "OR" params(0) = param1 param2.name = "FMT" param2.val = "HTML" params(1) = param2 report.server = "EDASERVE" report.app = "Sales_Demo" report.name = "Sales_Report_2" report.IBIWS_arrayvalues = params logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) newOutput = ret.output If ret.mime = "application/vnd.ms-excel" Then tempfile = "c:\temp\Sales_Report_2.xls" Else : tempfile = "c:\temp\Sales_Report_2.htm" End If

WebFOCUS Web Services

4-11

Functions

FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Running a WebFOCUS Report in Java - Multi-Select


In the following example, the output of a WebFOCUS report named Sales_Report_2 is written to a file in the c:\temp directory if a format of HTML is specified in the FMT parameter of the report. If a format of EXL2K is specified, output is written to the Sales_Report_2.xls file in the c:\temp directory. Values of "EASTERN" and "CORPORATE" are passed to the REGION parameter.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ValuesArrayEntry[] param; param = new ValuesArrayEntry[2]; ValuesArrayEntry param1 = new ValuesArrayEntry(); String[] multivalues; multivalues = new String[2]; StringArray StringArray; StringArray = new StringArray(); param1.setName("REGION"); multivalues[0] = "EASTERN"; multivalues[1] = "CORPORATE"; StringArray.setValuesentry(multivalues); param1.setStringArray(StringArray); param1.setMulti(true); param1.setQuote(true); param1.setOperation("OR"); param[0] = param1; ValuesArrayEntry param2 = new ValuesArrayEntry(); param2.setName("FMT"); param2.setVal("HTML"); param[1] = param2; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param);

4-12

Information Builders

WebFOCUS Web Services Functions

FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("Sales_Demo"); report.setName("Sales_Report_2"); report.setIBIWS_arrayvalues(params); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); String newOutput=ret.getOutput(); File tempfile = null; if (ret.getMime().equals ("application/vnd.ms-excel")) tempfile = new File("c:\\temp\\Sales_Report_2.xls"); else tempfile = new File("c:\\temp\\Sales_Report_2.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-13

Functions

Example

Running a Managed Reporting Report in Visual Basic .NET


In the following example, the output of a WebFOCUS report named GetQuotes is written from Managed Reporting to the GetQuotes.htm file in the c:\temp directory. The ticker symbol used as input is MSFT (Microsoft Corporation). The HREF for the domain is used as input instead of the domain name. The following is an example of the HREF for a domain:

4-14

Information Builders

WebFOCUS Web Services Functions

The HREF for the Standard Report group is used as input instead of the Standard Report group name. The following is an example of the HREF for a Standard Report group:

The file name or HREF for the WebFOCUS report is used as input instead of the WebFOCUS report name. The following example is the file name for a WebFOCUS report.

WebFOCUS Web Services

4-15

Functions

Dim Dim Dim Dim Dim Dim 1) Dim Dim

wfs As New MRE.WebFocus logon As New MRE.LogOnInfo ret As New MRE.WebFocusReturn report As New MRE.FexInfo param1 As New MRE.ValuesArrayEntry params As Array = Array.CreateInstance(GetType(MRE.ValuesArrayEntry), newOutput As String = "" tempfile As String

param1.name = "TICKER" param1.val = "MSFT" params(0) = param1 report.MREdomain = "webservi/webservi.htm" report.MREfolder = "#soapadapterk" report.name = "app/zoh9uv5k.fex" report.IBIWS_arrayvalues = params logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") ret = wfs.WebFocusRunFex(logon, report) newOutput = ret.output tempfile = "c:\temp\GetQuotes.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MRE is the name of the Web Reference.

4-16

Information Builders

WebFOCUS Web Services Functions

Example

Running a Managed Reporting Report in Java


In the following example, the output of a WebFOCUS report named GetQuotes is written from Managed Reporting to the GetQuotes.htm file in the c:\temp directory. The ticker symbol used as input is MSFT (Microsoft Corporation). The HREF for the domain is used as input instead of the domain name. The following is an example of the HREF for a domain:

WebFOCUS Web Services

4-17

Functions

The HREF for the Standard Report group is used as input instead of the Standard Report group name. The following is an example of the HREF for a Standard Report group:

The file name or HREF for the WebFOCUS report is used as input instead of the WebFOCUS report name. The following example is the file name for a WebFOCUS report.

4-18

Information Builders

WebFOCUS Web Services Functions

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ValuesArrayEntry[] param; param = new ValuesArrayEntry[1]; ValuesArrayEntry param1 = new ValuesArrayEntry(); param1.setName("TICKER"); param1.setVal("MSFT"); param[0] = param1; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); FexInfo report = new FexInfo(); report.setMREdomain("webservi/webservi.htm"); report.setMREfolder("#soapadapterk"); report.setName("app/zoh9uv5k.fex"); report.setIBIWS_arrayvalues(params); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); String newOutput=ret.getOutput(); File tempfile = new File("c:\\temp\\GetQuotes.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-19

Functions

Example

Running an Ad Hoc Report in Visual Basic. NET


In the following example, WebFOCUS code is sent as input, and the output is written to the Adhoc.htm file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String report As New SelfServe.FexInfo FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String

CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 report.server = "EDASERVE" report.adhocfex = FocCode logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) newOutput = ret.output tempfile = "c:\temp\Adhoc.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

4-20

Information Builders

WebFOCUS Web Services Functions

Example

Running an Ad Hoc Report in Java


In the following example, WebFOCUS code is sent as input, and the output is written to the Adhoc.htm file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; FexInfo report = new FexInfo(); String String String String String CRLF = System.getProperty("line.separator"); FC1 = "TABLE FILE CAR"; FC2 = "SUM DEALER_COST"; FC3 = "BY COUNTRY"; FC4 = "END";

String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4; report.setServer("EDASERVE"); report.setAdhocfex(FocCode); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusRunFex(logon,report); String newOutput=ret.getOutput(); File tempfile = new File("c:\\temp\\Adhoc.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-21

Functions

Finding the Parameters of a WebFOCUS Report


Function Name: WebFocusFexReflection Purpose: To retrieve the parameters of a WebFOCUS report. Input Description WebFOCUS cookie information. WebFOCUS reporting run information. Output Description Structure that contains information about running the WebFOCUS report. The parameters are retrieved into the ValuesArrayEntry structure that is a sub-structure of the FexInfo structure. Type FexInfo Type LogOnInfo FexInfo

Example

Finding the Parameters of a WebFOCUS Report in Visual Basic .NET


In the following example, the parameter information from a WebFOCUS report named CAR54 is written to the Parameters.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo fexinfoIn As New SelfServe.FexInfo fexinfoOut As New SelfServe.FexInfo newOutput As String = "" tempfile As String i As Integer

fexinfoIn.server = "EDASERVE" fexinfoIn.app = "IBISAMP" fexinfoIn.name = "CAR54" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") fexinfoOut = wfs.WebFocusFexReflection(logon, fexinfoIn) tempfile = "c:\temp\Parameters.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To fexinfoOut.IBIWS_arrayvalues.Length - 1 newOutput = fexinfoOut.IBIWS_arrayvalues(i).prompt + " " _ + fexinfoOut.IBIWS_arrayvalues(i).name + " " _ + fexinfoOut.IBIWS_arrayvalues(i).defaultVal PrintLine(1, newOutput)

4-22

Information Builders

WebFOCUS Web Services Functions

Next i FileClose(1)

SelfServe is the name of the Web Reference.

Example

Finding the Parameters of a WebFOCUS Report in Java


In the following example, the parameter information from a WebFOCUS report named CAR54 is written to the Parameters.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; FexInfo fexinfoIn = new FexInfo(); ArrayOfValuesArrayEntry arrayValues; ValuesArrayEntry[] Values; fexinfoIn.setServer("EDASERVE"); fexinfoIn.setApp("IBISAMP"); fexinfoIn.setName("CAR54"); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); FexInfo fexinfoOut = wfs.webFocusFexReflection(logon,fexinfoIn); String newOutput = null; File tempfile = new File("c:\\temp\\Parameters.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayValues = fexinfoOut.getIBIWS_arrayvalues(); Values = arrayValues.getValuesArrayEntry(); for ( int i=0; i<Values.length; i++ ) { newOutput = Values[i].getPrompt() + " " + Values[i].getName() + " " + Values[i].getDefaultVal(); out.println(newOutput); } out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-23

Functions

Running Links Brought Back in a WebFOCUS Report


Function Name: WebFocusLink Purpose: To run the links brought back in a WebFOCUS report, such as drill-down information and information to obtain a graph created by a WebFOCUS report. If the URL is being captured within a program when you click a link within a WebFOCUS report, you should use the WebFocusDrill function instead. Input Description WebFOCUS cookie information. LinkArrayEntry structure obtained in the WebFocusReturn structure. Output Description Structure containing the output from a WebFOCUS report. Type WebFocusReturn Type LogOnInfo LinkArrayEntry

When you use the LinkArrayEntry structure for drill-down information, the array of links are brought back in pairs within the WebFocusReturn structure if the output format is HTML. The first array entry would have a type of urlstart and the second array entry would have a type of fexdrill. You can only pass link types of fexdrill as a parameter to WebFocusLink for a drill-down report.

Example

Running Links Brought Back in a WebFOCUS Report in Visual Basic .NET


In the following example, the output of the result of a drill-down report from a WebFOCUS report named CENTPL_ACTBUD is written to the Centpl_ActBud.htm file in the c:\temp directory. The first line of the report is used in the drill-down.
Dim Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn retdrill As New SelfServe.WebFocusReturn report As New SelfServe.FexInfo newOutput As String = "" tempfile As String

report.server = "EDASERVE" report.app = "FML_DEMO_2" report.name = "CENTPL_ACTBUD" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) retdrill = wfs.WebFocusLink(logon, ret.links(1))

4-24

Information Builders

WebFOCUS Web Services Functions

newOutput = retdrill.output tempfile = "c:\temp\Centpl_ActBud.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Running Links Brought Back in a WebFOCUS Report in Java


In the following example, the output of the result of a drill-down report from a WebFOCUS report named CENTPL_ACTBUD is written to the Centpl_ActBud.htm file in the c:\temp directory. The first line of the report is used in the drill-down.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayOfLinkArray arrayLinks; LinkArrayEntry[] Links; FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("FML_DEMO_2"); report.setName("CENTPL_ACTBUD"); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); arrayLinks = ret.getLinks(); Links= arrayLinks.getLinkArrayEntry(); WebFocusReturn retdrill = wfs.webFocusLink(logon,Links[1]); String newOutput=retdrill.getOutput(); File tempfile = new File("c:\\temp\\Centpl_actBud.htm");

FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

WebFOCUS Web Services

4-25

Functions

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Example

Running Links Brought Back in a WebFOCUS Graph in Visual Basic .NET


In the following example, the output of a WebFOCUS report named CarGraph that produces a graph is written to the CarGraph.htm file in the c:\temp directory.
'The following line must be included before the Form Class Imports System.IO Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn retdrill As New SelfServe.WebFocusReturn report As New SelfServe.FexInfo newOutput As String = "" tempfile As String lastlink As Integer = 0 link As String outfile As String

report.server = "EDASERVE" report.app = "IBISAMP" report.name = "CarGraph" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) link = ret.links(0).link retdrill = wfs.WebFocusLink(logon, ret.links(0)) If retdrill.mime = "image/png" Then outfile = "c:\temp\CarGraph.png" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.binaryData, 0, retdrill.binaryData.Length) fs.Close()

4-26

Information Builders

WebFOCUS Web Services Functions

ElseIf retdrill.mime = "image/gif" Then outfile = "c:\temp\CarGraph.gif" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.binaryData, 0, retdrill.binaryData.Length) fs.Close() ElseIf retdrill.mime = "image/jpeg" Then outfile = "c:\temp\CarGraph.jpg" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.binaryData, 0, retdrill.binaryData.Length) fs.Close() ElseIf retdrill.mime = "image/svg+xml" Then outfile = "c:\temp\CarGraph.svg" Dim fs As FileStream = New FileStream(outfile, FileMode.OpenOrCreate) Dim w As BinaryWriter = New BinaryWriter(fs) w.Write(retdrill.output, 0, retdrill.output.Length) fs.Close() End If newOutput = newOutput + Mid(ret.output, 1, ret.links(0).position) newOutput = newOutput + outfile lastlink = ret.links(0).position + link.Length newOutput = newOutput + Mid(ret.output, lastlink + 1) tempfile = "c:\temp\CarGraph.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-27

Functions

Example

Running Links Brought Back in a WebFOCUS Graph in Java


In the following example, the output of a WebFOCUS report named CarGraph that produces a graph is written to the CarGraph.htm file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; File outfile = new File("c:\\temp\\CarGraph.png"); ArrayOfLinkArray arrayLinks; LinkArrayEntry[] Links; FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("IBISAMP"); report.setName("CarGraph"); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); arrayLinks = ret.getLinks(); Links= arrayLinks.getLinkArrayEntry(); String link = Links[0].getLink(); WebFocusReturn retdrill = wfs.webFocusLink(logon,Links[0]);

4-28

Information Builders

WebFOCUS Web Services Functions

if (retdrill.getMime().equals ("image/png")) { byte[] outbytes = retdrill.getBinaryData(); outfile = new File("c:\\temp\\CarGraph.png"); FileOutputStream fs = new FileOutputStream(outfile); fs.write(outbytes); fs.close(); } else { if (retdrill.getMime().equals ("image/gif")) { byte[] outbytes = retdrill.getBinaryData(); outfile = new File("c:\\temp\\CarGraph.gif"); FileOutputStream fs = new FileOutputStream(outfile); fs.write(outbytes); fs.close(); } else { if (retdrill.getMime().equals ("image/jpeg")) { byte[] outbytes = retdrill.getBinaryData(); outfile = new File("c:\\temp\\CarGraph.jpg"); FileOutputStream fs = new FileOutputStream(outfile); fs.write(outbytes); fs.close(); } else { if (retdrill.getMime().equals ("image/svg+xml")) { String outstring = retdrill.getOutput(); outfile = new File("c:\\temp\\CarGraph.svg"); FileOutputStream fosg = new FileOutputStream(outfile); PrintWriter fs = new PrintWriter(fosg); fs.println(outstring); fs.close(); } else { } } } } String newOutput = "";

WebFOCUS Web Services

4-29

Functions

newOutput=newOutput+ret.getOutput().substring(0, Links[0].getPosition() 1); newOutput=newOutput+outfile; int lastlink = Links[0].getPosition()+ link.length(); newOutput=newOutput+ret.getOutput().substring(lastlink+1); File tempfile = new File("c:\\temp\\CarGraph.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Passing a Drill-Down URL to WebFOCUS


Function Name: WebFocusDrill Purpose: To run a drill-down WebFOCUS report when the URL is captured within a program if a link within a WebFOCUS report is clicked on. Input Description WebFOCUS cookie information. The edited link captured within a program when you have clicked a link in a WebFOCUS report. You must remove the http:// and the machine name or TCP/IP address from the URL before you pass it. When you use Managed Reporting, you must either associate the WebFOCUS report with a specific application, or you must set SET BASEURL (for example, to SET BASEURL = 'http:// localhost') in the WebFOCUS report. This will only work if the output type of the WebFOCUS report is HTML. Type LogOnInfo String

4-30

Information Builders

WebFOCUS Web Services Functions

The following example shows an associated WebFOCUS report that resides in Managed Reporting with a specific application.

Output Description Structure that contains the output from a WebFOCUS report. Type WebFocusReturn

WebFOCUS Web Services

4-31

Functions

Example

Passing Links With Drill Down Information in Visual Basic .NET


In the following example, the output of a drill-down report from a WebFOCUS report named CENTPL_ACTBUD is written to the Centpl_ActBud.htm file in the c:\temp directory.The example begins with the result URL that is clicked on.
Dim Dim Dim Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn retdrill As New SelfServe.WebFocusReturn report As New SelfServe.FexInfo newOutput As String = "" tempfile As String URL As String newURL As String

report.server = "EDASERVE" report.app = "FML_DEMO_2" report.name = "CENTPL_ACTBUD" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusRunFex(logon, report) URL = "http://localhost/webservice?IBIF_webapp=/ ibi_apps&IBIC_server=EDASERVE&IBIAPP_app=fml_demo_2&IBIF_ex=CENTPL_ACTBUD _DRILL&CLICKED_ON=&ACCNT=1000&ACCNT_LIT=Profit%20Before%20Tax&SEL_PERIOD= 2002/06" newURL = Replace(URL, "http://localhost", "") retdrill = wfs.WebFocusDrill(logon, newURL) newOutput = retdrill.output tempfile = "c:\temp\Centpl_ActBud.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

4-32

Information Builders

WebFOCUS Web Services Functions

Example

Passing Links With Drill Down Information in Java


In the following example, the output of a drill-down report from a WebFOCUS report named CENTPL_ACTBUD is written to the Centpl_ActBud.htm file in the c:\temp directory.The example begins with the result URL that is clicked on.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayOfLinkArray arrayLinks; LinkArrayEntry[] Links; String URL; String newURL; FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("FML_DEMO_2"); report.setName("CENTPL_ACTBUD"); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusRunFex(logon,report); URL = "http://localhost/webservice?IBIF_webapp=/ ibi_apps&IBIC_server=EDASERVE&IBIAPP_app=fml_demo_2&IBIF_ex=CENTPL_ACTBUD _DRILL&CLICKED_ON=&ACCNT=1000&ACCNT_LIT=Profit%20Before%20Tax&SEL_PERIOD= 2002/06";

newURL = URL.substring(16); WebFocusReturn retdrill = wfs.webFocusDrill(logon,newURL); String newOutput=retdrill.getOutput(); File tempfile = new File("c:\\temp\\Centpl_actBud.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-33

Functions

Listing WebFOCUS Reporting Servers


Function Name: WebFocusListServers Purpose: To retrieve a list of configured WebFOCUS Reporting Servers. Input Description WebFOCUS cookie information. Output Description Structure that contains information about the configured WebFOCUS Reporting Servers. The list of server information is retrieved into the serversArray structure that is a sub-structure of the ServerInfo structure. Type ServerInfo Type LogOnInfo

Example

Listing WebFOCUS Reporting Servers in Visual Basic .NET


In the following example, the WebFOCUS Reporting Server information is written to the Servers.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo serversOut As New SelfServe.ServerInfo newOutput As String = "" tempfile As String i As Integer

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") serversOut = wfs.WebFocusListServers(logon) tempfile = "c:\temp\Servers.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To serversOut.servers.Length - 1 newOutput = serversOut.servers(i).handle + " " _ + serversOut.servers(i).class + " " _ + serversOut.servers(i).protocol PrintLine(1, newOutput) Next i

FileClose(1)

SelfServe is the name of the Web Reference.

4-34

Information Builders

WebFOCUS Web Services Functions

Example

Listing WebFOCUS Reporting Servers in Java


In the following example, the WebFOCUS Reporting Server information is written to the Servers.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayserversArray arrayServers; ServersArray[] Servers; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ServerInfo serversOut = wfs.webFocusListServers(logon); String newOutput = null; File tempfile = new File("c:\\temp\\Servers.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayServers = serversOut.getServers(); Servers = arrayServers.getServersArray(); for ( int i=0; i<Servers.length; i++ ) { newOutput = Servers[i].getHandle() + " " + Servers[i].get_class() + " + Servers[i].getProtocol(); out.println(newOutput); } out.close(); }

"

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-35

Functions

Listing Applications
Function Name: WebFocusListApps Purpose: To retrieve a list of applications for a WebFOCUS Reporting Server. Input Description WebFOCUS cookie information. WebFOCUS Reporting Server name. Output Description Structure that contains the output for WebFOCUS reports and certain WebFOCUS functions. The list of applications is returned to the values array of WebFocusReturn. values(0) contains an array of application names. values(1) contains an array of the last update date for each application (DD/MM/YYYY). values(2) contains an array of the last update time for each application (HH.MM.SS). Type WebFocusReturn Type LogOnInfo String

4-36

Information Builders

WebFOCUS Web Services Functions

Example

Listing Applications in Visual Basic .NET


In the following example, the list of application information for a WebFOCUS Reporting Server named EDASERVE is written to the Applications.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String i As Integer

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusListApps(logon, "EDASERVE") tempfile = "c:\temp\Applications.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To ret.values(0).Length - 1 newOutput = ret.values(0)(i) + " " _ + ret.values(1)(i) + " + ret.values(2)(i) PrintLine(1, newOutput) Next i FileClose(1)

" _

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-37

Functions

Example

Listing Applications in Java


In the following example, the list of application information for a WebFOCUS Reporting Server named EDASERVE is written to the Applications.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayOfStringArray arrayStringArray; StringArray[] StringArray; String[] Strings0; String[] Strings1; String[] Strings2; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusListApps(logon,"EDASERVE"); String newOutput = null; File tempfile = new File("c:\\temp\\Applications.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayStringArray = ret.getValues(); StringArray = arrayStringArray.getStringArray(); Strings0 = StringArray[0].getValuesentry(); Strings1 = StringArray[1].getValuesentry(); Strings2 = StringArray[2].getValuesentry(); for ( int i=0; i<Strings0.length; i++ ) { newOutput = Strings0[i] + " " + Strings1[i] + " + Strings2[i]; out.println(newOutput); } out.close(); }

"

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-38

Information Builders

WebFOCUS Web Services Functions

Listing Files Within an Application


Function Name: WebFocusListFexs Purpose: To retrieve a list of files within a particular application categorized by file type (for example, FOCEXEC, MASTER, HTML). Input Description WebFOCUS cookie information. WebFOCUS Reporting Server name. Application name. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. The list of files is returned to the values array of WebFocusReturn. values(0) contains an array of file types for each file (for example, FOCEXEC, GIF, HTML, MASTER, FOCSTYLE, OTHER). values(1) contains an array of the file name for each file (for example, abc.fex, abc.gif, abc.htm, abc.mas, abc.sty, and abc.foc). values(2) contains an array of the file extension for each file (for example, FEX, GIF, HTM, MAS, STY, FOC, CSS, JS). values(3) contains an array of the last update date for each file (DD/ MM/YYYY). values(4) contains an array of the last update time for each file (HH.MM.SS). values(5) contains an array of the last update for each file in milliseconds since January 1, 1970. values(6) contains an array of file size in bytes for each file. Type WebFocusReturn Type LogOnInfo String String

WebFOCUS Web Services

4-39

Functions

Example

Listing Files Within an Application in Visual Basic .NET


In the following example, the list of file information for an application named ibinccen is written to the Files.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String i As Integer

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusListFexs(logon, "EDASERVE", "IBINCCEN") tempfile = "c:\temp\Files.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To ret.values(0).Length - 1 newOutput = ret.values(0)(i) + + + + + + PrintLine(1, newOutput) Next i FileClose(1) + " " _ ret.values(1)(i) ret.values(2)(i) ret.values(3)(i) ret.values(4)(i) ret.values(5)(i) ret.values(6)(i)

+ + + + +

" " " " "

" " " " "

_ _ _ _ _

SelfServe is the name of the Web Reference.

4-40

Information Builders

WebFOCUS Web Services Functions

Example

Listing Files Within an Application in Java


In the following example, the list of file information for an application named ibinccen is written to the Files.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayOfStringArray arrayStringArray; StringArray[] StringArray; String[] Strings0; String[] Strings1; String[] Strings2; String[] Strings3; String[] Strings4; String[] Strings5; String[] Strings6; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusListFexs(logon,"EDASERVE","IBINCCEN"); String newOutput = null; File tempfile = new File("c:\\temp\\Files.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayStringArray = ret.getValues(); StringArray = arrayStringArray.getStringArray(); Strings0 = StringArray[0].getValuesentry(); Strings1 = StringArray[1].getValuesentry(); Strings2 = StringArray[2].getValuesentry(); Strings3 = StringArray[3].getValuesentry(); Strings4 = StringArray[4].getValuesentry(); Strings5 = StringArray[5].getValuesentry(); Strings6 = StringArray[6].getValuesentry(); for ( int i=0; i<Strings0.length; i++ ) { newOutput = Strings0[i] + " " + Strings1[i] + " " + Strings2[i] + " " + Strings3[i] + " " + Strings4[i] + " " + Strings5[i] + " " + Strings6[i]; out.println(newOutput); } out.close(); }

WebFOCUS Web Services

4-41

Functions

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Listing Tables
Function Name: WebFocusDBInfo Purpose: To retrieve a list of available tables. Input Description WebFOCUS cookie information. Output Description Structure that contains table information. The list of table information is retrieved into the DBInfoEntry structure that is a sub-structure of the DBInfo structure. Type DBInfo Type LogOnInfo

4-42

Information Builders

WebFOCUS Web Services Functions

Example

Listing Tables in Visual Basic .NET


In the following example, the list of table information is written to the Tables.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo dbret As New SelfServe.DBInfo newOutput As String = "" tempfile As String i As Integer

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") dbret = wfs.WebFocusDBInfo(logon) tempfile = "c:\temp\Tables.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To dbret.db.Length - 1 newOutput = dbret.db(i).name + " " _ + dbret.db(i).tbtype + " + dbret.db(i).remarks PrintLine(1, newOutput) Next i

" _

FileClose(1)

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-43

Functions

Example

Listing Tables in Java


In the following example, the list of table information is written to the Tables.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayDBInfoEntry TableArray; DBInfoEntry[] Tables;

LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); DBInfo dbret = wfs.webFocusDBInfo(logon); String newOutput = null; File tempfile = new File("c:\\temp\\Tables.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); TableArray = dbret.getDb(); Tables = TableArray.getDBInfoEntry(); for ( int i=0; i<Tables.length; i++ ) { newOutput = Tables[i].getName() + " " + Tables[i].getTbtype() + " + Tables[i].getRemarks(); out.println(newOutput); } out.close(); }

"

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-44

Information Builders

WebFOCUS Web Services Functions

Listing Master File Information


Function Name: WebFocusMasterInfo Purpose: To list Master File information for a particular table. Input Description WebFOCUS cookie information. Table name. Output Description Structure that contains Master File information. The list of Master File information is retrieved into the MasterInfoEntry structure that is a substructure of the MasterInfo structure. Type MasterInfo Type LogOnInfo String

Example

Listing Master File Information in Visual Basic .NET


In the following example, the Master File information for table CENTSTMT is written to the Master.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo masret As New SelfServe.MasterInfo newOutput As String = "" tempfile As String i As Integer

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") masret = wfs.WebFocusMasterInfo(logon, "CENTSTMT") tempfile = "c:\temp\Master.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To masret.fields.Length - 1 newOutput = masret.fields(i).name + " " _ + masret.fields(i).alias + " " _ + masret.fields(i).title + " " _ + masret.fields(i).remarks + " " _ + masret.fields(i).usage PrintLine(1, newOutput) Next i

WebFOCUS Web Services

4-45

Functions

FileClose(1)

SelfServe is the name of the Web Reference.

Example

Listing Master File Information in Java


In the following example, the Master File information for table CENTSTMT is written to the Master.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayMasterInfoEntry FieldsArray; MasterInfoEntry[] Fields; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); MasterInfo masret = wfs.webFocusMasterInfo(logon,"CENTSTMT"); String newOutput = null; File tempfile = new File("c:\\temp\\Master.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); FieldsArray = masret.getFields(); Fields = FieldsArray.getMasterInfoEntry(); for ( int i=0; i<Fields.length; i++ ) { newOutput = Fields[i].getName() + " " + Fields[i].getAlias() + " " + Fields[i].getTitle() + " " + Fields[i].getRemarks() + " " + Fields[i].getUsage(); out.println(newOutput); } out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-46

Information Builders

WebFOCUS Web Services Functions

Listing Values for a Column


Function Name: WebFocusFieldValues Purpose: To retrieve a list of values for a particular column within a table. Input Description WebFOCUS cookie information. Table name. WebFOCUS code that is used as a preprocess before the values are retrieved, such as, JOIN, DEFINE, TABLE, and SET. It is important that each line of WebFOCUS code end with a CR and LF character with the exception of the last line. Column name or virtual field name. Requested format of returned values (for example, A15). Selection criteria (for example, IF DEALER_COST GT 5000). Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. The list of values is returned to the values array of WebFocusReturn. values(0) contains an array of values. Type WebFocusReturn String String String Type LogOnInfo String String

WebFOCUS Web Services

4-47

Functions

Example

Listing Values for a Column in Visual Basic .NET


In the following example, the list of values for the column COUNTRY within the CAR table is written to the Values.txt file in the c:\temp directory. COUNTRYN has been defined as the COUNTRY column name surrounded by brackets. The values have been reformatted to A15 from the original size of A12. Only values where the Dealer Cost is greater than 5000 will be selected.
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String i As Integer FocCode As String FC1 As String FC2 As String FC3 As String CRLF As String Selct As String

CRLF = vbCrLf FC1 = "DEFINE FILE CAR" FC2 = "COUNTRYN/A12 = '(' | COUNTRY | ')';" FC3 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 Selct = "IF DEALER_COST GT 5000" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusFieldValues(logon, "CAR", FocCode, "COUNTRYN", "A15", Selct) tempfile = "c:\temp\Values.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To ret.values(0).Length - 1 newOutput = ret.values(0)(i) PrintLine(1, newOutput) Next i FileClose(1)

SelfServe is the name of the Web Reference.

4-48

Information Builders

WebFOCUS Web Services Functions

Example

Listing Values for a Column in Java


In the following example, the list of values for the column COUNTRY within the CAR table is written to the Values.txt file in the c:\temp directory. COUNTRYN has been defined as the COUNTRY column name surrounded by brackets. The values have been reformatted to A15 from the original size of A12. Only values where the Dealer Cost is greater than 5000 will be selected.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; ArrayOfStringArray arrayStringArray; StringArray[] StringArray; String[] Strings0; String String String String CRLF = System.getProperty("line.separator"); FC1 = "DEFINE FILE CAR"; FC2 = "COUNTRYN/A12 = '(' | COUNTRY | ')';"; FC3 = "END";

String FocCode = FC1 + CRLF + FC2 + CRLF + FC3; String Selct = "IF DEALER_COST GT 5000"; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusFieldValues(logon,"CAR",FocCode,"COUNTRYN","A15",Selct);

String newOutput = null; File tempfile = new File("c:\\temp\\Values.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayStringArray = ret.getValues(); StringArray = arrayStringArray.getStringArray(); Strings0 = StringArray[0].getValuesentry(); for ( int i=0; i<Strings0.length; i++ ) { newOutput = Strings0[i]; out.println(newOutput); }

out.close(); }

WebFOCUS Web Services

4-49

Functions

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Retrieving the WebFOCUS Code for a WebFOCUS Report


Function Name: WebFocusGetFexText Purpose: To retrieve the WebFOCUS code for a WebFOCUS Report. Input Description WebFOCUS cookie information. WebFOCUS report run information. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. Type WebFocusReturn Type LogOnInfo FexInfo

Example

Retrieving the WebFOCUS Code for a WebFOCUS Report in Visual Basic .NET
In the following example, the WebFOCUS code for the WebFOCUS report named CAR54 in the IBISAMP application is retrieved and written to the Car54.fex file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn report As New SelfServe.FexInfo newOutput As String = "" tempfile As String

report.server = "EDASERVE" report.app = "IBISAMP" report.name = "CAR54" logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusGetFexText(logon, report) newOutput = ret.output tempfile = "c:\temp\Car54.fex"

4-50

Information Builders

WebFOCUS Web Services Functions

FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Retrieving the WebFOCUS Code for a WebFOCUS Report in Java


In the following example, the WebFOCUS code for the WebFOCUS report named CAR54 in the IBISAMP application is retrieved and written to the Car54.fex file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("IBISAMP"); report.setName("CAR54"); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusGetFexText(logon,report); String newOutput=ret.getOutput(); File tempfile = new File("c:\\temp\\Car54.fex"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-51

Functions

Creating an Application
Function Name: WebFocusAppCreate Purpose: To create an application within the WebFOCUS environment. Input Description WebFOCUS cookie information. Name of application to be created. (No spaces are allowed.) Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was created successfully. Type WebFocusReturn Type LogOnInfo String String

Example

Creating an Application in Visual Basic .NET


In the following example, an application named WebServices will be created. The return code value is written to the WebFocusAppCreate.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppCreate(logon, "WebServices", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppCreate.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

4-52

Information Builders

WebFOCUS Web Services Functions

Example

Creating an Application in Java


In the following example, an application named WebServices will be created. The return code value is written to the WebFocusAppCreate.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusAppCreate(logon,"WebServices","EDASERVE"); String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppCreate.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-53

Functions

Deleting an Application
Function Name: WebFocusAppDelete Purpose: To delete an application from the WebFOCUS environment. Input Description WebFOCUS cookie information. Name of application to be deleted. (No spaces are allowed.) Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was deleted successfully. Type WebFocusReturn Type LogOnInfo String String

Example

Deleting an Application in Visual Basic .NET


In the following example, an application named WebServices will be deleted. The return code value is written to the WebFocusAppDelete.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppDelete(logon, "WebServices", "EDASERVE" newOutput = ret.xml tempfile = "c:\temp\WebFocusAppDelete.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

4-54

Information Builders

WebFOCUS Web Services Functions

Example

Deleting an Application in Java


In the following example, an application named WebServices will be deleted. The return code value is written to the WebFocusAppDelete.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusAppDelete(logon,"WebServices","EDASERVE"); String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppDelete.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-55

Functions

Renaming an Application
Function Name: WebFocusAppRename Purpose: To rename an application within the WebFOCUS environment. Input Description WebFOCUS cookie information. Name of application to be deleted. (No spaces are allowed.) New name of application. (No spaces are allowed.) Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was renamed successfully. Type WebFocusReturn Type LogOnInfo String String String

Example

Renaming an Application in Visual Basic .NET


In the following example, an application named WebServices will be renamed to WebServicesAdapter. The return code value is written to the WebFocusAppRename.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppRename(logon, "WebServices", "WebServicesAdapter","EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppRename.xml"

4-56

Information Builders

WebFOCUS Web Services Functions

FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Renaming an Application in Java


In the following example, an application named WebServices will be renamed to WebServicesAdapter. The return code value is written to the WebFocusAppRename.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusAppRename(logon,"WebServices","WebServicesAdapter", "EDASERVE") ; String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppRename.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-57

Functions

Copying an Application
Function Name: WebFocusAppCopyAll Purpose: To copy the contents of an application within the WebFOCUS environment to another application. Input Description WebFOCUS cookie information. Name of source application. (No spaces are allowed.) Name of target application. (No spaces are allowed.) The application must be created previously. Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the application was copied successfully. Type WebFocusReturn String Type LogOnInfo String String

Example

Copying an Application in Visual Basic .NET


In the following example, an application named ibisamp will be copied to the WebServices application. The return code value is written to the WebFocusAppCopyAll.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppCopyAll(logon, "IBISAMP", "WebServices", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppCopyAll.xml"

4-58

Information Builders

WebFOCUS Web Services Functions

FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Copying an Application in Java


In the following example, an application named ibisamp will be copied to the WebServices application. The return code value is written to the WebFocusAppCopyAll.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusAppCopyAll(logon,"IBISAMP","WebServices","EDASERVE"); String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppCopyAll.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-59

Functions

Retrieving a File Within an Application


Function Name: WebFocusAppGetFile Purpose: To retrieve the contents of a file within an application. Input Description WebFOCUS cookie information. Name of the application. (No spaces are allowed.) Name of the file without an extension. (No spaces are allowed.) Catalog name of the file (for example, FOCEXEC, GIF, HTML, MASTER, FOCSTYLE). Mode of file. T- text H- binary Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. Type WebFocusReturn String Type LogOnInfo String String String String

Example

Retrieving a File Within an Application in Visual Basic .NET


In the following example, a file Car.mas is retrieved from the ibisamp application. The file contents are written to the Car.mas file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppGetFile(logon, "IBISAMP", "Car", "MASTER", "T", "EDASERVE") newOutput = ret.output tempfile = "c:\temp\Car.mas"

4-60

Information Builders

WebFOCUS Web Services Functions

FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Retrieving a File Within an Application in Java


In the following example, a file Car.mas is retrieved from the ibisamp application. The file contents are written to the Car.mas file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusAppGetFile(logon,"IBISAMP","Car","MASTER","T","EDASERVE"); String newOutput=ret.getOutput(); File tempfile = new File("c:\\temp\\Car.mas"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-61

Functions

Deleting a File Within an Application


Function Name: WebFocusAppDeleteFile Purpose: To delete a file from within an application. Input Description WebFOCUS cookie information. Name of the application. (No spaces are allowed.) Name of the file without an extension. (No spaces are allowed.) Catalog name of the file (for example, FOCEXEC, GIF, HTML, MASTER, FOCSTYLE). Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the file was deleted successfully. Type WebFocusReturn Type LogOnInfo String String String String

Example

Deleting a File Within an Application in Visual Basic .NET


In the following example, a file named Car2.mas is deleted from the WebServices application. The return code value is written to the WebFocusAppDeleteFile.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppDeleteFile(logon, "WebServices", "Car2", "MASTER", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppDeleteFile.xml"

4-62

Information Builders

WebFOCUS Web Services Functions

FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Deleting a File Within an Application in Java


In the following example, a file named Car2.mas is deleted from the WebServices application. The return code value is written to the WebFocusAppDeleteFile.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusAppDeleteFile(logon,"WebServices","Car2","MASTER","EDASERVE") ; String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppDeleteFile.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-63

Functions

Renaming a File Within an Application


Function Name: WebFocusAppRenameFile Purpose: To rename a file within an application. Input Description WebFOCUS cookie information. Name of the application. (No spaces are allowed.) Old name of the file without an extension. (No spaces are allowed.) New name of the file without an extension. (No spaces are allowed.) Catalog name of the file (for example, FOCEXEC, GIF, HTML, MASTER, FOCSTYLE). Name of the WebFOCUS Reporting Server. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the file was renamed successfully. Type WebFocusReturn Type LogOnInfo String String String String String

4-64

Information Builders

WebFOCUS Web Services Functions

Example

Renaming a File Within an Application in Visual Basic .NET


In the following example, a file named Car3.mas within the WebServices application is renamed to Car33.mas. The return code value is written to the WebFocusAppRenameFile.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppRenameFile(logon, "WebServices", "Car3", "Car33", "MASTER", "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppRenameFile.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Renaming a File Within an Application in Java


In the following example, a file named Car3.mas within the WebServices application is renamed to Car33.mas. The return code value is written to the WebFocusAppRenameFile.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusAppRenameFile(logon,"WebServices","Car3","Car33","MASTER","ED ASERVE"); String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppRenameFile.xml");

WebFOCUS Web Services

4-65

Functions

FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Saving a File Within an Application


Function Name: WebFocusAppPutFile Purpose: To save a file within an application. Input Description WebFOCUS cookie information. Name of the application. (No spaces are allowed.) Name of the file without an extension. (No spaces are allowed.) Catalog name of the file (for example, FOCEXEC, GIF, HTML, MASTER, FOCSTYLE). Number of lines to be saved. Mode of string data input. C- text B- binary Data input. A CR/LF should follow each line if data is text. Name of the WebFOCUS Reporting Server. String String Type LogOnInfo String String String Integer String

4-66

Information Builders

WebFOCUS Web Services Functions

Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. If the return code value within the returned XML is 0, then the file was saved successfully. Type WebFocusReturn

Example

Saving a File Within an Application in Visual Basic .NET


In the following example, WebFOCUS code is written to the Car44.fex file within the WebServices application. The return code value is written to the WebFocusAppPutFile.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String = "" tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String

CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusAppPutFile(logon, "WebServices", "Car44", "FOCEXEC", 4, "C", FocCode, "EDASERVE") newOutput = ret.xml tempfile = "c:\temp\WebFocusAppPutFile.xml" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-67

Functions

Example

Saving a File Within an Application in Java


In the following example, WebFOCUS code is written to the Car44.fex file within the WebServices application. The return code value is written to the WebFocusAppPutFile.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; WebFocusReturn ret; String String String String String CRLF = System.getProperty("line.separator"); FC1 = "TABLE FILE CAR"; FC2 = "SUM DEALER_COST"; FC3 = "BY COUNTRY"; FC4 = "END";

String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); ret = wfs.webFocusAppPutFile(logon,"WebServices","Car44","FOCEXEC",4,"C",FocCod e,"EDASERVE"); String newOutput=ret.getXml(); File tempfile = new File("c:\\temp\\WebFocusAppPutFile.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-68

Information Builders

WebFOCUS Web Services Functions

Running FOCUS Functions Contained Within the ibiapplets.txt File


Function Name: WebFocusStandardFex Purpose: The ibiapplets.txt file contains a set of FOCUS procedures that perform various WebFOCUS functions (for example, List Tables, List Fields in a Table, List of Values for a Field, Get a File, Save a File, and Copy an Application). Some Web Service functions already use this file. If the ibiapplets.txt file is customized and additional FOCUS procedures are added, these FOCUS functions can be run using the WebFocusStandardFex function. The ibiapplets.txt file resides in the WebFOCUS53\ibi_html\javaassist directory. Input Description WebFOCUS cookie information. Names of the FOCUS function. Depending upon the FOCUS functions, more than one function can be passed. Parameters of the FOCUS function as defined by the ibiapplets.txt file. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. Type WebFocusReturn ValuesArrayEntry Type LogOnInfo String Array

WebFOCUS Web Services

4-69

Functions

Example

Running the MASTER Function to Retrieve a List of Master Files


The following example shows the MASTER function in the ibiapplets.txt file. This FOCUS function retrieves a list of Master Files.
StringArray,MASTER -DEFAULTS &&IBIBIPMS=' ' SET CDN=OFF SET LINES=10000 SET PAGE=NOPAGE SET XMLTYPE=DISPLAY SQL FMI SET FILECASE UPPER -IF &FOCMODE NE 'MSO' OR 'TSO' THEN GOTO NOTTSO; -? TSO DDNAME IBIBIPMS -SET &&IBIBIPMS=IF &DSNAME EQ ' ' THEN ' ' ELSE 'IBIBIPMS'; -IF &&IBIBIPMS EQ ' ' THEN GOTO MASTAB; -GOTO OKTSO -* -NOTTSO -IF &&IBIBIPMS EQ ' ' GOTO MASTAB; FILEDEF IBIBIPMS DISK &&IBIBIPMS -* -OKTSO DEFINE FILE SYSTABLE "MFDNAME/A64 = UPCASE(64,NAME,'A64');" "IBIBIPMS/I1 = DECODE MFDNAME(IBIBIPMS ELSE 1);" END -MASTAB TABLE FILE SYSTABLE PRINT REMARKS AS '' BY NAME AS '' -IF &&IBIBIPMS EQ ' ' GOTO IBINOINC; WHERE IBIBIPMS NE 1 -IBINOINC ON TABLE &HOLDTYPE FORMAT XML END EndStringArray,MASTER

4-70

Information Builders

WebFOCUS Web Services Functions

Example

Running FOCUS Functions in Visual Basic .NET


In the following example, a list of Master Files is written to the Masters.txt file in the c:\temp directory.
Dim wfs As New SelfServe.WebFocus Dim logon As New SelfServe.LogOnInfo Dim ret As New SelfServe.WebFocusReturn Dim newOutput As String = "" Dim tempfile As String Dim param1 As New SelfServe.ValuesArrayEntry Dim params As Array = Array.CreateInstance(GetType(SelfServe.ValuesArrayEntry), 1) Dim routine As Array = Array.CreateInstance(GetType(String), 1) Dim i As Integer routine(0) = "MASTER" param1.name = "HOLDTYPE" param1.val = "PCHOLD" params(0) = param1 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.WebFocusStandardFex(logon, routine, params) newOutput = ret.output tempfile = "c:\temp\Masters.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To ret.values(0).Length - 1 newOutput = ret.values(0)(i) PrintLine(1, newOutput) Next i FileClose(1)

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-71

Functions

Example

Running FOCUS Functions in Java


In the following example, a list of Master Files is written to the Masters.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ValuesArrayEntry[] param; param = new ValuesArrayEntry[1]; ValuesArrayEntry param1 = new ValuesArrayEntry(); param1.setName("HOLDTYPE"); param1.setVal("PCHOLD"); param[0] = param1; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); ArrayOfStringArray arrayStringArray; StringArray[] StringArray; String[] Strings0; String[] routine; routine = new String[1]; StringArray routines; routines = new StringArray(); routine[0] = "MASTER"; routines.setValuesentry(routine); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusStandardFex(logon,routines, params); String newOutput = null; File tempfile = new File("c:\\temp\\Masters.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayStringArray = ret.getValues(); StringArray = arrayStringArray.getStringArray(); Strings0 = StringArray[0].getValuesentry(); for ( int i=0; i<Strings0.length; i++ ) { newOutput = Strings0[i]; out.println(newOutput); } out.close(); }

4-72

Information Builders

WebFOCUS Web Services Functions

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Turning UDDI Traces On and Off


Function Name: WebFocusTracing Purpose: Turning on/off traces used for debugging of WebFOCUS Web Services function calls. You can also accomplish this by turning on/off the UDDI traces using http:// WebFOCUS location/ibi_apps/tracing.jsp. See Chapter 6, Troubleshooting WebFOCUS Web Services for details. Input Description WebFOCUS cookie information. Turn on traces is true. Turn off traces is false. Output Description Structure that contains current configuration information about WebFOCUS Web Services. This is the configuration information retrieved into the WSDLInfoEntry structure, which is a sub-structure of the WSDLInfoStruct structure. Type WSDLInfoStruct Type LogOnInfo Boolean

WebFOCUS Web Services

4-73

Functions

Example

Turning UDDI Traces On and Off in Visual Basic .NET


In the following example, the UDDI traces are turned on. The trace status is written to the Trace.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo retTrace As New SelfServe.WSDLInfoStruct newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") retTrace = wfs.WebFocusTracing(logon, True) newOutput = retTrace.WSDLInfo.IBIUDDI_trace tempfile = "c:\temp\Trace.txt" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

Example

Turning UDDI Traces On and Off in Java


In the following example, the UDDI traces are turned on. The trace status is written to the Trace.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WSDLInfoStruct retTrace = wfs.webFocusTracing(logon,true); WSDLInfoEntry WSDLstruct; WSDLstruct = retTrace.getWSDLInfo(); boolean newOutput = WSDLstruct.isIBIUDDI_trace(); File tempfile = new File("c:\\temp\\Trace.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-74

Information Builders

WebFOCUS Web Services Functions

Getting Configuration Information About WebFOCUS Web Services


Function Name: WebFocusWSDLInfo Purpose: To get information about the current configuration of WebFOCUS Web Services. Input Description WebFOCUS cookie information. Output Description Structure that contains current configuration information about WebFOCUS Web Services. This is the configuration information retrieved into the WSDLInfoEntry structure, which is a sub-structure of the WSDLInfoStruct structure. Type WSDLInfoStruct Type LogOnInfo

Example

Getting Configuration Information in Visual Basic .NET


In the following example, current configuration information about WebFOCUS Web Services are written to the WSConfig.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo retWSDL As New SelfServe.WSDLInfoStruct newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") retWSDL = wfs.WebFocusWSDLInfo(logon) tempfile = "c:\temp\WSConfig.txt" newOutput = retWSDL.WSDLInfo.IBIUDDI_webApplocation + " + retWSDL.WSDLInfo.IBIC_server + " " _ + retWSDL.WSDLInfo.IBIUDDI_cgiLocation FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) " _

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-75

Functions

Example

Getting Configuration Information in Java


In the following example, current configuration information about WebFOCUS Web Services are written to the WSConfig.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WSDLInfoStruct retWSDL = wfs.webFocusTracing(logon,false); WSDLInfoEntry WSDLstruct; WSDLstruct = retWSDL.getWSDLInfo(); String newOutput = WSDLstruct.getIBIUDDI_webApplocation() + " + WSDLstruct.getIBIC_server() + " " + WSDLstruct.getIBIUDDI_cgiLocation(); File tempfile = new File("c:\\temp\\WSConfig.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } "

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-76

Information Builders

WebFOCUS Web Services Functions

Creating a Multi-Select WHERE Statement


Function Name: WebFocusFormatWhere Purpose: To convert the String Array of values for a parameter to a formatted condition value to use in the WebFOCUS WHERE statement (for example, 'EASTERN' OR 'CORPORATE'). This function is mainly used for passing multiple values for a parameter within a URL call to WebFOCUS. The WebFocusRunFex function does this automatically. Input Description WebFOCUS cookie information. Structure that contains information about running the WebFOCUS report. The parameters are retrieved into the ValuesArrayEntry structure that is a sub-structure of the FexInfo structure. Output Description Structure that contains information about running the WebFOCUS report. The parameters are retrieved into the ValuesArrayEntry structure that is a sub-structure of the FexInfo structure. Type FexInfo Type LogOnInfo FexInfo

WebFOCUS Web Services

4-77

Functions

Example

Creating a Multi-Select WHERE Statement in Visual Basic .NET


In the following example, the formatted condition value for the REGION parameter of a WebFOCUS report named Sales_Report_4 is written to the WebFocusFormatWhere.txt file in the c:\temp directory.
Dim wfs As New SelfServe.WebFocus Dim logon As New SelfServe.LogOnInfo Dim report As New SelfServe.FexInfo Dim FexinfoOut As New SelfServe.FexInfo Dim param1 As New SelfServe.ValuesArrayEntryDim multivalues As Array = Array.CreateInstance(GetType(String), 2) Dim params As Array = Array.CreateInstance(GetType(SelfServe.ValuesArrayEntry), 1) Dim newOutput As String = "" Dim tempfile As String param1.name = "REGION" multivalues(0) = "EASTERN" multivalues(1) = "CORPORATE" param1.StringArray = multivalues param1.multi = True param1.quote = True param1.operation = "OR" params(0) = param1 report.server = "EDASERVE" report.app = "Sales_Demo" report.name = "Sales_Report_4" report.IBIWS_arrayvalues = params logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") FexinfoOut = wfs.WebFocusFormatWhere(logon, report) newOutput = FexinfoOut.IBIWS_arrayvalues(0).val tempfile = "c:\temp\WebFocusFormatWhere.txt" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

4-78

Information Builders

WebFOCUS Web Services Functions

Example

Creating a Multi-Select WHERE Statement in Java


In the following example, the formatted condition value for the REGION parameter of a WebFOCUS report named Sales_Report_4 is written to the WebFocusFormatWhere.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ValuesArrayEntry[] param; param = new ValuesArrayEntry[1]; ValuesArrayEntry param1 = new ValuesArrayEntry(); String[] multivalues; multivalues = new String[2]; StringArray StringArray; StringArray = new StringArray(); param1.setName("REGION"); multivalues[0] = "EASTERN"; multivalues[1] = "CORPORATE"; StringArray.setValuesentry(multivalues); param1.setStringArray(StringArray); param1.setMulti(true); param1.setQuote(true); param1.setOperation("OR"); param[0] = param1; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); FexInfo report = new FexInfo(); report.setServer("EDASERVE"); report.setApp("Sales_Demo"); report.setName("Sales_Report_4"); report.setIBIWS_arrayvalues(params); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); FexInfo fexinfoOut = wfs.webFocusFormatWhere(logon,report); ArrayOfValuesArrayEntry arrayValues; arrayValues = fexinfoOut.getIBIWS_arrayvalues(); ValuesArrayEntry[] Values; Values = arrayValues.getValuesArrayEntry(); String newOutput= Values[0].getVal(); File tempfile = null; tempfile = new File("c:\\temp\\WebFocusFormatWhere.txt");

WebFOCUS Web Services

4-79

Functions

FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Running WebFOCUS API Commands


Function Name: WebFocusAPI Purpose: To run WebFOCUS API commands. Input Description WebFOCUS cookie information. Structure that contains information about the parameters for a WebFOCUS report. Output Description Structure that contains the output from a WebFOCUS report. Type WebFocusReturn Type LogOnInfo ValuesArrayEntry

4-80

Information Builders

WebFOCUS Web Services Functions

Example

Running WebFOCUS API Commands in Visual Basic .NET


In the following example, a drill-down report CARDRILL is simulated for CAR=JAGUAR. The output from the report is written to the DrillReport.htm file in the c:\temp directory.
Dim Dim Dim Dim Dim wfss As New SelfServe.WebFocus ret As New SelfServe.WebFocusReturn loginfo As New SelfServe.LogOnInfo newOutput As String = "" tempfile As String

Dim parm1 As New SelfServe.ValuesArrayEntry Dim parm2 As New SelfServe.ValuesArrayEntry Dim parm3 As New SelfServe.ValuesArrayEntry Dim parm4 As New SelfServe.ValuesArrayEntry Dim parm5 As New SelfServe.ValuesArrayEntry Dim params As Array = Array.CreateInstance(GetType(SelfServe.ValuesArrayEntry), 5) parm1.name = "IBIC_server" parm1.val = "EDASERVE" params(0) = parm1 parm2.name = "IBIAPP_app" parm2.val = "ibisamp" params(1) = parm2 parm3.name = "IBIF_ex" parm3.val = "cardrill" params(2) = parm3 parm4.name = "CLICK_ON" params(3) = parm4 parm5.name = "CAR" parm5.val = "JAGUAR" params(4) = parm5 loginfo = wfss.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfss.WebFocusAPI(loginfo, params) newOutput = ret.output tempfile = "c:\temp\DrillReport.htm" FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-81

Functions

Example

Running WebFOCUS API Commands in Java


In the following example, a drill-down report CARDRILL is simulated for CAR=JAGUAR. The output from the report is written to the DrillReport.htm file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ValuesArrayEntry[] param; param = new ValuesArrayEntry[5]; ValuesArrayEntry param1 = new ValuesArrayEntry(); param1.setName("IBIC_server"); param1.setVal("EDASERVE"); param[0] = param1; ValuesArrayEntry param2 = new ValuesArrayEntry(); param2.setName("IBIAPP_app"); param2.setVal("ibisamp"); param[1] = param2; ValuesArrayEntry param3 = new ValuesArrayEntry(); param3.setName("IBIF_ex"); param3.setVal("cardrill"); param[2] = param3; ValuesArrayEntry param4 = new ValuesArrayEntry(); param4.setName("CLICK_ON"); param[3] = param4; ValuesArrayEntry param5 = new ValuesArrayEntry(); param5.setName("CAR"); param5.setVal("JAGUAR"); param[4] = param5; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.webFocusAPI(logon,params); String newOutput=ret.getOutput(); File tempfile = null; tempfile = new File("c:\\temp\\DrillReport.htm"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-82

Information Builders

WebFOCUS Web Services Functions

Retrieving the Parameters of a WebFOCUS Report Created as a Function


Function Name: Name of the Web Service Function + Reflection For example, if the name of the Web Service function is car54, the function name for retrieving the parameters is car54Reflection. Purpose: To retrieve the parameters of a WebFOCUS report created as a Web Service function. See Chapter 2, Using the WebFOCUS WSDL Creation Utility for details about making a WebFOCUS report its own Web Service function. When this is complete, this function for retrieving the parameters of this report is also created. Input Description WebFOCUS cookie information. Output Description Structure that contains information about running the WebFOCUS report. The parameters are retrieved into the ValuesArrayEntry structure that is a sub-structure of the FexInfo structure. Type FexInfo Type LogOnInfo

Example

Retrieving the Parameters of a WebFOCUS Report Created as a Function in Visual Basic .NET
In the following example, the parameters for a WebFOCUS Report called Car54 is written to the Car54Parms.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo fexinfoOut As New SelfServe.FexInfo newOutput As String tempfile As String i As Integer

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") fexinfoOut = wfs.car54Reflection(logon) tempfile = "c:\temp\Car54Parms.txt" FileOpen(1, tempfile, OpenMode.Output) For i = 0 To fexinfoOut.IBIWS_arrayvalues.Length - 1 newOutput = fexinfoOut.IBIWS_arrayvalues(i).prompt + " " _ + fexinfoOut.IBIWS_arrayvalues(i).name + " " _ + fexinfoOut.IBIWS_arrayvalues(i).defaultVal PrintLine(1, newOutput)

WebFOCUS Web Services

4-83

Functions

Next i FileClose(1)

SelfServe is the name of the Web Reference.

Example

Retrieving the Parameters of a WebFOCUS Report Created as a Function in Java


In the following example, the parameters for a WebFOCUS Report called Car54 is written to a file Car54Parms.txt in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; ArrayOfValuesArrayEntry arrayValues; ValuesArrayEntry[] Values; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); FexInfo fexinfoOut = wfs.car54Reflection(logon); String newOutput = null; File tempfile = new File("c:\\temp\\Car54Parms.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); arrayValues = fexinfoOut.getIBIWS_arrayvalues(); Values = arrayValues.getValuesArrayEntry(); for ( int i=0; i<Values.length; i++ ) { newOutput = Values[i].getPrompt() + " " + Values[i].getName() + " " + Values[i].getDefaultVal(); out.println(newOutput); } out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-84

Information Builders

WebFOCUS Web Services Functions

Getting the WebFOCUS Code of a WebFOCUS Report Created as a Function


Function Name: Name of the Web Service Function + GetFexText For example, if the name of the Web Service function is car54, the function name for retrieving the WebFOCUS code is car54GetFexText. Purpose: To get the WebFOCUS code for a WebFOCUS report created as a Web Service function. See Chapter 2, Using the WebFOCUS WSDL Creation Utility for details about making a WebFOCUS report its own Web Service function. When this is complete, this function for getting WebFOCUS code for this report is also created. Input Description WebFOCUS cookie information. Output Description Structure that contains output for WebFOCUS reports and certain WebFOCUS functions. Type WebFocusReturn Type LogOnInfo

Example

Getting the WebFOCUS Code of a WebFOCUS Report Created as a Function in Visual Basic .NET
In the following example, the WebFOCUS code for a WebFOCUS Report called Car54 is written to the Car54Code.fex file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New SelfServe.WebFocus logon As New SelfServe.LogOnInfo ret As New SelfServe.WebFocusReturn newOutput As String tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "", "") ret = wfs.car54GetFexText(logon) tempfile = "c:\temp\Car54Code.fex" FileOpen(1, tempfile, OpenMode.Output) newOutput = ret.output Print(1, newOutput) FileClose(1)

SelfServe is the name of the Web Reference.

WebFOCUS Web Services

4-85

Managed Reporting Functions

Example

Getting the WebFOCUS Code of a WebFOCUS Report Created as a Function in Java


In the following example, the WebFOCUS code for a WebFOCUS Report called Car54 is written to the Car54Code.fex file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","",""); WebFocusReturn ret = wfs.car54GetFexText(logon); String newOutput = ret.getOutput(); File tempfile = new File("c:\\temp\\Car54Code.fex"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Managed Reporting Functions


This topic describes WebFOCUS Web Service functions available in Managed Reporting.

Getting a List of Domains


Function Name: MREGetDomains Purpose: To retrieve a list of domains that are defined in Managed Reporting. Use the GetUserDomains function to retrieve a list of domains that the user can access. Input Description WebFOCUS cookie information. Output Description Structure that contains XML for various Managed Reporting functions. 4-86 Type MREReturn Type LogOnInfo

Information Builders

WebFOCUS Web Services Functions

Example

Getting a List of Domains in Visual Basic .NET


In the following example, a list of domains is retrieved and written to the GetDomains.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREGetDomains(logon) tempfile = "c:\temp\GetDomains.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Getting a List of Domains in Java


In the following example, a list of domains is retrieved and written to the GetDomains.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREGetDomains(logon); String newOutput = retMR.getXml(); File tempfile = new File("c:\\temp\\GetDomains.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-87

Managed Reporting Functions

Getting a List of Domains for a Particular User


Function Name: MREGetUserDomains Purpose: To retrieve a list of domains that the user can access. Input Description WebFOCUS cookie information. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo

Example

Getting a List of Domains for a Particular User in Visual Basic .NET


In the following example, a list of domains that the user can access is retrieved and written to the GetUserDomains.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "User1", "User1pass") retMR = wfs.MREGetUserDomains(logon) tempfile = "c:\temp\GetUserDomains.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-88

Information Builders

WebFOCUS Web Services Functions

Example

Getting a List of Domains for a Particular User in Java


In the following example, a list of domains that the user can access is retrieved and written to the GetUserDomains.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","User1","User1pass"); MREReturn retMR = wfs.MREGetUserDomains(logon); String newOutput = retMR.getXml(); File tempfile = new File("c:\\temp\\GetUserDomains.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Getting a List of Groups


Function Name: MREGetGroups Purpose: To retrieve a list of groups that are defined in Managed Reporting. Input Description WebFOCUS cookie information. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo

WebFOCUS Web Services

4-89

Managed Reporting Functions

Example

Getting a List of Groups in Visual Basic .NET


In the following example, a list of groups is retrieved and written to the GetGroups.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "User1", "User1pass") retMR = wfs.MREGetGroups(logon) tempfile = "c:\temp\GetGroups.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Getting a List of Groups in Java


In the following example, a list of groups is retrieved and written to the GetGroups.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","User1","User1pass"); MREReturn retMR = wfs.MREGetGroups(logon); String newOutput = retMR.getXml(); File tempfile = new File("c:\\temp\\GetGroups.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-90

Information Builders

WebFOCUS Web Services Functions

Getting a List of Users


Function Name: MREGetUsers Purpose: To retrieve a list of users that are defined in Managed Reporting. Input Description WebFOCUS cookie information. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo

Example

Getting a List of Users in Visual Basic .NET


In the following example, a list of users is retrieved and written to the GetUsers.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As String = "" tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "User1", "User1pass") retMR = wfs.MREGetUsers(logon) tempfile = "c:\temp\GetUsers.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

WebFOCUS Web Services

4-91

Managed Reporting Functions

Example

Getting a List of Users in Java


In the following example, a list of users is retrieved and written to the GetUsers.xml file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","User1","User1pass"); MREReturn retMR = wfs.MREGetUsers(logon); String newOutput = retMR.getXml(); File tempfile = new File("c:\\temp\\GetUsers.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Creating a New Domain


Function Name: MRECreateDomain Purpose: To create a new domain in Managed Reporting. Input Description WebFOCUS cookie information. Name of the domain. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String

4-92

Information Builders

WebFOCUS Web Services Functions

Example

Creating a New Domain in Visual Basic .NET


In the following example, a domain named New Domain is created with the return code from the function written to the CreateDomain.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRECreateDomain(logon, "New Domain") tempfile = "c:\temp\CreateDomain.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Creating a New Domain in Java


In the following example, a domain named New Domain is created with the return code from the function written to the CreateDomain.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MRECreateDomain(logon,"New Domain"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateDomain.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-93

Managed Reporting Functions

Creating a New Group


Function Name: MRECreateGroup Purpose: To create a new group in Managed Reporting. Input Description WebFOCUS cookie information. Name of the group. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String

Example

Creating a New Group in Visual Basic .NET


In the following example, a group named New Group is created with the return code from the function written to the CreateGroup.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRECreateGroup(logon, "New Group") tempfile = "c:\temp\CreateGroup.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-94

Information Builders

WebFOCUS Web Services Functions

Example

Creating a New Group in Java


In the following example, a group named New Group is created with the return code from the function written to the CreateGroup.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MRECreateGroup(logon,"New Group"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateGroup.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Creating a New User


Function Name: MRECreateUser Purpose: To create a new user in Managed Reporting. Input Description WebFOCUS cookie information. User ID. Description of user. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

WebFOCUS Web Services

4-95

Managed Reporting Functions

Example

Creating a New User in Visual Basic .NET


In the following example, a user ID named NewUserid is created with the return code from the function written to the CreateUser.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRECreateUser(logon, "NewUserid", "New User") tempfile = "c:\temp\CreateUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Creating a New User in Java


In the following example, a user ID named NewUserid is created with the return code from the function written to the CreateUser.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MRECreateUser(logon,"NewUserid","New User"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateUser.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-96

Information Builders

WebFOCUS Web Services Functions

Renaming a Domain
Function Name: MRERenameDomain Purpose: To rename a domain. Input Description WebFOCUS cookie information. HREF of the domain to be renamed. You can obtain the HREF in the output of MREGetDomains. New name of the domain. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

Example

Renaming a Domain in Visual Basic .NET


In the following example, a domain named New Domain is renamed to Reporting Domain with the return code from the function written to the RenameDomain.txt file in the c:\temp directory. The HREF for New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" /> Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRERenameDomain(logon, "xgzr36o2/xgzr36o2.htm", "Reporting Domain") tempfile = "c:\temp\RenameDomain.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

WebFOCUS Web Services

4-97

Managed Reporting Functions

MR is the name of the Web Reference.

Example

Renaming a Domain in Java


In the following example, a domain named New Domain is renamed to Reporting Domain with the return code from the function written to the RenameDomain.txt file in the c:\temp directory. The HREF for New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" /> try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MRERenameDomain(logon,"xgzr36o2/xgzr36o2.htm","Reporting Domain"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameDomain.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-98

Information Builders

WebFOCUS Web Services Functions

Setting a Password for a User


Function Name: MREChangeUserPassword Purpose: To set the password for a particular user ID. Input Description WebFOCUS cookie information. User ID. New password. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

Example

Setting a Password for a User in Visual Basic .NET


In the following example, the password for a user ID named "NewUserid" is set to "NewPass". The return code from the function is written to the ChangeUserPassword.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREChangeUserPassword(logon, "NewUserid", "NewPass") tempfile = "c:\temp\ChangeUserPassword.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

WebFOCUS Web Services

4-99

Managed Reporting Functions

Example

Setting a Password for a User in Java


In the following example, the password for a user ID named "NewUserid" is set to "NewPass". The return code from the function is written to the ChangeUserPassword.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREChangeUserPassword(logon,"NewUserid","NewPass"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\ChangeUserPassword.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-100

Information Builders

WebFOCUS Web Services Functions

Changing User Information


Function Name: MRESetUserFlags Purpose: To rename a user ID, to change the description of a user, or to set flags for a user. Input Description WebFOCUS cookie information. Current user ID. New description of user. New user ID. User flags. Flags are comma-separated. See User Flags Table on page 4-101. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String String String

Reference

User Flags Table


The following table describes user flags. Flag active admin advanced auser dadomains=untitled%20salesdom Description Indicates that the user account is enabled. Indicates that the user has administrative privileges. Indicates that the user has advanced privileges. Indicates that the analytic user can save reports and create My Reports. Indicates that this developer is restricted to administering only the default domain, which has the internal reference "untitled," and the Sales Domain. The characters %20 delimit the domains when there is more than one domain.

WebFOCUS Web Services

4-101

Managed Reporting Functions

Flag dataserver=false domadmin email=address inactive library rcadmin robot shared user

Description Indicates that a developer does not have access to the Data Server feature. Indicates that the user is a developer. Is used with ReportCaster library. Indicates that the user account is disabled. Indicates that the user can use ReportCaster library. Is the ReportCaster Administrator. Indicates that the user has scheduling privileges. Indicates that the user can share reports. Indicates that that user cannot use tools and can only run reports.

Example

Changing User Information in Visual Basic .NET


In the following example, a user ID named "NewUserid" is enabled and is given administrative privileges. The return code from the function is written to the SetUserFlags.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MRESetUserFlags(logon, "NewUserid", "", "", "active,admin") tempfile = "c:\temp\SetUserFlags.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-102

Information Builders

WebFOCUS Web Services Functions

Example

Changing User Information in Java


In the following example, a user ID named "NewUserid" is enabled and is given administrative privileges. The return code from the function is written to the SetUserFlags.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MRESetUserFlags(logon,"NewUserid","","","active,admin"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\SetUserFlags.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-103

Managed Reporting Functions

Adding a Group To a User


Function Name: MREAddGrouptoUser Purpose: To add a user to a security group. Input Description WebFOCUS cookie information. User ID. HREF of the group. You can obtain the HREF in the output of MREGetGroups. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

Example

Adding a Group To a User in Visual Basic .NET


In the following example, a user ID named "NewUserid" is made part of "New Group". The return code from the function is written to the AddGrouptoUser.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" /> Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREAddGrouptoUser(logon, "NewUserid", "#newgroup") tempfile = "c:\temp\AddGrouptoUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MR is the name of the Web Reference.

4-104

Information Builders

WebFOCUS Web Services Functions

Example

Adding a Group To a User in Java


In the following example, a user ID named "NewUserid" is made part of "New Group". The return code from the function is written to the AddGrouptoUser.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" /> try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREAddGrouptoUser(logon,"NewUserid","#newgroup"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\AddGrouptoUser.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-105

Managed Reporting Functions

Deleting a Group From a User


Function Name: MREDeleteGroupfromUser Purpose: To remove a user from a security group. Input Description WebFOCUS cookie information. User ID. HREF of the group. You can obtain the HREF in the output of MREGetGroups. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

Example

Deleting a Group From a User in Visual Basic .NET


In the following example, a user ID named "NewUserid" is removed from "New Group". The return code from the function is written to the DeleteGroupfromUser.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim

The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" /> wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteGroupfromUser(logon, "NewUserid", "#newgroup") tempfile = "c:\temp\DeleteGroupfromUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-106

Information Builders

WebFOCUS Web Services Functions

Example

Deleting a Group From a User in Java


In the following example, a user ID named "NewUserid" is removed from "New Group". The return code from the function is written to the DeleteGroupfromUser.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" /> try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREDeleteGroupfromUser(logon,"NewUserid","#newgroup"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteGroupfromUser.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-107

Managed Reporting Functions

Adding a Domain to a Group


Function Name: MREAddDomaintoGroup Purpose: To give a group access to a domain. Input Description WebFOCUS cookie information. HREF of the group. You can obtain the HREF in the output of MREGetGroups. HREF of the domain. You can obtain the HREF in the output of MREGetDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

Example

Adding a Domain to a Group in Visual Basic .NET


In the following example, a group named "New Group" is granted access to the domain named "New Domain". The return code from the function is written to the AddDomaintoGroup.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" />

The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREAddDomaintoGroup(logon, "#newgroup", "xgzr36o2/ xgzr36o2.htm") tempfile = "c:\temp\AddDomaintoGroup.txt"

4-108

Information Builders

WebFOCUS Web Services Functions

newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Adding a Domain to a Group in Java


In the following example, a group named "New Group" is granted access to the domain named "New Domain". The return code from the function is written to the AddDomaintoGroup.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" />

The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREAddDomaintoGroup(logon,"#newgroup","xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\AddDomaintoGroup.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-109

Managed Reporting Functions

Deleting a Domain From a Group


Function Name: MREDeleteDomainfromGroup Purpose: To remove a groups access to a domain. Input Description WebFOCUS cookie information. HREF of the group. You can obtain the HREF in the output of MREGetGroups. HREF of the domain. You can obtain the HREF in the output of MREGetDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

Example

Deleting a Domain From a Group in Visual Basic .NET


In the following example, the access for a group named "New Group" to a Domain named "New Domain" is removed. The return code from the function is written to the DeleteDomainfromGroup.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" />

The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteDomainfromGroup(logon, "#newgroup", "xgzr36o2/ xgzr36o2.htm")

4-110

Information Builders

WebFOCUS Web Services Functions

tempfile = "c:\temp\DeleteDomainfromGroup.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Deleting a Domain From a Group in Java


In the following example, the access for a group named "New Group" to a Domain named "New Domain" is removed. The return code from the function is written to the DeleteDomainfromGroup.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" />

The HREF for "New Domain" is obtained from the output of MREGetDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREDeleteDomainfromGroup(logon,"#newgroup","xgzr36o2/ xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteDomainfromGroup.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-111

Managed Reporting Functions

Deleting a Group
Function Name: MREDeleteGroup Purpose: To delete a group from Managed Reporting. Description WebFOCUS cookie information. HREF of the group. You can obtain the HREF in the output of MREGetGroups. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String

Example

Deleting a Group From Managed Reporting in Visual Basic .NET


In the following example, the group named "New Group" is deleted. The return code from the function is written to the DeleteGroup.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" /> Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteGroup(logon, "#newgroup") tempfile = "c:\temp\DeleteGroup.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-112

Information Builders

WebFOCUS Web Services Functions

Example

Deleting a Group from Managed Reporting in Java


In the following example, the group named "New Group" is deleted. The return code from the function is written to the DeleteGroup.txt file in the c:\temp directory. The HREF for "New Group" is obtained from the output of MREGetGroups:
<MR_GROUP_FOLDER href="#newgroup" name="newgroup" desc="New Group" /> try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREDeleteGroup(logon,"#newgroup"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteGroup.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-113

Managed Reporting Functions

Deleting a User
Function Name: MREDeleteUser Purpose: To delete a user from Managed Reporting. Input Description WebFOCUS cookie information. User ID. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String

Example

Deleting a User in Visual Basic .NET


In the following example, a user ID named "NewUserid" is deleted. The return code from the function is written to the DeleteUser.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfs.MREDeleteUser(logon, "NewUserid") tempfile = "c:\temp\DeleteUser.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-114

Information Builders

WebFOCUS Web Services Functions

Example

Deleting a User in Java


In the following example, a user ID named "NewUserid" is deleted. The return code from the function is written to the DeleteUser.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREDeleteUser(logon,"NewUserid"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteUser.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-115

Managed Reporting Functions

Adding a Standard Reports Folder


Function Name: MRECreateStandardReportFolder Purpose: To add a Standard Reports folder to a domain. Input Description WebFOCUS cookie information. Name of the Standard Reports folder. Flag for a parent report folder. Null if it is not a sub-folder. Flag Format: belongsto=parentfolderHREF You can obtain the HREF of the parent folder in the output of MREOpenDomain. For example, belongsto=#newstandardf HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String Type LogOnInfo String String

4-116

Information Builders

WebFOCUS Web Services Functions

Example

Adding a Standard Reports Folder in Visual Basic .NET


In the following example, a Standard Reports folder named "New Standard Sub-Folder" is added under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The return code from the function is written to the CreateStandardReportFolder.txt file in the c:\temp directory. The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateStandardReportFolder(logon, _ "New Standard Sub-Folder", "belongsto=#newstandardf", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateStandardReportFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

WebFOCUS Web Services

4-117

Managed Reporting Functions

Example

Adding a Standard Reports Folder in Java


In the following example, a Standard Reports folder named "New Standard Sub-Folder" is added under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The return code from the function is written to the CreateStandardReportFolder.txt file in the c:\temp directory. The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateStandardReportFolder(logon, "New Standard Sub-Folder", "belongsto=#newstandardf", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateStandardReportFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-118

Information Builders

WebFOCUS Web Services Functions

Renaming a Standard Reports Folder


Function Name: MRERenameStandardReportFolder Purpose: To rename a Standard Reports folder within a domain. Input Description WebFOCUS cookie information. HREF of the Standard Reports folder. You can obtain the HREFin the output of MREOpenDomain. New name of the Standard Reports folder. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Flag for a parent report folder. See Adding a Standard Reports Folder on page 4-116. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String String String Type LogOnInfo String

WebFOCUS Web Services

4-119

Managed Reporting Functions

Example

Renaming a Standard Reports Folder in Visual Basic .NET


In the following example, a Standard Reports folder named "New Standard Sub-Folder" within the domain named "New Domain" is renamed to "Old Standard Sub-Folder". The return code from the function is written to the RenameStandardReportFolder.txt file in the c:\temp directory. The HREF for "New Standard Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER flgs="belongsto=#newstandardf" href="#newstandards" name="newstandards" desc="New Standard SubFolder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameStandardReportFolder(logon, _ "#newstandards", _ "Old Standard Sub-Folder", _ "xgzr36o2/xgzr36o2.htm", belongsto=#newstandardf) tempfile = "c:\temp\RenameStandardReportFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-120

Information Builders

WebFOCUS Web Services Functions

Example

Renaming a Standard Reports Folder in Java


In the following example, a Standard Reports folder named "New Standard Sub-Folder" within the domain named "New Domain" is renamed to "Old Standard Sub-Folder". The return code from the function is written to the RenameStandardReportFolder.txt file in the c:\temp directory. The HREF for "New Standard Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER flgs="belongsto=#newstandardf" href="#newstandards" name="newstandards" desc="New Standard SubFolder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameStandardReportFolder(logon, "#newstandards", "Old Standard Sub-Folder", "xgzr36o2/xgzr36o2.htm", belongsto=#newstandardf); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameStandardReportFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-121

Managed Reporting Functions

Deleting a Standard Reports Folder


Function Name: MREDeleteStandardReportFolder Purpose: To delete a Standard Reports folder within a domain. Input Description WebFOCUS cookie information. HREF of the Standard Reports folder. You can obtain the HREF in the output of MREOpenDomain. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String Type LogOnInfo String

Example

Deleting a Standard Reports Folder in Visual Basic .NET


In the following example, a Standard Reports folder named "New Standard Sub-Folder" within the domain named "New Domain" is deleted. The return code from the function is written to the DeleteStandardReportFolder.txt file in the c:\temp directory. The HREF for "New Standard Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER flgs="belongsto=#newstandardf" href="#newstandards" name="newstandards" desc="New Standard SubFolder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

4-122

Information Builders

WebFOCUS Web Services Functions

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteStandardReportFolder(logon, _ "#newstandards", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteStandardReportFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Deleting a Standard Reports Folder in Java


In the following example, a Standard Reports folder named "New Standard Sub-Folder" within the domain named "New Domain" is deleted. The return code from the function is written to the DeleteStandardReportFolder.txt file in the c:\temp directory. The HREF for "New Standard Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER flgs="belongsto=#newstandardf" href="#newstandards" name="newstandards" desc="New Standard SubFolder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteStandardReportFolder(logon, "#newstandards", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteStandardReportFolder.txt");

WebFOCUS Web Services

4-123

Managed Reporting Functions

FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Adding a Reporting Objects Folder


Function Name: MRECreateReportingObjectFolder Purpose: To add a Reporting Objects folder to a domain. Input Description WebFOCUS cookie information. Name of the reporting object. Flag for parent Reporting Objects folder. Null if it is not a sub-folder. Flag Format: belongsto=parentfolderHREF You can obtain the HREF of the parent folder in the output of MREOpenDomain. For example, belongsto=#newobjectfol HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String Type LogOnInfo String String

4-124

Information Builders

WebFOCUS Web Services Functions

Example

Adding a Reporting Object Folder in Visual Basic .NET


In the following example, a Reporting Objects folder named "New Object Sub-Folder" is added under the Reporting Objects folder named "New Object Folder" within the domain named "New Domain". The return code from the function is written to the CreateReportingObjectFolder.txt. file in the c:\temp directory. The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateReportingObjectFolder(logon, _ "New Object Sub-Folder", _ "belongsto=#newobjectfol", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateReportingObjectFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

WebFOCUS Web Services

4-125

Managed Reporting Functions

Example

Adding a Reporting Object Folder in Java


In the following example, a Reporting Objects folder named "New Object Sub-Folder" is added under the Reporting Objects folder named "New Object Folder" within the domain named "New Domain". The return code from the function is written to the CreateReportingObjectFolder.txt. file in the c:\temp directory. The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateReportingObjectFolder(logon, "New Object Sub-Folder", "belongsto=#newobjectfol", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateReportingObjectFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-126

Information Builders

WebFOCUS Web Services Functions

Renaming a Reporting Object Folder


Function Name: MRERenameReportingObjectFolder Purpose: To rename a Reporting Objects folder within a domain. Input Description WebFOCUS cookie information. HREF of the Reporting Objects folder. You can obtain the HREF in the output of MREOpenDomain. New name of the Reporting Objects folder. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Flag for parent Reporting Objects folder. For details, see Adding a Reporting Objects Folder on page 4-124. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String String String Type LogOnInfo String

WebFOCUS Web Services

4-127

Managed Reporting Functions

Example

Renaming a Reporting Object Folder in Visual Basic .NET


In the following example, a Reporting Objects folder named "New Object Sub-Folder" within the domain named "New Domain" is renamed to "Old Object Sub-Folder". The return code from the function is written to the RenameReportingObjectFolder.txt file in the c:\temp directory. The HREF for "New Object Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="belongsto=#newobjectfol" href="#newobjectsub" name="newobjectsub" desc="New Object Sub-Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameReportingObjectFolder(logon, _ "#newobjectsub", _ "Old Object Sub-Folder", _ "xgzr36o2/xgzr36o2.htm"), _ "belongsto=#newobjectfol") tempfile = "c:\temp\RenameReportingObjectFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-128

Information Builders

WebFOCUS Web Services Functions

Example

Renaming a Reporting Object Folder in Java


In the following example, a Reporting Objects folder named "New Object Sub-Folder" within the domain named "New Domain" is renamed to "Old Object Sub-Folder". The return code from the function is written to the RenameReportingObjectFolder.txt file in the c:\temp directory. The HREF for "New Object Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="belongsto=#newobjectfol" href="#newobjectsub" name="newobjectsub" desc="New Object Sub-Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameReportingObjectFolder(logon, "#newobjectsub", "Old Object Sub-Folder", "xgzr36o2/xgzr36o2.htm"), "belongsto=#newobjectfol"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameReportingObjectFolder.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-129

Managed Reporting Functions

Deleting a Reporting Object Folder


Function Name: MREDeleteReportingObjectFolder Purpose: To delete a Reporting Objects folder within a domain. Input Description WebFOCUS cookie information. HREF of the Reporting Objects folder. You can obtain the HREF in the output of MREOpenDomain. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String Type LogOnInfo String

Example

Deleting a Reporting Object Folder in Visual Basic .NET


In the following example, a Reporting Objects folder named "New Object Sub-Folder" within the domain named "New Domain" is deleted. The return code from the function is written to the DeleteReportingObjectFolder.txt file in the c:\temp directory. The HREF for "New Object Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="belongsto=#newobjectfol" href="#newobjectsub" name="newobjectsub" desc="New Object Sub-Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

4-130

Information Builders

WebFOCUS Web Services Functions

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteReportingObjectFolder(logon, _ "#newobjectsub", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteReportingObjectFolder.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Deleting a Reporting Object Folder in Java


In the following example, a Reporting Objects folder named "New Object Sub-Folder" within the domain named "New Domain" is deleted. The return code from the function is written to the DeleteReportingObjectFolder.txt file in the c:\temp directory. The HREF for "New Object Sub-Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="belongsto=#newobjectfol" href="#newobjectsub" name="newobjectsub" desc="New Object Sub-Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteReportingObjectFolder(logon, "#newobjectsub", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteReportingObjectFolder.txt");

WebFOCUS Web Services

4-131

Managed Reporting Functions

FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Creating a Standard Report


Function Name: MRECreateStandardReport Purpose: To create a Standard Report within a Standard Reports folder. Input Description WebFOCUS cookie information. Name of the Standard Report. Report flags (comma-separated). See on page 4-132. HREF of the Standard Reports folder. You can obtain the HREF in the output of MREOpenDomain. WebFOCUS code. A CR/LF should follow each line. The file extension of the file to be created. WebFOCUS reports have a file extension of .fex. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. 4-132 Type MREReturn String String String Type LogOnInfo String String String

Information Builders

WebFOCUS Web Services Functions

Reference

Report Flags Table


The following table describes report flags. Flag hidden Description Indicates that the report is hidden from view within the Managed Reporting Domains area.This mainly applies to users and analytical users. Developers can still see these reports in the Domain Builder area. This flag only works within Managed Reporting. The MREOpenDomain function still brings back all reports. The flags are also brought back in the output of this function. Your program can interrogate the flags to determine whether to display the report. Runs the report in OLAP mode within Managed Reporting. Runs the report in Managed Reporting in deferred execution mode. Does not prompt for parameters in Managed Reporting. Identifies the WebFOCUS Reporting Server where the report is to be run. servernodename is the name of the Reporting Server node as defined in the odin.cfg file. appname=application The application that contains the Master File for the report. This is used if the application was not added to the application path in the edasprof.prf file.

runasolap defer skipamper node=servernodename

WebFOCUS Web Services

4-133

Managed Reporting Functions

Example

Creating a Standard Report in Visual Basic .NET


In the following example, a Standard Report named "New Standard Report" is added under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The report has the following attributes: Run from a WebFOCUS Reporting Server named EDASERVE. Master Files are contained in the ibisamp application. Set up to run in deferred execution mode. Report cannot be run by users or analytical users. Do not prompt for parameters. Run as an OLAP report.

The return code from the function is written to the CreateStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String

CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass")

4-134

Information Builders

WebFOCUS Web Services Functions

retMR = wfs.MRECreateStandardReport(logon, _ "New Standard Report", _ "skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp", _ "#newstandardf", _ FocCode, _ "fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateStandardReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Creating a Standard Report in Java


In the following example, a Standard Report named "New Standard Report" is added under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The report has the following attributes: Run from a WebFOCUS Reporting Server named EDASERVE. Master Files are contained in the ibisamp application. Set up to run in deferred execution mode. Report cannot be run by users or analytical users. Do not prompt for parameters. Run as an OLAP report.

The return code from the function is written to the CreateStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

WebFOCUS Web Services

4-135

Managed Reporting Functions

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; String String String String CRLF = System.getProperty("line.separator"); FC1 = "TABLE FILE CAR";String FC2 = "SUM DEALER_COST"; FC3 = "BY COUNTRY"; FC4 = "END";

String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateStandardReport(logon, "New Standard Report", "skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp", "#newstandardf", FocCode, "fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateStandardReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-136

Information Builders

WebFOCUS Web Services Functions

Renaming a Standard Report


Function Name: MRERenameStandardReport Purpose: To rename a Standard Report within a Standard Reports folder. Input Description WebFOCUS cookie information. HREF of the Standard Report. You can obtain the HREF in the output of the MREOpenDomain. HREF of the Standard Reports folder. You can obtain the HREF in the output of MREOpenDomain. New name of the Standard Report. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Report flags (comma-separated). See on page 4-132. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String String String String

WebFOCUS Web Services

4-137

Managed Reporting Functions

Example

Renaming a Standard Report in Visual Basic .NET


In the following example, a Standard Report named "New Standard Report" is renamed to "Old Standard Report". This report exists under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The reporting flags are set to none . The return code from the function is written to the RenameStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Report" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp" href="app/newstand.fex" size="45" time="1087569082" desc="New Standard Report" imag="" />

The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameStandardReport(logon, _ "app/newstand.fex", _ "#newstandardf", _ "Old Standard Report", _ "xgzr36o2/xgzr36o2.htm", _ "none) tempfile = "c:\temp\RenameStandardReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-138

Information Builders

WebFOCUS Web Services Functions

Example

Renaming a Standard Report in Java


In the following example, a Standard Report named "New Standard Report" is renamed to "Old Standard Report". This report exists under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The reporting flags are set to none . The return code from the function is written to the RenameStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Report" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp" href="app/newstand.fex" size="45" time="1087569082" desc="New Standard Report" imag="" />

The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameStandardReport(logon, "app/newstand.fex", "#newstandardf", "Old Standard Report", "xgzr36o2/xgzr36o2.htm", "none); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameStandardReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-139

Managed Reporting Functions

Deleting a Standard Report


Function Name: MREDeleteStandardReport Purpose: To delete Standard Report within a Standard Reports folder. Input Description WebFOCUS cookie information. HREF of the Standard Report. You can obtain the HREF in the output of the MREOpenDomain. HREF of the Standard Reports folder. You can obtain the HREF in the output of MREOpenDomain. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String String

4-140

Information Builders

WebFOCUS Web Services Functions

Example

Deleting a Standard Report in Visual Basic .NET


In the following example, a Standard Report named "New Standard Report" is deleted. This report exists under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The return code from the function is written to the DeleteStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Report" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp" href="app/newstand.fex" size="45" time="1087569082" desc="New Standard Report" imag="" />

The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteStandardReport(logon, _ "app/newstand.fex", _ "#newstandardf", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteStandardReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

WebFOCUS Web Services

4-141

Managed Reporting Functions

Example

Deleting a Standard Report in Java


In the following example, a Standard Report named "New Standard Report" is deleted. This report exists under the Standard Reports folder named "New Standard Folder" within the domain named "New Domain". The return code from the function is written to the DeleteStandardReport.txt file in the c:\temp directory. The HREF for "New Standard Report" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,hidden,runasolap,defer,node=EDASERVE,appname=ibisamp" href="app/newstand.fex" size="45" time="1087569082" desc="New Standard Report" imag="" />

The HREF for "New Standard Folder" is obtained from the output of MREOpenDomain:
<MR_STD_REPORT_FOLDER href="#newstandardf" name="newstandardf" desc="New Standard Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteStandardReport(logon, "app/newstand.fex", "#newstandardf", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteStandardReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-142

Information Builders

WebFOCUS Web Services Functions

Creating a Reporting Object


Function Name: MRECreateReportingObject Purpose: To create a reporting object within a Reporting Objects folder. Input Description WebFOCUS cookie information. Name of the reporting object. Reporting object flags. For valid flags, see Reporting Object Flags Table on page 4-144. HREF of the Reporting Objects folder. You can obtain the HREF in the output of the MREOpenDomain. WebFOCUS code. A CR/LF should follow each line. The file extension of the file to be created. WebFOCUS Reports have a file extension of .fex. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String Type LogOnInfo String String String String String

WebFOCUS Web Services

4-143

Managed Reporting Functions

Reference

Reporting Object Flags Table


The following table describes reporting object flags. Flag runasolap defer skipamper showasreport showonlyasreport node=servernodename Description Runs the report in OLAP mode within Managed Reporting. Runs the report in Managed Reporting in deferred execution mode. Does not prompt for parameters in Managed Reporting. The reporting object will also show within the Standard Reports tab. The reporting object will only also show within the Standard Reports tab. Identifies the WebFOCUS Reporting Server where the report is to be run. servernodename is the name of the Reporting Server node as defined in the odin.cfg file. appname=application The application that contains the Master File for the report. This is used if the application was not added to the application path in the edasprof.prf file.

Example

Creating a Reporting Object in Visual Basic .NET


In the following example, a reporting object named "New Reporting Object" is added under the Reporting Objects folder named "New Object Folder" within the domain named "New Domain". The WebFOCUS code includes the Reporting Object template needed by Report Assistant. The report has the following attributes: Run from a WebFOCUS Reporting Server named EDASERVE. Master Files are contained in the ibisamp application. Do not prompt for parameters.

4-144

Information Builders

WebFOCUS Web Services Functions

The return code from the function is written to the CreateReportingObject.txt file in the c:\temp directory. The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String FC5 As String FC6 As String FC7 As String FC8 As String FC9 As String FC10 As String FC11 As String FC12 As String FC13 As String FC14 As String FC15 As String FC16 As String FC17 As String FC18 As String FC19 As String FC20 As String FC21 As String FC22 As String

CRLF = vbCrLf

WebFOCUS Web Services

4-145

Managed Reporting Functions

FC1 = "-DEFAULT &SECTION=WHERE" FC2 = "-IF &SECTION EQ 'WHERE' GOTO WHERE;" FC3 = "-IF &SECTION EQ 'SUFFIX' GOTO SUFFIX;" FC4 = "-PREFIX" FC5 = "JOIN CLEAR *" FC6 = "DEFINE FILE CAR" FC7 = "EXTENDED_PRICE/D12.2 = RETAIL_COST * SALES;" FC8 = "END" FC9 = "-GOTO SKIP0" FC10 = "-WHERE" FC11 = "-GOTO SKIP0" FC12 = "-TABLE" FC13 = "TABLE FILE CAR" FC14 = "END" FC15 = "-GOTO SKIP0" FC16 = "-GRAPH" FC17 = "GRAPH FILE CAR" FC18 = "END" FC19 = "-GOTO SKIP0" FC20 = "-SUFFIX" FC21 = "-GOTO SKIP0" FC22 = "-SKIP0" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 + CRLF + _ FC5 + CRLF + FC6 + CRLF + FC7 + CRLF + FC8 + CRLF + _ FC9 + CRLF + FC10 + CRLF + FC11 + CRLF + FC12 + CRLF + _ FC13 + CRLF + FC14 + CRLF + FC15 + CRLF + FC16 + CRLF + _ FC17 + CRLF + FC18 + CRLF + FC19 + CRLF + FC20 + CRLF + _ FC21 + CRLF + FC22 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateReportingObject(logon, _ "New Reporting Object", _ "skipamper,node=EDASERVE,appname=ibisamp", _ "#newobjectfol", _ FocCode, _ "fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateReportingObject.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-146

Information Builders

WebFOCUS Web Services Functions

Example

Creating a Reporting Object in Java


In the following example, a reporting object named "New Reporting Object" is added under the Reporting Objects folder named "New Object Folder" within the domain named "New Domain". The WebFOCUS code includes the Reporting Object template needed by Report Assistant. The report has the following attributes: Run from a WebFOCUS Reporting Server named EDASERVE. Master Files are contained in the ibisamp application. Do not prompt for parameters.

The return code from the function is written to the CreateReportingObject.txt file in the c:\temp directory. The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub;

WebFOCUS Web Services

4-147

Managed Reporting Functions

String String String String String String String String String String String String String String String String String String String String String String String

CRLF = System.getProperty("line.separator"); FC1 = "-DEFAULT &SECTION=WHERE"; FC2 = "-IF &SECTION EQ 'WHERE' GOTO WHERE;"; FC3 = "-IF &SECTION EQ 'SUFFIX' GOTO SUFFIX;"; FC4 = "-PREFIX"; FC5 = "JOIN CLEAR *"; FC6 = "DEFINE FILE CAR"; FC7 = "EXTENDED_PRICE/D12.2 = RETAIL_COST * SALES;"; FC8 = "END"; FC9 = "-GOTO SKIP0"; FC10 = "-WHERE"; FC11 = "-GOTO SKIP0"; FC12 = "-TABLE"; FC13 = "TABLE FILE CAR"; FC14 = "END"; FC15 = "-GOTO SKIP0"; FC16 = "-GRAPH"; FC17 = "GRAPH FILE CAR"; FC18 = "END"; FC19 = "-GOTO SKIP0"; FC20 = "-SUFFIX"; FC21 = "-GOTO SKIP0"; FC22 = "-SKIP0";

String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 + CRLF + FC5 + CRLF + FC6 + CRLF + FC7 + CRLF + FC8 + CRLF + FC9 + CRLF + FC10 + CRLF + FC11 + CRLF + FC12 + CRLF + FC13 + CRLF + FC14 + CRLF + FC15 + CRLF + FC16 + CRLF + FC17 + CRLF + FC18 + CRLF + FC19 + CRLF + FC20 + CRLF + FC21 + CRLF + FC22; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateReportingObject(logon, "New Reporting Object", "skipamper,node=EDASERVE,appname=ibisamp", "#newobjectfol", FocCode, "fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateReportingObject.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

4-148

Information Builders

WebFOCUS Web Services Functions

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Renaming a Reporting Object


Function Name: MRERenameReportingobject Purpose: To rename a reporting object within a Reporting Objects folder. Input Description WebFOCUS cookie information. HREF of the reporting object. You can obtain the HREF in the output of MREOpenDomain. HREF of the Reporting Objects folder. You can obtain the HREF in the output of MREOpenDomain. New name of the reporting object. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Reporting object flags. See Reporting Object Flags Table on page 4144. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String String String String

WebFOCUS Web Services

4-149

Managed Reporting Functions

Example

Renaming a Reporting Object in Visual Basic .NET


In the following example, a reporting object named "New Reporting Object" is renamed to "Old Reporting Object". This report exists under the Reporting Objects folder named "New Object Folder" within the domain named "New Domain". The reporting object flags are set to none . The return code from the function is written to the RenameReportingObject.txt file in the c:\temp directory. The HREF for "New Reporting Object" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,node=EDASERVE,appname=ibisamp" href="mrv/newrepor.fex" size="316" time="1087833082" desc="New Reporting Object" imag="" />

The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameReportingObject(logon, _ "mrv/newrepor.fex", _ "#newobjectfol", _ "Old Reporting Object", _ "xgzr36o2/xgzr36o2.htm", _ "none") tempfile = "c:\temp\RenameReportingObject.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-150

Information Builders

WebFOCUS Web Services Functions

Example

Renaming a Reporting Object in Java


In the following example, a reporting object named "New Reporting Object" is renamed to "Old Reporting Object". This report exists under the Reporting Objects folder named "New Object Folder" within the domain named "New Domain". The reporting object flags are set to none . The return code from the function is written to the RenameReportingObject.txt file in the c:\temp directory. The HREF for "New Reporting Object" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,node=EDASERVE,appname=ibisamp" href="mrv/newrepor.fex" size="316" time="1087833082" desc="New Reporting Object" imag="" />

The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRERenameReportingObject(logon, "mrv/newrepor.fex", "#newobjectfol", "Old Reporting Object", "xgzr36o2/xgzr36o2.htm", "none"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameReportingObject.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

WebFOCUS Web Services

4-151

Managed Reporting Functions

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Deleting a Reporting Object


Function Name: MREDeleteReportingObject Purpose: To delete a reporting object within a Reporting Objects folder. Input Description WebFOCUS cookie information. HREF of the reporting object. You can obtain the HREF in the output of MREOpenDomain. HREF of the Reporting Objects folder. You can obtain the HREF in the output of MREOpenDomain. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String String

4-152

Information Builders

WebFOCUS Web Services Functions

Example

Deleting a Reporting Object in Visual Basic .NET


In the following example, a reporting object named "New Reporting Object" is deleted. This report exists under the Reporting Objects folder name "New Object Folder" within the domain named "New Domain". The return code from the function is written to the DeleteReportingObject.txt file in the c:\temp directory. The HREF for "New ReportingObject" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,node=EDASERVE,appname=ibisamp" href="mrv/newrepor.fex" size="316" time="1087833082" desc="New Reporting Object" imag="" />

The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteReportingObject(logon, _ "mrv/newrepor.fex", _ "#newobjectfol", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteReportingObject.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

WebFOCUS Web Services

4-153

Managed Reporting Functions

Example

Deleting a Reporting Object in Java


In the following example, a reporting object named "New Reporting Object" is deleted. This report exists under the Reporting Objects folder name "New Object Folder" within the domain named "New Domain". The return code from the function is written to the DeleteReportingObject.txt file in the c:\temp directory. The HREF for "New ReportingObject" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper,node=EDASERVE,appname=ibisamp" href="mrv/newrepor.fex" size="316" time="1087833082" desc="New Reporting Object" imag="" />

The HREF for "New Object Folder" is obtained from the output of MREOpenDomain:
<MR_REPORT_OBJECT_FOLDER flgs="none" href="#newobjectfol" name="newobjectfol" desc="New Object Folder" imag="">

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteReportingObject(logon, "mrv/newrepor.fex", "#newobjectfol", "xgzr36o2/xgzr36o2.htm");

int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteReportingObject.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); } private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-154

Information Builders

WebFOCUS Web Services Functions

Creating an Other File


Function Name: MRECreateOtherReport Purpose: To create a file within the Other Files folder. Input Description WebFOCUS cookie information. Name of the Other file. Other file flags (comma-separated). For valid flags, see Other File Flags Table on page 4-156. Text input. Typically, WebFOCUS code. A CR/LF should follow each line. The file extension of the file to be created. WebFOCUS reports have a file extension of .fex. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn String String Type LogOnInfo String String String

WebFOCUS Web Services

4-155

Managed Reporting Functions

Reference

Other File Flags Table


The following table describes Other file flags. Flag runasolap skipamper hidden Description Runs the report in OLAP mode within Managed Reporting. Does not prompt for parameters in Managed Reporting. The file is hidden from view within the Managed Reporting Domains area. This mainly applies to users and analytical users. Developers can still see these reports when in the Domain Builder area. This flag only works within Managed Reporting. The MREOpenDomain function still brings back all files. The flags are also brought back in the output of this function. Your program can interrogate the flags to determine whether to display the file.

Example

Creating an Other File in Visual Basic .NET


In the following example, an Other File named "New Other File" is added within a domain named "New Domain". The report has the following attributes: Do not prompt for parameters

The return code from the function is written to the CreateOtherReport.txt file in the c:\temp directory. The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

4-156

Information Builders

WebFOCUS Web Services Functions

Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String

CRLF = vbCrLf FC1 = "-SET &DATEF = EDIT(&MDYY,'99/99/9999');" FC2 = "FOOTING" FC3 = Chr(34) 'Decimal Equivalent of a " Character FC4 = "Date of Run: &DATEF Time of Run: &TOD" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + FC4 + FC3 logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRECreateOtherReport(logon, _ "New Other File", _ "skipamper", _ FocCode, _ "fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\CreateOtherReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

WebFOCUS Web Services

4-157

Managed Reporting Functions

Example

Creating an Other File in Java


In the following example, an Other File named "New Other File" is added within a domain named "New Domain". The report has the following attributes: Do not prompt for parameters

The return code from the function is written to the CreateOtherReport.txt file in the c:\temp directory. The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" /> try { tub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; String String String String String CRLF = System.getProperty("line.separator"); FC1 = "-SET &DATEF = EDIT(&MDYY,'99/99/9999');"; FC2 = "FOOTING"; FC3 = "\""; FC4 = "Date of Run: &DATEF Time of Run: &TOD";

String FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + FC4 + FC3; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MRECreateOtherReport(logon, "New Other File", "skipamper", FocCode, "fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateOtherReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

4-158

Information Builders

WebFOCUS Web Services Functions

Renaming an Other File


Function Name: MRERenameOtherReport Purpose: To rename an Other file within a domain. Input Description WebFOCUS cookie information. HREF of the Other file. You can obtain the HREF in the output of MREOpenDomain. New name of the Other file. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Other file flags (comma-separated). For valid flags, see Other File Flags Table on page 4-156. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String String String

Example

Renaming an Other File in Visual Basic .NET


In the following example, an Other file named "New Other File" is renamed to "Old Other File". This file exists within the domain named "New Domain". The Other file flags are set to none . The return code from the function is written to the RenameOtherReport.txt file in the c:\temp directory. The HREF for "New Other File" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper" href="app/newother.fex" size="92" time="1088173647" desc="New Other File" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

WebFOCUS Web Services

4-159

Managed Reporting Functions

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MRERenameOtherReport(logon, _ "app/newother.fex", _ "Old Other File", _ "xgzr36o2/xgzr36o2.htm", _ "none") tempfile = "c:\temp\RenameOtherReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

Example

Renaming an Other File in Java


In the following example, an Other file named "New Other File" is renamed to "Old Other File". This file exists within the domain named "New Domain". The Other file flags are set to none . The return code from the function is written to the RenameOtherReport.txt file in the c:\temp directory. The HREF for "New Other File" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper" href="app/newother.fex" size="92" time="1088173647" desc="New Other File" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo = logonwfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass");

4-160

Information Builders

WebFOCUS Web Services Functions

MREReturn retMR = wfs.MRERenameOtherReport(logon, "app/newother.fex", "Old Other File", "xgzr36o2/xgzr36o2.htm", "none"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\RenameOtherReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

Deleting an Other File


Function Name: MREDeleteOtherReport Purpose: To delete an Other file within a domain. Input Description WebFOCUS cookie information. HREF of the Other file. You can obtain the HREF in the output of MREOpenDomain. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String

WebFOCUS Web Services

4-161

Managed Reporting Functions

Example

Deleting an Other File in Visual Basic .NET


In the following example, an Other file named "New Other File" is deleted. This file is within the domain named "New Domain". The return code from the function is written to DeleteOtherReport.txt file in the c:\temp directory. The HREF for "New Other File" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper" href="app/newother.fex" size="92" time="1088173647" desc="New Other File" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

Dim Dim Dim Dim Dim

wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREDeleteOtherReport(logon, _ "app/newother.fex", _ "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\DeleteOtherReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-162

Information Builders

WebFOCUS Web Services Functions

Example

Deleting an Other File in Java


In the following example, an Other file named "New Other File" is deleted. This file is within the domain named "New Domain". The return code from the function is written to DeleteOtherReport.txt file in the c:\temp directory. The HREF for "New Other File" is obtained from the output of MREOpenDomain:
<MR_HREF_PROPERTIES flgs="skipamper" href="app/newother.fex" size="92" time="1088173647" desc="New Other File" imag="" />

The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" />

try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREDeleteOtherReport(logon, "app/newother.fex", "xgzr36o2/xgzr36o2.htm"); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\DeleteOtherReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-163

Managed Reporting Functions

Opening a Domain
Function Name: MREOpenDomain Purpose: To open a domain and obtain a list of all WebFOCUS reports within Standard Reports, Reporting Objects, and Other Files folders. Input Description WebFOCUS cookie information. HREF of the domain. You can obtain the HREF in the output of MREGetUserDomains. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String

Example

Opening a Domain in Visual Basic .NET


In the following example, a domain named "New Domain" is opened. The XML output from the function is written to the OpenDomain.xml file in the c:\temp directory. The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" /> Dim Dim Dim Dim Dim wfs As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As String tempfile As String

logon = wfs.WebFocusLogOn("RepUser", "RepPass", "NewUserid", "UserPass") retMR = wfs.MREOpenDomain(logon, "xgzr36o2/xgzr36o2.htm") tempfile = "c:\temp\OpenDomain.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MR is the name of the Web Reference.

4-164

Information Builders

WebFOCUS Web Services Functions

Example

Opening a Domain in Java


In the following example, a domain named "New Domain" is opened. The XML output from the function is written to the OpenDomain.xml file in the c:\temp directory. The HREF for "New Domain" is obtained from the output of MREGetUserDomains:
<HREF flgs="none" href="xgzr36o2/xgzr36o2.htm" desc="New Domain" imag="" /> try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","NewUserid","UserPass"); MREReturn retMR = wfs.MREOpenDomain(logon, "xgzr36o2/xgzr36o2.htm"); String newOutput = retMR.getXml(); File tempfile = new File("c:\\temp\\OpenDomain.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-165

Managed Reporting Functions

Example

Viewing XML Output Generated By MREOpenDomain


<?xml version="1.0" encoding="ISO-8859-1" ?> - <ibwfrpc name="MR_OPEN_DOMAIN"> <RETURN_TYPE_VERSION>1</RETURN_TYPE_VERSION> <DOMAIN_COUNT>33</DOMAIN_COUNT> <MR_HELP flgs="none" href="app/help.htm" size="195" time="1067353378" desc="Help" /> - <MR_OTHER_SECTION> <MR_HREF_PROPERTIES flgs="ddmap" href="app/webservi.kmd" size="42" time="1072795840" desc="Web Services Domain" imag="" /> </MR_OTHER_SECTION> - <MR_STD_REPORT> - <MR_STD_REPORT_FOLDER flgs="none" href="#newfoldersrf" name="newfoldersrf" desc="HR Reports" imag=""> <MR_HREF_PROPERTIES href="app/centempt.htm" size="1957" time="1089656067" desc="centempt" imag="" /> <MR_HREF_PROPERTIES href="app/hrranknm.fex" size="5151" time="1090003822" desc="hrranknM" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/ranking.fex" size="4511" time="1089655726" desc="Ranking" imag="" /> </MR_STD_REPORT_FOLDER> - <MR_STD_REPORT_FOLDER flgs="none" href="#soapadapterk" name="soapadapterk" desc="SOAP Adapter" imag=""> <MR_HREF_PROPERTIES flgs="none" href="app/adhoc.fex" size="385" time="1082137354" desc="Adhoc" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/baseball.fex" size="2140" time="1089807365" desc="BaseballRoster" imag="" /> <MR_HREF_PROPERTIES flgs="none,appname=soap_adapter" href="app/ zoh9uv5k.fex" size="2985" time="1088775483" desc="Get Stock Quotes" imag="" /> <MR_HREF_PROPERTIES href="app/gethoros.fex" size="1406" time="1072885852" desc="GetHoroscope" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/getplaye.fex" size="1454" time="1076538938" desc="GetPlayers" imag="" /> <MR_HREF_PROPERTIES flgs="hidden,appname=soap_adapter" href="app/ getquote.fex" size="2110" time="1077288824" desc="GetQuote" imag="" /> <MR_HREF_PROPERTIES href="app/nflnews.fex" size="1439" time="1072795646" desc="NFLNews" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/testheb.fex" size="427" time="1091544691" desc="TestHeb" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/webfocus.fex" size="593" time="1091460016" desc="WebFocusDBInfo" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/g665d93p.fex" size="641" time="1091132635" desc="WebFocusFieldValues" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/zl20xysv.fex" size="694" time="1091460397" desc="WebFocusGetFexText" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/o0xasxff.fex" size="737"

4-166

Information Builders

WebFOCUS Web Services Functions

time="1091120255" desc="WebFocusListApps" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/r6wao1xy.fex" size="834" time="1091468774" desc="WebFocusListFexs" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/tzzw715l.fex" size="582" time="1091132843" desc="WebFocusListServers" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/aw0165u3.fex" size="755" time="1091469080" desc="WebFocusMasterInfo" imag="" /> <MR_HREF_PROPERTIES flgs="none" href="app/localtim.fex" size="2199" time="1091117884" desc="Zip Code Information" imag="" /> </MR_STD_REPORT_FOLDER> </MR_STD_REPORT> - <MR_REPORT_OBJECT> - <MR_REPORT_OBJECT_FOLDER flgs="none" href="#zipcodejoins" name="zipcodejoins" desc="Zip Code Joins" imag=""> <MR_HREF_PROPERTIES flgs="suffix" href="mrv/localtim.fex" size="318" time="1093439281" desc="Local Time to Temperature" imag="" /> </MR_REPORT_OBJECT_FOLDER> </MR_REPORT_OBJECT> <MR_FILE_INFO href="webservi/webservi.htm" size="2782" type="DOMAIN" look="0" time="1093439281" /> <MR_GET_USERS flgs="admin,shared,rcadmin,robot,library,email=efrem_litwin@ibi.com" href="admin.htm" name="admin" desc="Default Administrator" imag="" /> - <IBIMR_MYREPORTS_TABLE flgs="none" href="webservi/webservi.htm" desc="Web Services"> - <IBIMR_MYREPORTS_TABLE_FOLDER flgs="none" href="#.olapcustomreports" desc="Custom Reports" imag=""> <MR_HREF_PROPERTIES flgs=",myreport,rassist,shared" href="admin/ haveaquo.fex" size="474" time="1092921850" desc="Have a Quote" imag="" /> <MR_HREF_PROPERTIES flgs="shared" href="admin/testrepo.fex" size="45" time="1093384265" desc="Test Report" imag="" /> </IBIMR_MYREPORTS_TABLE_FOLDER> - <IBIMR_MYREPORTS_TABLE_FOLDER href="#.olapdeferred" desc="Deferred Reports" imag=""> <MR_HREF_PROPERTIES flgs="1093438271,fexinfo=IBIMR_domain%3Dwebservi%2Fwebservi.htm%2CIBIMR_f older%3D%23soapadapterk%2CIBIMR_fex%3Dapp%2Fgetplaye.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1076538938288%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2C," href="#2004-08-25-08-3024cmrpip000012_edaserve" size="0" time="0" desc="GetPlayers" imag="" /> <MR_HREF_PROPERTIES flgs="1093017713,fexinfo=IBIMR_domain%3Dwebservi%2Fwebservi.htm%2CIBIMR_f older%3D%23soapadapterk%2CIBIMR_fex%3Dapp%2Fzoh9uv5k.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1088775483508%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2CTICKER%3DSIRI%2C," href="#2004-08-20-10-01-08cmrpip000017_edaserve" size="0" time="0" desc="Get Stock Quotes" imag="" /> </IBIMR_MYREPORTS_TABLE_FOLDER>

WebFOCUS Web Services

4-167

Managed Reporting Functions

</IBIMR_MYREPORTS_TABLE> <MR_FILE_INFO flgs="admin,shared,rcadmin,robot,library,email=efrem_litwin@ibi.com" href="admin.htm" size="4467" type="USER_ID" look="0" time="1093438271" /> <RETURNCODE>1000</RETURNCODE> </ibwfrpc>

Running Managed Reporting API Commands


Function Name: MREAPI Purpose: To run Managed Reporting API commands. Input Description WebFOCUS cookie information. Managed Reporting action. Managed Reporting sub-action. Structure that contains information about the parameters for a WebFOCUS report. Output Description Structure that contains XML for various Managed Reporting functions. Type MREReturn Type LogOnInfo String String ValuesArrayEntry

4-168

Information Builders

WebFOCUS Web Services Functions

Example

Running Managed Reporting API Commands in Visual Basic .NET


In the following example, FOCUS Code is saved to My Reports within Managed Reporting. The name of the report is Test Report and it is shared. The return code is written to the CreateMyReport.txt file in the c:\temp directory.
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim 6) wfmre As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As Integer tempfile As String FocCode As String CRLF As String FC1 As String FC2 As String FC3 As String FC4 As String Param1 Param2 Param3 Param4 Param5 Param6 Params As As As As As As As New MR.ValuesArrayEntry New MR.ValuesArrayEntry New MR.ValuesArrayEntry New MR.ValuesArrayEntry New MR.ValuesArrayEntry New MR.ValuesArrayEntry Array = Array.CreateInstance(GetType(MR.ValuesArrayEntry),

CRLF = vbCrLf FC1 = "TABLE FILE CAR" FC2 = "SUM DEALER_COST" FC3 = "BY COUNTRY" FC4 = "END" FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4 Param1.name = "IBIMR_folder" Param1.val = "#.olapcustomreports" Params(0) = Param1 Param2.name = "IBIF_adhocfex" Param2.val = FocCode Params(1) = Param2 Param3.name = "IBIMR_str1" Param3.val = "Test Report" Params(2) = Param3 Param4.name = "IBIMR_domain" Param4.val = "webservi/webservi.htm" Params(3) = Param4

WebFOCUS Web Services

4-169

Managed Reporting Functions

Param5.name = "IBIMR_length" Param5.val = "-1" Params(4) = Param5 Param6.name = "IBIMR_flags" Param6.val = "shared" Params(5) = Param6 logon = wfmre.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfmre.MREAPI(logon, "MR_NEW", "MR_MY_REPORT", Params) tempfile = "c:\temp\CreateMyReport.txt" newOutput = retMR.rc FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1) MR is the name of the Web Reference.

Example

Running Managed Reporting API Commands in Java


In the following example, FOCUS Code is saved to My Reports within Managed Reporting. The name of the report is Test Report and it is shared. The return code is written to the CreateMyReport.txt file in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; String String String String String CRLF = System.getProperty("line.separator"); FC1 = "TABLE FILE CAR";String FC2 = "SUM DEALER_COST"; FC3 = "BY COUNTRY"; FC4 = "END"; FocCode = FC1 + CRLF + FC2 + CRLF + FC3 + CRLF + FC4;

ValuesArrayEntry[] param; param = new ValuesArrayEntry[6]; ValuesArrayEntry param1 = new ValuesArrayEntry(); param1.setName("IBIMR_folder"); param1.setVal("#.olapcustomreports"); param[0] = param1; ValuesArrayEntry param2 = new ValuesArrayEntry(); param2.setName("IBIF_adhocfex"); param2.setVal(FocCode); param[1] = param2; ValuesArrayEntry param3 = new ValuesArrayEntry(); param3.setName("IBIMR_str1"); param3.setVal("Test Report"); param[2] = param3;

4-170

Information Builders

WebFOCUS Web Services Functions

ValuesArrayEntry param4 = new ValuesArrayEntry(); param4.setName("IBIMR_domain"); param4.setVal("webservi/webservi.htm"); param[3] = param4; ValuesArrayEntry param5 = new ValuesArrayEntry(); param5.setName("IBIMR_length"); param5.setVal("-1"); param[4] = param5; ValuesArrayEntry param6 = new ValuesArrayEntry(); param6.setName("IBIMR_flags"); param6.setVal("shared"); param[5] = param6; ArrayOfValuesArrayEntry params = new ArrayOfValuesArrayEntry(); params.setValuesArrayEntry(param); LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREAPI(logon,"MR_NEW","MR_MY_REPORT",params); int newOutput = retMR.getRc(); File tempfile = new File("c:\\temp\\CreateMyReport.txt"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-171

Managed Reporting Functions

Retrieving Status of Deferred Reports


Function Name: MREDeferStatus Purpose: To retrieve the status of all WebFOCUS reports that were submitted in deferred mode for a particular user. Input Description WebFOCUS cookie information. Output Description Structure that contains XML for various Managed Reporting functions. The deferred status information is brought back from WebFOCUS in XML. Type MREReturn Type LogOnInfo

Example

Retrieving Status of Deferred Reports in Visual Basic .NET


In the following example, the status of WebFOCUS reports that were submitted in deferred mode is written to the DeferredStatus.xml file in the c:\temp directory.
Dim Dim Dim Dim Dim wfmre As New MR.WebFocus logon As New MR.LogOnInfo retMR As New MR.MREReturn newOutput As String tempfile As String

logon = wfmre.WebFocusLogOn("RepUser", "RepPass", "admin", "") retMR = wfmre.MREDeferStatus(logon) tempfile = "c:\temp\DeferredStatus.xml" newOutput = retMR.xml FileOpen(1, tempfile, OpenMode.Output) Print(1, newOutput) FileClose(1)

MR is the name of the Web Reference.

4-172

Information Builders

WebFOCUS Web Services Functions

Example

Retrieving Status of Deferred Reports in Java


In the following example, the status of WebFOCUS reports that were submitted in deferred mode is written to the DeferredStatus.xml file in the c:\temp directory. In the following example, the status of WebFOCUS Reports that where submitted in Deferred mode is written to a file DeferredStatus.xml in the c:\temp directory.
try { Stub stub = createProxy(); WebFocusSoap wfs = (WebFocusSoap)stub; LogOnInfo logon = wfs.webFocusLogOn("RepUser","RepPass","admin",""); MREReturn retMR = wfs.MREDeferStatus(logon); String newOutput = retMR.getXml(); File tempfile = new File("c:\\temp\\DeferredStatus.xml"); FileOutputStream fos = new FileOutputStream(tempfile); PrintWriter out=new PrintWriter(fos); out.println(newOutput); out.close(); }

private static Stub createProxy() { return (Stub)(new WebFocus_Impl().getWebFocusSoap()); }

WebFOCUS Web Services

4-173

Managed Reporting Functions

Example

Viewing XML Output Generated By MREDeferStatus


<?xml version="1.0" encoding="ISO-8859-1" ?> - <ibwfrpc name="MR_DEFER"> <RETURN_TYPE_VERSION>1</RETURN_TYPE_VERSION> - <MR_DEFER_CONTROL> - <DONE> - <TICKET_INFO flgs="1093017652,fexinfo=IBIMR_domain%3Duntitled%2Funtitled.htm%2CIBIMR_f older%3D%23financialrep%2CIBIMR_fex%3Dapp%2Fcarmain.fex%2CIBIMR_sub_actio n%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1085756821511%2C%2CIBIMR_ report_type%3D%2CIBIMR_checkboxcount%3D0%2C," href="#2004-08-20-10-0108cmrpip000015_edaserve" desc="Car Main"> <USER_ID currentId="" submitId="RepUser" /> <DELETE allowed="false" /> <VIEW allowed="false" /> <SAVE allowed="false" /> <PARAMETERS allowed="false" /> <EXPIRES days="25" /> <DOMAIN href="untitled/untitled.htm" /> <OBJTYPE val="MR_STD_REPORT" /> <FOLDER href="#financialrep" /> <FOCEXEC href="app/carmain.fex" /> </TICKET_INFO> - <TICKET_INFO flgs="1093017681,fexinfo=IBIMR_domain%3Duntitled%2Funtitled.htm%2CIBIMR_f older%3D%23financialrep%2CIBIMR_fex%3Dapp%2Fcentplac.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1083007374600%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2CSEL_PERIOD%3D2002%2F06%2C," href="#2004-08-20-10-01-08cmrpip000016_edaserve" desc="centpl_actbud"> <USER_ID currentId="" submitId="RepUser" /> <DELETE allowed="false" /> <VIEW allowed="false" /> <SAVE allowed="false" /> <PARAMETERS allowed="false" /> <EXPIRES days="25" /> <DOMAIN href="untitled/untitled.htm" /> <OBJTYPE val="MR_STD_REPORT" /> <FOLDER href="#financialrep" /> <FOCEXEC href="app/centplac.fex" /> </TICKET_INFO> - <TICKET_INFO flgs="1093017713,fexinfo=IBIMR_domain%3Dwebservi%2Fwebservi.htm%2CIBIMR_f older%3D%23soapadapterk%2CIBIMR_fex%3Dapp%2Fzoh9uv5k.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1088775483508%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2CTICKER%3DSIRI%2C," href="#2004-08-20-10-01-08cmrpip000017_edaserve" desc="Get Stock Quotes"> <USER_ID currentId="" submitId="RepUser" />

4-174

Information Builders

WebFOCUS Web Services Functions

<DELETE allowed="false" /> <VIEW allowed="false" /> <SAVE allowed="false" /> <PARAMETERS allowed="false" /> <EXPIRES days="25" /> <DOMAIN href="webservi/webservi.htm" /> <OBJTYPE val="MR_STD_REPORT" /> <FOLDER href="#soapadapterk" /> <FOCEXEC href="app/zoh9uv5k.fex" /> </TICKET_INFO> </DONE> <RUNNING /> - <QUEUED> - <TICKET_INFO flgs="1093438271,fexinfo=IBIMR_domain%3Dwebservi%2Fwebservi.htm%2CIBIMR_f older%3D%23soapadapterk%2CIBIMR_fex%3Dapp%2Fgetplaye.fex%2CIBIMR_sub_acti on%3DMR_STD_REPORT%2CIBIC_user%3D%2CIBIMR_time%3D1076538938288%2C%2CIBIMR _report_type%3D%2CIBIMR_checkboxcount%3D0%2C," href="#2004-08-25-08-3024cmrpip000012_edaserve" desc="GetPlayers"> <USER_ID currentId="" submitId="RepUser" /> <DELETE allowed="false" /> <VIEW allowed="false" /> <SAVE allowed="false" /> <PARAMETERS allowed="false" /> <EXPIRES days="29" /> <DOMAIN href="webservi/webservi.htm" /> <OBJTYPE val="MR_STD_REPORT" /> <FOLDER href="#soapadapterk" /> <FOCEXEC href="app/getplaye.fex" /> </TICKET_INFO> </QUEUED> <UNKNOWN /> </MR_DEFER_CONTROL> <RETURNCODE>1000</RETURNCODE> </ibwfrpc>

WebFOCUS Web Services

4-175

Managed Reporting Functions

4-176

Information Builders

CHAPTER 5

WebFOCUS Web Services Adapter

Topics: Reporting From Data Returned From a Web Service Configuring the Web Service Connection Creating Metadata Metadata Mapping Reporting Against a Web Service

This topic explains the process of giving WebFOCUS the ability to report from data returned by a Web Service.

WebFOCUS Web Services

5-1

Reporting From Data Returned From a Web Service

Reporting From Data Returned From a Web Service


Many companies do not allow direct access to their data repositories like DB/2, ORACLE, and SQL Server. The access to the data may only be permitted through an application. These applications may also contain specific business logic that massages the data read from the various databases before it can be made ready for reporting by the user community. A direction which companies have been taking in order for one application to communicate with another application is via Web Services. Application development tools, such as Microsoft .NET and BEA WebLogic, have utilities which allow for the creation of Web Services. These utilities produce a Web Services Description Language (WSDL) file describing the contents of the Web Service. The WSDL file contains all the information needed for communicating with a Web Service. Some of the information contained in this file includes metadata on the following: How to connect to the Web Service. Functions included in the Web Service. Input parameters and output for each of the Web Service functions.

With Databases, like DB/2, ORACLE, and SQL Server, metadata is needed for WebFOCUS to read these types of tables. The WebFOCUS metadata is in the form of a Master File that describes the fields and field formats within a table and an Access file that describes the location of the table within the enterprise. A connection string is also needed for authentication to the database. The WebFOCUS Reporting Server Web Console is used to configure WebFOCUS for connecting to the appropriate database and creating the metadata needed for WebFOCUS to read the associated tables. With Web Services, the Web Console is used in a similar way to configure the connection information for WebFOCUS to communicate with the Web Service and the creation of metadata for each of the Web Service functions. Instead of pointing to a database catalog to create the metadata for a table, the WSDL file is used as the source for the Web Console Metadata Creation utility to create the metadata for each of the Web Service functions.

5-2

Information Builders

WebFOCUS Web Services Adapter

Configuring the Web Service Connection


The WSDL file is the source for the WebFOCUS Reporting Server configuration. The location of the WSDL file must first be determined before the configuration can proceed. 1. Go to the WebFOCUS Reporting Server Web Console and click Data Adapters.

2. To configure the reference to the WSDL file, click Web Services and select Add connection if a configured Web Service connection already exists. Otherwise, click Web Services under the Procedures adapter grouping.

WebFOCUS Web Services

5-3

Configuring the Web Service Connection

3. Enter a Connection Name and the location of the WSDL file in the form http:// or file:// and click Next.

4. The drop-down list showing the End Points will be displayed. In most cases, there will be only one End Point. Select the End Point and click the Configure button.

5-4

Information Builders

WebFOCUS Web Services Adapter

5. The following message appears:


Web Services successfully added to configuration

The connection information is added to the edasprof.prf file within the \ibi\srv53\wfs\etc directory. For example,
ENGINE SOAP SET CONNECTION_ATTRIBUTES STOCKS/,:'http://www.xignite.com/ xquotes.asmx http://www.xignite.com/xquotes.asmx?WSDL'

Creating Metadata
Once the Web Service connection information is configured, the location of the WSDL file is also stored within the WebFOCUS Connections Configuration file (edasprof.prf ). The WSDL file is used for creating the metadata needed for communicating with each of the Web Service functions. 1. In the WebFOCUS Reporting Server Console, under Configured Web Services Adapter Connections, click the connection name for the Web Service and select Create Synonym.

WebFOCUS Web Services

5-5

Creating Metadata

2. To bring up a list of all functions within the Web Service, click Select Operations. To filter the list of functions within the Web Service, check the Filter Operations by Name box. An input box appears. Enter the selection criteria and click Select Operations. The example below filters all functions starting with Get:

3. Check the boxes for the functions in which metadata is to be created. 4. Select the application from the drop-down list in which the metadata is to be stored. By default, the Validate box is checked. The Validate option converts all special characters to underscores and performs a name check adjusting the use of reserved names. When this option is unchecked, only minimal special character checking is performed and no name checking. All Element names within the WSDL file are converted to upper case and are placed in the FIELDNAME within the Master File. The ALIAS within the Master File is populated with the Element name intact with its original case. If duplicate field names exist after the conversion to upper case, the Create Synonym process can make the FIELDNAMEs unique by concatenating an occurrence value to the FIELDNAME. To do this, check the Make Unique box. Master Files are named according to the name of the Web Service function. If the Master File already exists in the application selected, check the Overwrite existing synonyms box.

5-6

Information Builders

WebFOCUS Web Services Adapter

5. Click Create Synonym.

The following message appears:


All Synonyms Created Successfully

WebFOCUS Web Services

5-7

Metadata Mapping

Metadata Mapping
In the Create Synonym process, a data type for an element is mapped to a USAGE and ACTUAL format for a FIELDNAME. Even though WSDL supports FACETS which define the length of an element, most WSDL files just define the data type for each element. Therefore, the format length for each FIELDNAME is created with a default depending on the XSD data type. You can then modify these lengths manually by either using the File tool or editing the Master File in an editor. The Data Type Table lists the supported data types and the corresponding default formats. Data Type Table XSD Data Type string double float decimal int short long boolean dateTime time date gYearMonth gYear gMonthDay gDay gMonth integer nonPositiveInteger 5-8 USAGE A30 D20.2 F15.2 P20.3 I11 I6 P20 A5 HYYMDm HHISsm YYMD HYYM HYY HMD HD HM P33 P33 ACTUAL A30 A20 A15 A20 A11 A6 A20 A5 A27 A15 A10 A8 A5 A6 A3 A4 A33 A33 Information Builders

WebFOCUS Web Services Adapter

XSD Data Type negativeInteger nonNegativeInteger unsignedLong unsignedInt unsignedShort positiveInteger byte unsignedByte normalizedString token Name NMTOKEN ID hexBinary language anyURI QName

USAGE P33 P32 P20 P10 I5 P32 I4 I4 A30 A30 A30 A30 A30 A30 A30 A30 A30

ACTUAL A33 A32 A20 A10 A5 A32 A4 A4 A30 A30 A30 A30 A30 A30 A30 A30 A30

WebFOCUS Web Services

5-9

Metadata Mapping

The following shows the elements for the input and output for the GetQuotes Web Service function:
- <s:element name="GetQuotes"> - <s:complexType> - <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" /> </s:sequence> </s:complexType> </s:element> - <s:element name="GetQuotesResponse"> - <s:complexType> - <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="GetQuotesResult" type="s0:ArrayOfQuote" /> </s:sequence> </s:complexType> </s:element> - <s:complexType name="ArrayOfQuote"> - <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="Quote" nillable="true" type="s0:Quote" /> </s:sequence> </s:complexType> - <s:complexType name="Quote"> - <s:complexContent mixed="false"> - <s:extension base="s0:Common"> - <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Time" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="Open" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="High" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Low" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Last" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Volume" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="Change" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="PercentChange" type="s:double" /> <s:element minOccurs="0" maxOccurs="1" name="Previous_Close" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Bid" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Bid_Size" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Ask" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Ask_Size" type="s:string" />

5-10

Information Builders

WebFOCUS Web Services Adapter

<s:element minOccurs="0" maxOccurs="1" name="High_52_Weeks" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Low_52_Weeks" type="s:string" /> </s:sequence> </s:extension> </s:complexContent> </s:complexType>

The following is the Master File that gets created from the Create Synonym process:
FILENAME=M6ILO, SUFFIX=SOAP , $ SEGMENT=ROOT, SEGTYPE=S0, $ GROUP=GETQUOTES, ALIAS=GetQuotes, USAGE=A30, ACTUAL=A30, $ FIELDNAME=SYMBOL, ALIAS=Symbol, USAGE=A30, ACTUAL=A30, $ FIELDNAME=__RESPONSE, USAGE=TX80, ACTUAL=TX, $ SEGMENT=RESPONSE, SEGTYPE=S0, SEGSUF=XML , PARENT=ROOT, POSITION=__RESPONSE, $ FIELDNAME=RESPONSE, ALIAS=GetQuotesResponse, USAGE=A1, ACTUAL=A1, $ SEGMENT=GETQUOTESRESULT, SEGTYPE=S0, PARENT=RESPONSE, $ FIELDNAME=GETQUOTESRESULT, ALIAS=GetQuotesResult, USAGE=A1, ACTUAL=A1, REFERENCE=RESPONSE, PROPERTY=ELEMENT, $ SEGMENT=QUOTE, SEGTYPE=S0, PARENT=GETQUOTESRESULT, $ FIELDNAME=QUOTE, ALIAS=Quote, USAGE=A1, ACTUAL=A1, REFERENCE=GETQUOTESRESULT, PROPERTY=ELEMENT, $ FIELDNAME=SYMBOL1, ALIAS=Symbol, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=NAME, ALIAS=Name, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=DATE1, ALIAS=Date, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=TIME1, ALIAS=Time, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=OPEN1, ALIAS=Open, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=HIGH, ALIAS=High, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=LOW, ALIAS=Low, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=LAST, ALIAS=Last, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=VOLUME, ALIAS=Volume, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=CHANGE, ALIAS=Change, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=PERCENTCHANGE, ALIAS=PercentChange, USAGE=D20.2, ACTUAL=A20, REFERENCE=QUOTE, PROPERTY=ELEMENT, $

WebFOCUS Web Services

5-11

Metadata Mapping

FIELDNAME=PREVIOUS_CLOSE, ALIAS=Previous_Close, USAGE A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=BID, ALIAS=Bid, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=BID_SIZE, ALIAS=Bid_Size, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=ASK, ALIAS=Ask, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=ASK_SIZE, ALIAS=Ask_Size, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=HIGH_52_WEEKS, ALIAS=High_52_Weeks, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $ FIELDNAME=LOW_52_WEEKS, ALIAS=Low_52_Weeks, USAGE=A30, ACTUAL=A30, REFERENCE=QUOTE, PROPERTY=ELEMENT, $

The first segment contains the input parameters to the Web Service function. In the example above, SYMBOL is the only input parameter. Note: You should not reference fields with a format of A1 or TX in WebFOCUS Reporting. These fields are used for internal purposes only. WebFOCUS has to know certain information about how to access the Web Service function. This information exists in the ACCESS file which is derived from the WSDL file. The ACCESS file is created at the same time the Master File is created during the Create Synonym process. The following example shows certain information from the WSDL file that is used in the ACCESS file:
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.xignite.com/services/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://www.xignite.com/services/" xmlns="http://schemas.xmlsoap.org/wsdl/"> - <operation name="GetQuotes"> <soap:operation soapAction="http://www.xignite.com/services/GetQuotes" style="document" />

5-12

Information Builders

WebFOCUS Web Services Adapter

The following shows an example of an ACCESS file that gets created during the Create Synonym process:
SEGNAME=ROOT, CONNECTION=STOCKS, VERSION=1.1, OBJECT=GetQuotes, ACTION=http://www.xignite.com/services/GetQuotes, TARGETNS=http://www.xignite.com/services/, STYLE=DOCUMENT, $

Note the following mappings from the WSDL file to the ACCESS file:
targetNamespace="http://www.xignite.com/services/"

to
TARGETNS=http://www.xignite.com/services/ <operation name="GetQuotes">

to
OBJECT=GetQuotes

soapAction="http://www.xignite.com/services/GetQuotes"

to
ACTION=http://www.xignite.com/services/GetQuotes

style="document"

to
STYLE=DOCUMENT

WebFOCUS Web Services

5-13

Reporting Against a Web Service

Reporting Against a Web Service


There is very little difference when you have WebFOCUS access a Web Service versus a Relational Table like DB/2, ORACLE, or SQL Server. As noted in Metadata Mapping on page 5-8, you should not reference fields with a format of A1 or TX in WebFOCUS Reporting. These fields are used for internal purposes only. The manner in which input parameters are passed to a Web Service is via selection criteria. Multiple values in the selection criteria for a FIELD can be passed. A call to the Web Service is made for each value and output would be contained in one report. The following example shows the selection criteria for the Web Service function GetQuotes within the WebFOCUS Developer Studio environment. Note that two values are passed to the GetQuotes function.

5-14

Information Builders

WebFOCUS Web Services Adapter

The following example shows output from the report accessing the GetQuotes Web Service function:

Note: Web Service functions with input definitions containing arrays are not supported.

WebFOCUS Web Services

5-15

Reporting Against a Web Service

5-16

Information Builders

CHAPTER 6

Troubleshooting WebFOCUS Web Services

Topics: Troubleshooting Steps Debugging WebFOCUS Web Services Adapter

This topic provides information about troubleshooting Web Services.

WebFOCUS Web Services

6-1

Troubleshooting Steps

Troubleshooting Steps
This topic describes the steps you must perform to aid the debugging process of an application that calls WebFOCUS Web Services: 1. Run UDDI Traces. When running an application that calls WebFOCUS Web Services, the UDDI Trace facility can be invoked to help debug a program. Some of the reasons for this type of tracing include the abending of a program when the WebFOCUS Web Service function is being executed or the output of the Web Service function call is not the expected result. a. To turn on UDDI tracing, access the following URL:
http://Target Machine/ibi_apps/tracing.jsp

where: Target Machine Is the location where WebFOCUS is installed. b. In the UDDI trace box, select true to turn on traces and click the Apply Settings button.

6-2

Information Builders

Troubleshooting WebFOCUS Web Services

c.

Run your application.

After your application has either abended or completed executing, go back to the Tracing page and click the Refresh button. Note that there is a trace file for each WebFOCUS Web Service function call.

d. To turn off UDDI traces, select false in the UDDI trace box and click Apply Settings.

WebFOCUS Web Services

6-3

Troubleshooting Steps

2. Check authentication. When you run the WebFocusLogOn function, the authentication status has to be equal to true. You can determine this by interrogating the status in the LogOnInfo structure after this function is run or by looking in the trace file to see whether the authentication was successful. The following would be the lines in the trace file if the authentication was successful:
57:719:| -- mre rc1000 58:729: after mre signedOn = true 59:769: after wf signedOn = true

The following would be the lines in the trace file if the authentication was unsuccessful:
57:811: -- mre rc1005 58:821: after mre signedOn = false 59:831: after wf signedOn = false

3. Ensure that parameters are passed correctly. Verify with the documentation that the Web Service function is being called correctly. When setting the ValuesArrayEntry structure to pass parameters to a WebFOCUS report using the WebFocusRunFex function, ensure that the Name and Value (or StringArray) are set properly for each parameter. Use the WebFocusFexReflection function for determining the current parameters of the WebFOCUS report.

6-4

Information Builders

Troubleshooting WebFOCUS Web Services

Debugging WebFOCUS Web Services Adapter


The following detail the steps needed for aiding in debugging problems that occur when WebFOCUS is accessing a Web Service: 1. Does not support arrays as input. The WebFOCUS Web Services Adapter does not support Web Service functions where the input to the function contains an array. Interrogate the WSDL file for the Web Service to ensure that this is not the case. 2. Ensure that the Connection String, Master File and Access File are up to date As with any development environment that supports Web Services, the connectivity to the Web Service is only as current as the last time the WSDL file was consumed. If for any reason the Web Service has been modified, this would mean the WSDL file would have to be consumed again. If the changes to the Web Service were minimal, you can manually update the connection string by editing the edasprof.prf file from within the WebFOCUS Reporting Server Web Console. You can manually update the Master File and Access File with metadata changes. 3. Ensure that parameters are passed correctly. Check to make sure that all the input parameters to the Web Service are being passed via the Report Selection criteria (WHERE command). If the Web Service is expecting certain values as input and these values are not set in the WebFOCUS Selection Criteria, zero records will be returned to WebFOCUS. 4. Ensure that the application that the Web Service is accessing is up. The transfer protocol for Web Services is usually HTTP. If the application that the Web Service is accessing is not up, an HTTP 404 error would probably be displayed. 5. Ensure that the Master File and Access File were created successfully. Verify that the metadata within the Master File created with Create Synonym matches what is defined in the WSDL file. Verify that the Access File created with Create Synonym matches what is defined in the WSDL file. Verify that the connection string in the edasprof.prf file matches the connection information in the WSDL file.

WebFOCUS Web Services

6-5

Debugging WebFOCUS Web Services Adapter

6-6

Information Builders

Index
Symbols
.NET development environment 1-1 .NET environment consume process 2-16 array of table information structures 3-26 authentication 4-2 WebFocusLogOn function 4-2 to 4-3 authentication structure 3-2

A
adding domains to a group 4-108 to 4-109 MREAddDomaintoGroup function 4-108 to 4-109 adding groups to a user 4-104 MREAddGrouptoUser function 4-104 to 4-105 adding reporting objects folders 4-124 MRECreateReportingObjectFolder function 4-124 to 4-126 adding Standard Reports folders 4-116 MRECreateStandardReportFolder function 4-116 to 4-118 API commands 4-80 to 4-82 running 4-80 to 4-82, 4-168 to 4-170 applications 4-36 copying 4-58 creating 4-52 to 4-53 deleting 4-54 deleting files from 4-62 listing 4-36 listing files in 4-39 renaming 4-56 retrieving files from 4-60 saving files in 4-66 array of column information structure 3-28 array of reporting server information structure 3-25

C
changing user information 4-101 MRESetUserFlags function 4-101 to 4-103 column information structure 3-28 configuration information 4-75 configuring the Web Service connection 5-3 connection 5-3 configuring 5-3 consume process 2-16, 2-19 CookiesArrayEntry 3-4 copying applications 4-58 WebFocusAppCopyAll function 4-58 to 4-59 creating applications 4-52 to 4-53 WebFocusAppCreate function 4-52 to 4-53 creating new domains 4-92 MRECreateDomain function 4-92 to 4-93 creating new groups 4-94 MRECreateGroup function 4-94 to 4-95 creating new users 4-95 MRECreateUser function 4-95 to 4-96 creating other files 4-155 MRECreateOtherReport function 4-155 to 4-156, 4-158 creating reporting objects 4-143 MRECreateReportingObject function 4-143 to 4-144, 4-147

WebFOCUS Web Services

I-1

Index creating Standard Reports 4-132 MRECreateStandardReport function 4-132, 4-134 to 4-135 Custom Cookies structure 3-4 deleting Standard Reports folders 4-122 MREDeleteStandardReportFolder function 4-122 to 4-123 deleting users 4-114 MREDeleteUser function 4-114 to 4-115 development environments 1-1 DBInfo 3-26 DBInfoEntry 3-26 deferred reports 4-172 to 4-173 retrieving status 4-172 to 4-173 deleting applications 4-54 WebFocusAppDelete function 4-54 to 4-55 deleting domains from a group 4-110 MREDeleteDomainfromGroup function 4-110 to 4-111 deleting files 4-62 WebFocusAppDeleteFile function 4-62 to 4-63 deleting groups 4-112 MREDeleteGroup function 4-112 to 4-113 deleting groups from a user 4-106 MREDeleteGroupFromUser function 4-106 to 4-107 deleting other files 4-161 MREDeleteOtherReport function 4-161 to 4-163 deleting reporting object folders 4-130 MREDeleteReportingObjectFolder function 4-130 to 4-131 deleting reporting objects 4-152 MREDeleteReportingObject function 4-152 to 4-154 deleting Standard Reports 4-140 MREDeleteStandardReport function 4-140 to 4-142 domains 4-86 adding to a group 4-108 creating 4-92 deleting from groups 4-110 getting list of 4-86 opening 4-164 renaming 4-97

F
FexInfo 3-16 files 4-41 creating other 4-155 deleting 4-161 deleting from an application 4-62 listing in application 4-39 renaming 4-159 retrieving within an application 4-60 saving in applications 4-66 finding the parameters of a WebFOCUS report 4-22 WebFocusRunFexReflection 4-22 to 4-23 FOCUS functions 4-69 running 4-69 functions 4-85 choosing for WSDL files 2-14 creating reports as functions 2-3, 2-6 obtaining WebFOCUS code for reports created as functions 4-85 to 4-86 retrieving parameters in WebFOCUS reports 4-83 to 4-84 WebFOCUS Web Services functions 4-2

I-2

Information Builders

Index

G
getting configuration information 4-75 WebFocusWSDLInfo function 4-75 to 4-76 getting list of domains 4-86 MREGetDomains function 4-86 to 4-87 getting list of domains for a user 4-88 MREGetUserDomains function 4-88 to 4-89 getting list of groups 4-89 MREGetGroups function 4-89 to 4-90 getting list of users 4-91 MREGetUsers function 4-91 to 4-92 graph output 3-7 to 3-8 .gif format 3-7 .jpeg format 3-8 .png format 3-8 .svg format 3-8 graphs 3-12 .gif format 3-12 .jpeg format 3-12 .png format 3-13 .svg format 3-13 groups 4-89 adding domains to 4-108 adding to a user 4-104 creating 4-94 deleting 4-112 deleting domains 4-110 deleting from users 4-106 listing 4-89

L
LinkArrayEntry structure 3-10 listing applications 4-36 WebFocusListApps 4-36 to 4-38 listing files within an application 4-39 WebFocusListFexs function 4-39 to 4-41 listing Master File information 4-45 WebFocusMasterInfo function 4-45 to 4-46 listing tables 4-42 WebFocusDBInfo function 4-42 to 4-44 listing values for a column 4-47 WebFocusFieldValues 4-47 to 4-49 listing WebFOCUS Reporting Servers WebFocusListServers 4-34 to 4-35 LogOnInfo 3-2

M
Managed Reporting API commands 4-168 to 4-170 running 4-168 to 4-170 Managed Reporting functions return structure 3-32 mapping metadata 5-8 Master Files 4-45 listing information 4-45 MasterInfo 3-28 MasterInfoEntry 3-28 metadata 5-8 creating 5-5 mapping 5-8 MREAddDomaintoGroup function 4-108 to 4-109 MREAddGrouptoUser function 4-104 to 4-105 MREAPI function 4-168 MREChangeUserPassword function 4-99 to 4-100

J
J2EE development environment 1-1 Java environment 2-19 consume process 2-19

WebFOCUS Web Services

I-3

Index MRECreateDomain function 4-92 to 4-93 MRECreateGroup function 4-94 to 4-95 MRECreateOtherReport function 4-155 to 4-156, 4-158 other file flags 4-156 MRECreateReportingObject function 4-143 to 4-144, 4-147 reporting object flags 4-144 MRECreateReportingObjectFolder function 4-124 to 4-126 MRECreateStandardReport function 4-132, 4-134 to 4-135 report flags 4-133 MRECreateStandardReportFolder function 4-116 to 4-118 MRECreateUser function 4-95 to 4-96 MREDeferStatus function 4-172 MREDeleteDomainfromGroup function 4-110 to 4-111 MREDeleteGroup function 4-112 to 4-113 MREDeleteGroupFromUser function 4-106 to 4-107 MREDeleteOtherReport function 4-161 to 4-163 MREDeleteReportingObject function 4-152 to 4-154 MREDeleteReportingObjectFolder function 4-130 to 4-131 MREDeleteStandardReport function 4-140 to 4-142 MREDeleteStandardReportFolder function 4-122 to 4-123 MREDeleteUser function 4-114 to 4-115 MREGetDomains function 4-86 to 4-87 MREGetGroups function 4-89 to 4-90 MREGetUserDomains function 4-88 to 4-89 MREGetUsers function 4-91 to 4-92 MREOpenDomain function 4-164 to 4-165 MRERenameDomain function 4-97 to 4-98 MRERenameOtherReport function 4-159 to 4-160 MRERenameReportingObject function 4-149 to 4-151 MRERenameReportingObjectFolder function 4-127 to 4-129 MRERenameStandardReport function 4-137 to 4-139 MRERenameStandardReportFolder function 4-119 to 4-121 MREReturn 3-32 MRESetUserFlags function 4-101 to 4-103 user flags 4-101 multi-select WHERE statement 4-77 creating 4-77 multi-select WHERE statements creating 4-78 to 4-79

O
obtaining for a report created as a function WebFOCUS code 4-85 to 4-86 opening domains 4-164 MREOpenDomain function 4-164 to 4-165 other file flags 4-156

P
parameters 4-83 to 4-84 retrieving 4-83 to 4-84 passing a drill-down URL to WebFOCUS 4-30 WebFocusDrill function 4-30, 4-32 to 4-33 Information Builders

I-4

Index

R
renaming a domain 4-97 MRERenameDomain function 4-97 to 4-98 renaming an application 4-56 WebFocusAppRename function 4-56 to 4-57 renaming domains 4-97 MRERenameDomain function 4-97 renaming files 4-64 WebFocusAppRenameFile function 4-64 to 4-65 renaming other files 4-159 MRERenameOtherReport function 4-159 to 4-160 renaming reporting object folders 4-127 MRERenameReportingObjectFolder function 4-127 to 4-129 renaming reporting objects 4-149 MRERenameReportingObject function 4-149 to 4-151 renaming Standard Reports 4-137 MRERenameStandardReport function 4-137 to 4-139 renaming Standard Reports folders 4-119 MRERenameStandardReportFolder function 4-119 to 4-121 report flags 4-133 report links structure 3-10 report output structure 3-5, 3-7 to 3-8 report parameters structure 3-19 reporting against a Web Service 5-14 reporting object flags 4-144 reporting object folders deleting 4-130 renaming 4-127 WebFOCUS Web Services

reporting objects creating 4-143 deleting 4-152 renaming 4-149 reporting objects folders adding 4-124 reporting server information structure 3-24 retrieving files within an application 4-60 WebFocusAppGetFile function 4-60 to 4-61 retrieving WebFOCUS code 4-50 WebFocusGetFexText function 4-50 to 4-51 run report structure 3-16 running FOCUS functions 4-69 WebFocusStandardFex function 4-69 to 4-72 running links brought back in a WebFOCUS report 4-24 WebFocusLink function 4-24 to 4-26, 4-28 running WebFOCUS reports 4-4, 4-7 to 4-8 WebFocusRunFex function 4-8 to 4-12, 4-14, 4-17, 4-20 to 4-21

S
saving files within applications 4-66 WebFocusAppPutFile function 4-66 to 4-68 ServerInfo 3-24 ServersArray 3-25 setting passwords 4-99 MREChangeUserPassword function 4-99 to 4-100 Standard Reports 4-132 creating 4-132 deleting 4-140 Standard Reports folders 4-117 adding 4-116 deleting 4-122 renaming 4-119 I-5

Index structures 3-1 to 3-2 CookiesArrayEntry 3-4 DBInfo 3-26 DBInfoEntry 3-26 FexInfo 3-16 graphs 3-12 to 3-13 LinkArrayEntry 3-10 LogOnInfo 3-2 MasterInfo 3-28 MasterInfoEntry 3-28 MREReturn 3-32 ServerInfo 3-24 ServersArray 3-25 ValuesArrayEntry 3-19 WebFocusReturn 3-5, 3-7 to 3-8 WSDLInfoEntry 3-31 WSDLInfoStruct 3-30

V
values 4-47 listing for column 4-47 ValuesArrayEntry 3-19

W
Web Services 1-1 to 1-2, 2-1 to 2-2, 3-1 to 3-2 configuring the Web Service connection 5-3 creating metadata 5-5 mapping metadata 5-8 reporting against a Web Service 5-14 reporting from data returned from a Web Service 5-2 troubleshooting 6-1 to 6-2, 6-5 Web Services structures 3-1 to 3-2 WebFOCUS API commands 4-80 to 4-82 running 4-80 to 4-82 WebFOCUS code 4-85 to 4-86 retrieving 4-50 WebFOCUS Reporting Servers listing 4-34 WebFOCUS reports 4-83 to 4-84 created as functions 4-83 to 4-84 WebFOCUS Web Services 1-1 to 1-2, 2-1 to 2-2, 3-1 to 3-2 structures 3-1 to 3-2 WebFOCUS Web Services Adapter 5-2 WebFOCUS Web Services adapter 5-1 WebFOCUS Web Services functions 4-1 to 4-2 MREAddDomaintoGroup function 4-108 to 4-109 MREAddGrouptoUser function 4-104 to 4-105 MREAPI function 4-168 MREChangeUserPassword function 4-99 to 4-100 MRECreateDomain function 4-92 to 4-93 Information Builders

T
table information structures 3-26 tables 4-42 listing 4-42 troubleshooting Web Services 6-1 to 6-2, 6-5 turning UDDI traces on and off 4-73 WebFocusTracing function 4-73 to 4-74

U
user flags 4-101 users adding groups to 4-104 changing information 4-101 creating 4-95 deleting 4-114 deleting groups from 4-106 domains 4-88 listing 4-91

I-6

Index

WebFOCUS Web Services functions (continued) MRECreateGroup function 4-94 to 4-95 MRECreateOtherReport function 4-155 to 4-156, 4-158 MRECreateReportingObject function 4-143 to 4-144, 4-147 MRECreateReportingObjectFolder function 4-124 to 4-126 MRECreateStandardReport function 4-132, 4-134 to 4-135 MRECreateStandardReportFolder function 4-116 to 4-118 MRECreateUser function 4-95 to 4-96 MREDeferStatus function 4-172 MREDeleteDomainfromGroup function 4-110 to 4-111 MREDeleteGroup function 4-112 to 4-113 MREDeleteGroupFromUser function 4-106 to 4-107 MREDeleteOtherReport function 4-161 to 4-163 MREDeleteReportingObject function 4-152 to 4-154 MREDeleteReportingObjectFolder function 4-130 to 4-131 MREDeleteStandardReport function 4-140 to 4-142 MREDeleteStandardReportFolder function 4-122 to 4-123 MREDeleteUser function 4-114 to 4-115 MREGetDomains function 4-86 to 4-87 MREGetGroups function 4-89 to 4-90 MREGetUserDomains function 4-88 to 4-89 MREGetUsers function 4-91 to 4-92 MREOpenDomain function 4-164 to 4-165 MRERenameDomain function 4-97 to 4-98 MRERenameOtherReport function 4-159 to 4-160 MRERenameReportingObject function 4-149 to 4-151 MRERenameReportingObjectFolder function 4-127 to 4-129 WebFOCUS Web Services

WebFOCUS Web Services functions (continued) MRERenameStandardReport function 4-137 to 4-139 MRERenameStarndardReportFolder function 4-119 to 4-121 MRESetUserFlags function 4-101 to 4-103 reports 4-7 to 4-8 running WebFOCUS reports 4-7 to 4-8 WebFocus LogOn function 4-2 to 4-3 WebFocusAPI function 4-80 WebFocusAppCopyAll function 4-58 to 4-59 WebFocusAppCreate function 4-52 to 4-53 WebFocusAppDelete function 4-54 to 4-55 WebFocusAppDeleteFile function 4-62 to 4-63 WebFocusAppPutFile function 4-66 to 4-68 WebFocusAppRename function 4-56 to 4-57 WebFocusAppRenameFile function 4-64 to 4-65 WebFocusDBInfo function 4-42 to 4-44 WebFocusDrill function 4-30, 4-32 to 4-33 WebFocusFieldValues function 4-47 to 4-49 WebFocusFormatWhere function 4-77 WebFocusGetFexText function 4-50 to 4-51 WebFocusLink 4-26, 4-28 WebFocusLink function 4-24 to 4-25 WebFocusListApps function 4-36 to 4-38 WebFocusListFexs function 4-39 to 4-41 WebFocusListServers function 4-34 to 4-35 WebFocusMasterInfo function 4-45 to 4-46 WebFocusRexReflection 4-22 to 4-23 WebFocusRunFex function 4-8 to 4-12, 4-14, 4-17, 4-20 to 4-21 WebFocusStandardFex 4-69 to 4-72 WebFocusTracing function 4-73 to 4-74 WebFocusWSDLInfo function 4-75 to 4-76 WebFOCUS WSDL creation utility 2-1 to 2-2 WebFocusAPI 4-80 WebFocusAPI function 4-80 WebFocusAppCopyAll function 4-58 to 4-59 WebFocusAppCreate function 4-52 to 4-53 I-7

Index WebFocusAppDelete function 4-54 to 4-55 WebFocusAppDeleteFile function 4-62 to 4-63 WebFocusAppGetFile function 4-60 to 4-61 WebFocusAppPutFile function 4-66 to 4-68 WebFocusAppRename function 4-56 to 4-57 WebFocusAppRenameFile function 4-64 to 4-65 WebFocusDBInfo function 4-42 to 4-44 WebFocusDrill function 4-30, 4-32 to 4-33 WebFocusFieldValues function 4-47 to 4-49 WebFocusFormatWhere function 4-77 WebFocusGetFexText function 4-50 to 4-51 WebFocusLink function 4-24 to 4-26, 4-28 WebFocusListApps function 4-36 to 4-38 WebFocusListFexs function 4-39 to 4-41 WebFocusListServers function 4-34 to 4-35 WebFocusLogOn function 4-2 to 4-3 WebFocusMasterInfo function 4-45 to 4-46 WebFocusReturn 3-5, 3-7 to 3-8 WebFocusRunFex function 4-8 to 4-12, 4-14, 4-17, 4-20 to 4-21 WebFocusRunFexReflection function 4-22 to 4-23 WebFocusStandardFex function 4-69 to 4-72 WebFocusTracing function 4-73 to 4-74 WebFocusWSDLInfo function 4-75 to 4-76 WHERE statements 4-78 to 4-79 WSDL creation utility 2-1 to 2-2 choosing functions for WSDL files 2-14 creating generic WSDL files 2-2 creating reports as Web Service functions 2-3, 2-6 WSDL files 2-16, 2-19 consuming WebFOCUS Web Services 2-16, 2-19 WSDL information details structure 3-31 WSDL information structure 3-30 WSDLInfoEntry 3-31 WSDLInfoStruct 3-30

I-8

Information Builders

Reader Comments
In an ongoing effort to produce effective documentation, the Documentation Services staff at Information Builders welcomes any opinion you can offer regarding this manual. Please use this form to relay suggestions for improving this publication or to alert us to corrections. Identify specific pages where applicable. You can contact us through the following methods: Mail: Documentation Services - Customer Support Information Builders, Inc. Two Penn Plaza New York, NY 10121-2898 (212) 967-0460 books_info@ibi.com http://www.informationbuilders.com/bookstore/derf.html

Fax: E-mail: Web form:

Name:_________________________________________________________________________________ Company:______________________________________________________________________________ Address:_______________________________________________________________________________ Telephone:____________________________________Date:_____________________________________ E-mail:_________________________________________________________________________________ Comments:

Information Builders, Two Penn Plaza, New York, NY 10121-2898 WebFOCUS Web Services Version 5 Release 3

(212) 736-4433 DN4500609.0904

Reader Comments

Information Builders, Two Penn Plaza, New York, NY 10121-2898 WebFOCUS Web Services Version 5 Release 3

(212) 736-4433 DN4500609.0904

Anda mungkin juga menyukai