www.openlinksw.com
docs.openlinksw.com

Book Home

Contents
Preface

Overview
Installation Guide
Quick Start & Tours
Sample ODBC & JDBC Applications
Conceptual Overview
Administration
Data Access Interfaces
SQL Reference
SQL Procedure Language Guide
Database Event Hooks
Data Replication, Synchronization and Transformation Services
Web Application Development
XML Support
RDF Data Access and Data Management
Web Services
SOAP
WSDL
FOAF+SSL Support
OAuth Support
WS-Security (WSS) Support in Virtuoso SOAP Server
Web Services Routing Protocol (WS-Routing)
Web Services Reliable Messaging Protocol (WS-ReliableMessaging)
Web Services Trust Protocol (WS-Trust)
XML for Analysis Provider
XML-RPC support
SyncML
UDDI
Exposing Persistent Stored Modules as Web Services
Testing Web Published Web Services
BPEL Reference
XSQL
Runtime Hosting
Internet Services
Free Text Search
TPC C Benchmark Kit
Using Virtuoso with Tuxedo
Appendix
Virtuoso Functions Guide

Abstract

The term Web Services describes an application of XML for exposing application functionality to disparate clients via the Web. This paradigm provides access to entire applications, modules, objects, functions, and methods via HTTP and other transport protocols. Web Services are inherently platform- and programming-language independent. Services can be developed in one language and consumed in another; this holds true irrespective of client or server host operating system combinations.

A collection of core XML-based specifications and standards work in concert to fulfill the Web services value proposition. These standards include:

Virtuoso enables stored procedures to be exposed as Web services that are consumable by any Web services-aware development tool, application, or environment. The stored procedures exposed by Virtuoso may be native stored procedures, or may be hosted in any third-party database that supports stored procedures, and is accessible via an ODBC or JDBC driver. In Virtuoso, exposing stored procedures as Web services does not require any programming effort. You simply identify the stored procedures to be exposed using the Virtuoso Administrative Interface.

This feature is immensely valuable in situations where organizations are seeking to transform time-tested stored procedures into Web Services without having to upgrade or change databases or host operating systems. In modern enterprises, such stored procedures drive mission-critical solutions; Virtuoso's approach to Web services enables you to maximize current investment while minimizing the need for rework.

Table of Contents

16.1. SOAP
16.1.1. Virtuoso SOAP Support Overview
16.1.2. Handling of SOAP HTTP Requests
16.1.3. Extending Datatypes for SOAP Objects
16.1.4. Inheritance of Datatypes for SOAP Objects
16.1.5. Complex Types in PL Procedure and UDT Method Definition
16.1.6. Complex Types in Procedure Definition using a pre-defined XML Schema datatypes
16.1.7. Default SOAP-SQL Datatype Mappings
16.1.8. Exposing Stored Procedures as SOAP Objects
16.1.9. Creation of SOAP proxy based on User Defined Types
16.1.10. Exposing User Defined Type Methods as SOAP Objects
16.1.11. Exposing Remote Third Party SQL Stored Procedures as SOAP Services
16.1.12. Virtuoso/PL SOAP Client
16.1.13. Execution Privileges
16.1.14. Custom Soap Server Support
16.1.15. PL Procedures and UDT Methods Syntax Affecting WSDL & SOAP Processing
16.1.16. Exposing & Processing SOAP Header Messages
16.1.17. Exposing & Processing SOAP Fault Messages
16.1.18. Document Literal Encoding
16.1.19. DIME encapsulation of SOAP messages
16.1.20. SOAP Endpoint Options
16.2. WSDL
16.2.1. Exposing Stored Procedures as WSDL Services
16.2.2. Exposing SQL Stored Procedures containing complex datatype definitions
16.2.3. Exposing Third Party SQL Stored Procedures as WSDL-Compliant Web Services
16.2.4. WSDL Descriptions of SOAP Header Messages
16.2.5. Importing A WSDL File & SOAP/WSDL Proxying
16.2.6. SOAP/WSDL Interoperability
16.3. FOAF+SSL Support
16.3.1. x.509 certificate
16.3.2. Setting up Virtuoso HTTPS
16.3.3. Setting Up Firefox
16.3.4. Configuring ODS Account to use FOAF+SSL
16.3.5. Testing the setup
16.3.6. FOAF+SSL ACLs
16.3.7. CA Keys Import using Conductor
16.3.8. Set Up X.509 certificate issuer, HTTPS listener and generate ODS user's certificates
16.4. OAuth Support
16.4.1. OAuth Access Tokens
16.4.2. Virtuoso OAuth server
16.4.3. OAuth Implementation in OpenLink Data Spaces
16.4.4. OAuth Generate Keys for ODS Controllers (Web Services)
16.4.5. ODS Ubiquity Commands
16.4.6. OAuth Test Tool for ODS Controllers
16.4.7. OAuth QA
16.5. WS-Security (WSS) Support in Virtuoso SOAP Server
16.5.1. Client and Server side Certificates & Keys
16.5.2. SOAP Server WS-Security Endpoint
16.5.3. Virtual Directory SOAP WSS Options
16.5.4. Accounting & Accounting Hook
16.5.5. Signature Templates
16.5.6. SOAP Client
16.6. Web Services Routing Protocol (WS-Routing)
16.6.1. Configuration
16.6.2. Traversing Message Paths
16.7. Web Services Reliable Messaging Protocol (WS-ReliableMessaging)
16.7.1. SOAP CLIENT API Extensions
16.7.2. WS-RM Sender API
16.7.3. WSRM Receiver API
16.7.4. WS-RM Protocol Endpoint Configuration
16.7.5. Message Examples
16.7.6. WS-RM Schema
16.8. Web Services Trust Protocol (WS-Trust)
16.9. XML for Analysis Provider
16.10. XML-RPC support
16.11. SyncML
16.12. UDDI
16.12.1. Concepts
16.12.2. Dealing with SOAP
16.12.3. Supported API Calls
16.12.4. Authorization Mechanism
16.12.5. UDDI API Calls
16.12.6. Examples
16.13. Exposing Persistent Stored Modules as Web Services
16.13.1. Publishing Stored Procedures as Web Services
16.13.2. XML Query Templates
16.13.3. Publishing VSE's as Web Services
16.14. Testing Web Published Web Services
16.15. BPEL Reference
16.15.1. Activities
16.15.2. Protocol Support
16.15.3. Process lifecycle
16.15.4. Using virtual directories
16.15.5. Process archiving
16.15.6. Configuration parameters
16.15.7. Process Statistics
16.15.8. Deployment file suitcase format
16.15.9. SQL API
16.15.10. BPEL XPath Functions
16.15.11. Tables
16.15.12. Errors
16.15.13. Samples
16.15.14. References
16.15.15. BPEL4WS VAD Package installation
16.16. XSQL
16.16.1. XSQL Syntax
16.16.2. XSQL Directives