Creating Web Services and Web Clients in Caché
[Home]  [Next]
InterSystems: The power behind what matters   
Class Reference   

Preface : 
Chapter 1: 
  1.1 Introduction to Caché Web Services
1.1.1 Creating Caché Web Services
1.1.2 Web Service as Part of a Web Application
1.1.3 The WSDL
1.1.4 Web Service Architecture
1.2 Introduction to Caché Web Clients
1.2.1 Creating Caché Web Clients
1.2.2 Web Client Architecture
1.3 Additional Features
1.4 Standards Supported in Caché
1.4.1 Basic Standards
1.4.2 WSDL Support in Caché
1.5 Key Points about the SAX Parser
Chapter 2: 
  2.1 Overview of Caché Web Services
2.2 Basic Requirements
2.2.1 Input and Output Objects That Do Not Need %XML.Adaptor
2.2.2 Using Result Sets as Input or Output
2.3 Simple Example
2.4 Creating a Web Service
2.4.1 Using the Web Service Wizard
2.4.2 Using the SOAP Wizard with an Existing WSDL
2.4.3 Subclassing an Existing Caché Web Service
2.5 Specifying Parameters of the Web Service
2.6 About the Catalog and Test Pages
2.6.1 Access to These Pages
2.6.2 Notes on These Pages
2.7 Viewing the WSDL
2.7.1 Viewing the WSDL
2.7.2 Generating the WSDL
2.7.3 Suppressing Internal Web Methods from the WSDL
Chapter 3: 
  3.1 Overview
3.1.1 Binding Style
3.1.2 Encoding Format
3.2 How Message Variation Is Determined
3.3 Examples of Message Variations
3.3.1 Wrapped Document/Literal
3.3.2 Message/Unwrapped Document/Literal
3.3.3 RPC/Encoded
3.3.4 RPC/Literal
Chapter 4: 
  4.1 Overview of the SOAP Wizard
4.2 Using the SOAP Wizard
4.3 Generating the Client Classes Programmatically
4.4 Modifying the Generated Client Classes
4.4.1 Adjusting the Generated Classes for Long Strings
4.4.2 Other Adjustments
4.5 Using the Generated Web Client Classes
4.5.1 Example 1: Using the Client That Uses Wrapped Messages
4.5.2 Example 2: Using the Client That Uses Unwrapped Messages
4.6 Adjusting Properties of a Web Client Instance
4.6.1 Changing the Endpoint for the Web Client
4.6.2 Configuring the Client to Use SSL
4.6.3 Specifying the SOAP Version
4.6.4 Other Adjustments
4.7 Using the HTTP Response
Chapter 5: 
  5.1 Default Fault Handling in a Web Service
5.2 Returning Custom SOAP Faults in a Caché Web Service
5.2.1 Methods to Create Faults
5.2.2 Macros for SOAP Fault Codes
5.3 Creating a Fault Object Manually
5.3.1 SOAP 1.1 Faults
5.3.2 SOAP 1.2 Faults
5.4 Adding WS-Addressing Header Elements When Faults Occur
5.5 Adding Other Header Elements When Faults Occur
5.6 Handling SOAP Faults and Other Errors in a Caché Web Client
5.6.1 Example 1: Try-Catch
5.6.2 Example 2: $ZTRAP
5.6.3 SSL Handshake Errors
Chapter 6: 
  6.1 Attachments and SOAP Message Packaging
6.1.1 SOAP Messages with All-Inline Parts (Default)
6.1.2 SOAP Messages with MTOM Packaging
6.1.3 SOAP with Attachments
6.2 Default Behavior of Caché Web Services and Web Clients
6.3 Forcing Responses as MTOM Packages
6.3.1 Effect on the WSDL
6.4 Forcing Requests as MTOM Packages
6.4.1 Effect on the WSDL
6.5 Controlling the MTOM Packaging
6.6 Example
6.6.1 Web Service
6.6.2 Web Client
Chapter 7: 
  7.1 Sending Attachments
7.2 Using Attachments
7.3 Example
7.3.1 Web Service
7.3.2 Web Client
Chapter 8: 
  8.1 Introduction to SOAP Header Elements in Caché
8.1.1 How Caché Represents SOAP Headers
8.1.2 Supported Header Elements
8.1.3 Header Elements and the WSDL
8.1.4 Required Header Elements
8.2 Defining Custom Header Elements
8.3 Adding a Custom Header Element to a SOAP Message
8.4 Specifying Supported Header Elements
8.5 Specifying the Supported Header Elements in an XData Block
8.5.1 Details
8.5.2 Inheritance of Custom Headers
8.5.3 Examples
8.6 Specifying the Supported Header Elements in the SOAPHEADERS Parameter
8.6.1 Inheritance of Custom Headers
8.7 Using Header Elements
Chapter 9: 
  9.1 Overview
9.2 Effect on the WSDL
9.3 Default WS-Addressing Header Elements
9.3.1 Default WS-Addressing Header Elements in Request Messages
9.3.2 Default WS-Addressing Header Elements in Response Messages
9.4 Adding WS-Addressing Header Elements Manually
9.5 Handling WS-Addressing Header Elements
Chapter 10: 
  10.1 Overview of SOAP Sessions
10.2 Enabling Sessions
10.3 Using Session Information
Chapter 11: 
  11.1 Introduction
11.2 Extending the WSDL for a Caché Web Service
11.3 Redefining a Caché Web Client to Use Binary SOAP
11.4 Specifying the Character Set
11.5 Details on the Caché Binary SOAP Format
Chapter 12: 
  12.1 About Datasets
12.2 Defining a Typed Dataset
12.3 Controlling the Dataset Format
12.4 Viewing the Dataset and Schema as XML
12.5 Effect on the WSDL
Chapter 13: 
  13.1 Disabling Access to the Online WSDL
13.2 Requiring a Username and Password
13.3 Controlling the XML Types
13.4 Controlling the Namespaces of the Schema and Types
13.4.1 Controlling the Namespace of the Schema
13.4.2 Controlling the Namespace of the Types
13.5 Including Documentation for the Types
13.6 Adding Namespace Declarations to the SOAP Envelope
13.7 Checking for Required Elements and Attributes
13.8 Controlling the Form of Null String Arguments
13.9 Controlling the Message Name of the SOAP Response
13.10 Overriding the HTTP SOAP Action and Request Message Name
13.11 Specifying Whether Elements Are Qualified
13.12 Controlling Whether Message Parts Use Elements or Types
13.13 Controlling Use of the xsi:type Attribute
13.14 Controlling Use of Inline References in Encoded Format
13.15 Specifying the SOAP Envelope Prefix
13.16 Restricting the SOAP Versions Handled by a Web Service
13.17 Sending Responses Compressed by gzip
13.18 Defining a One-Way Web Method
13.18.1 One-Way Web Methods and SOAP Headers
13.18.2 Dynamically Making a Web Method One Way
13.19 Adding Line Breaks to Binary Data
13.20 Adding a Byte-Order Mark to the SOAP Messages
13.21 Customizing the Timeout Period
13.22 Using Process-Private Globals to Support Very Large Messages
13.23 Customizing Callbacks of a Web Service
13.24 Specifying Custom Transport for a Web Service
13.24.1 Background
13.24.2 Defining Custom Transport for a Web Service
13.25 Defining Custom Processing in a Web Service
13.25.1 Overview
13.25.2 Implementing ProcessBodyNode()
13.25.3 Implementing ProcessBody()
Chapter 14: 
  14.1 Disabling Keep-Alive for a Web Client
14.2 Controlling the Form of Null String Arguments
14.3 Controlling the Client Timeout
14.4 Using a Proxy Server
14.5 Setting HTTP Headers
14.6 Specifying the HTTP Version to Use
14.7 Disabling SSL Server Name Checking
14.8 Controlling Use of the xsi:type Attribute
14.9 Controlling Use of Inline References for Encoded Format
14.10 Specifying the Envelope Prefix
14.11 Adding Namespace Declarations to the SOAP Envelope
14.12 Sending Responses Compressed by gzip
14.13 Quoting the SOAP Action (SOAP 1.1 Only)
14.14 Treating HTTP Status 202 Like Status 200
14.15 Defining a One-Way Web Method
14.16 Adding Line Breaks to Binary Data
14.17 Adding a Byte-Order Mark to the SOAP Messages
14.18 Using Process-Private Globals When Parsing
14.19 Creating Custom SOAP Messages
14.20 Specifying Custom HTTP Requests
14.21 Customizing Callbacks of a Web Client
14.22 Specifying Custom Transport from a Web Client
14.22.1 Background
14.22.2 Defining Custom Transport for a Caché Web Client
14.23 Specifying Flags for the SAX Parser
14.24 Using the WS-Security Login Feature
14.25 Using HTTP User Authentication
Chapter 15: 
  15.1 Information Needed for Troubleshooting
15.1.1 Caché SOAP Log
15.1.2 HTTP Trace in the CSP Gateway
15.1.3 Third-Party Tracing Tools
15.2 Problems Consuming WSDLs
15.3 Problems Sending Messages
Appendix A: 
  A.1 Web Service URLs
A.2 Using a Password-Protected WSDL URL
Appendix B: 
  B.1 Overview of WSDL Documents
B.2 Sample Web Service
B.3 Namespace Declarations
B.4 <service>
B.5 <binding>
B.6 <portType>
B.7 <message>
B.8 <types>
B.8.1 Name Attributes
B.8.2 Namespaces in <types>
B.8.3 Other Possible Variations
B.9 WSDL Variations Due to Method Signature Variations
B.9.1 Returning Values by Reference or as Output Parameters
B.10 Other WSDL Variations for Caché Web Services
B.10.1 WSDL Differences for Caché SOAP Sessions
B.10.2 WSDL Differences for Caché Binary SOAP Format
B.10.3 WSDL Differences for One-Way Web Methods
Appendix C: 
  C.1 Overview of the Generated Classes
C.2 Keywords That Control Encoding and Binding Style
C.3 Parameters and Keywords That Control Namespace Assignment
C.3.1 Namespaces for the Messages
C.3.2 Namespaces for the Types
C.4 Creation of Array Properties
C.5 Additional Notes on Web Methods in the Generated Class