Skip Headers
Oracle® Application Server Advanced Web Services Developer's Guide
10
g
Release 3 (10.1.3)
B25603-01
Home
Solution Area
Index
Next
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Intended Audience
Documentation Accessibility
Related Documents
Conventions
1
Ensuring Interoperable Web Services
Why is Interoperability Necessary?
Web Service Interoperability Organizations
General Guidelines for Creating Interoperable Web Services
Common Tips for Diagnosing and Solving Interoperability Issues
Invalid or Improperly Formatted WSDL
WSDLs Containing Proprietary Data Binding Extensions
Illegal XML Characters
Out of Sync SOAPAction Values
Understanding the soapAction WSDL Attribute
Null Values in SOAP Messages
Unsigned Schema Numeric Types
Loss of Precision
Tool Support for Interoperability
Capturing the Web Service Contract
Replaying the Message Payload
Analyzing the Interaction
Obtaining WS-I Tools
Limitations
Additional Information
2
Working with Message Attachments
Working with MIME Attachments
Assembling a Web Service Using swaRef MIME Attachments
Assembling a Web Service Top Down
Assembling a Web Service Bottom Up
Assembling a Web Service Using SWA MIME Attachments
Adding SOAP Faults with MIME Attachments
Specifying SOAP Faults with Attachments in the WSDL
Implementing a Method that Throws Faults with Attachments
Using SOAP Faults with Attachments on the Client
Working with Streaming Attachments
Assembling Streaming Attachments into a Web Service
Assembling a Web Service that Supports Streaming Attachments Bottom Up
Assembling a Web Service that Supports Streaming Attachments Top Down
WSDL Extensions for Streaming Attachments
Understanding the Streaming Attachments API
Interface for Attachments
Interface for Incoming Attachments
Interface for Outgoing Attachments
Interface for Attachment Objects
Factory Class for Attachment Objects
Working with DIME Attachments
Creating Interoperable DIME-Encoded Messages
Implementing Oracle-Proprietary DIME Encoding
Working with Attachments in WSIF
Limitations
Additional Information
3
Managing Web Services
Understanding Web Service Management
Web Services Management Environment
Web Service Management Life Cycle
Configuring Server-Side Management Information
Data Flow for Management Information in a J2SE Client
Configuring Management Information for a J2SE Client
Data Flow for Management Information in a J2EE Client
Configuring Management Information for a J2EE Client
Dynamic Client-Side Configuration
Static Client-Side Configuration
Application Server Control Support for Web Service Management
Working with Capability Assertions
How to Assemble Capability Assertions into a Web Service
Additional Information
4
Ensuring Web Services Security
Additional Information
5
Ensuring Web Service Reliability
Setting Up Reliability
Providing a Running Database
Installing SQL Tables for the Client and Server
Changing the Widths of Database Columns
Adding Reliable Messaging to a Web Service
Managing Reliability on the Server
Server-Side Reliability Configuration Elements
Port-Level Reliability Elements on the Server
Operation Level Reliability Elements on the Server
Capability Assertions and Reliability
Managing Reliability on the Client
Client-Side Reliability Configuration Elements
Port Level Reliability Elements on the Client
Operation Level Reliability Elements on the Client
Configuring Client-Side Database Support
Configuring Database Support for a J2SE Client
Configuring Database Support for a J2EE Client
Configuring a Listener for a J2EE Client
Dynamically Configuring Client-Side Reliability
Tool Support for Web Services Reliability
WebServicesAssembler Support for Web Service Reliability
Assembling Reliability into a Web Service Bottom Up
Assembling Reliability into a Web Service Top Down
Assembling Reliability into a J2SE Web Service Client Proxy
Assembling Reliability into a J2EE Web Service Client
Application Server Control Support for Web Service Reliability
JDeveloper Support for Web Service Reliability
Limitations
Additional Information
6
Auditing and Logging Messages
Understanding Auditing
Auditing and Performance
Processing Audit Messages
Auditing Request Messages
Auditing Response Messages
Auditing Fault Messages
Managing Auditing on the Server
Server-Side Auditing Configuration Elements
Managing Auditing on the Client
Understanding Logging
Logging and Performance
Processing Logging Messages
Logging Request Messages
Logging Response Messages
Logging Fault Messages
Managing Logging on the Server
Server-Side Logging Configuration Elements
Port-Level Logging Elements on the Server
Operation Level Logging Elements on the Server
Tool Support for Web Services Auditing and Logging
WebServicesAssembler Support for Web Service Auditing and Logging
Assembling Auditing and Logging into a Web Service Bottom Up
Assembling Auditing and Logging into a Web Service Top Down
Assembling Auditing into a J2SE Web Service Client Proxy
Assembling Auditing into a J2EE Web Service Client
Application Server Control Support for Auditing and Logging
JDeveloper Support for Auditing and Logging
Limitations
Additional Information
7
Custom Serialization of Java Value Types
The Custom Serialization Framework API
Using Custom Serialization in Web Service Development
Implementing a Custom Serializer
Defining a Custom Java Type Value Class
Developing a Custom Serializer Implementation for a Java Type Value Class
Developing a Service Endpoint Interface that Uses a Java Type Value Class
Creating an oracle-webservices Type Mapping Configuration
Using Custom Types in Client-Side Proxy Code
Using Custom Serialization in Top Down Web Service Development
Prerequisites
How to Use Custom Serialization in Top Down Web Service Development
Using Custom Serialization in Bottom Up Web Service Development
Prerequisites
How to Use Custom Serialization in Bottom Up Web Service Development
Ant Tasks for Generating a Web Service
Using Custom Serialization in Schema-Driven Web Service Development
Prerequisites
Schema-Driven Web Services Assembly with Custom Serialization
Sample Schema Document
Java Custom Type Implementation
Implementing a Serializer with Custom Marshalling Logic
Defining a Serializer Implementation with Marshalling Logic
Developing a Service Endpoint Interface and Implementation
Editing the Generated oracle-webservices Type Mapping Configuration XML File
Developing a Client for Custom Type Mapping and a Custom Serializer
How to Use Custom Serializers in Client Code
Limitations
Additional Information
8
Using JMS as a Web Service Transport
Understanding JMS as a Transport Mechanism
Data Flow for JMS Transport
Setting Up JMS Queues
Assembling a Web Service Bottom Up that Uses JMS Transport
WSDL Extensions for JMS Transport
JMS Address Element
JMS Property Value Element
Adding JMS Transport Configuration with Deployment Descriptors
Assembling a Web Service Top Down that Uses JMS Transport
Assembling a Proxy that Uses JMS as a Transport
Writing Client Code to Support JMS Transport
Writing Client Stub Code for JMS Transport
Setting the Send Queue Location and Connection Factory Programmatically
Writing DII Code for JMS Transport
Limitations
Additional Information
9
Using Web Services Invocation Framework
Understanding WSIF Architecture
Configuring a WSIF Endpoint for Java Classes
Configuring a WSIF Endpoint for a Single Java Port
Configuring a Single Java Port with wsifJavaBinding
Configuring a Single Java Port with wsifJavaPort
Configuring a WSIF Endpoint for Multiple Java Ports
WSIF Java Extensions to the WSDL
Configuring a WSIF Endpoint for EJBs
Configuring a WSIF Endpoint for a Single EJB Port
Configuring a Single EJB Port with wsifEjbBinding
Configuring a Single EJB Port with wsifEjbPort
Configuring a WSIF Endpoint for Multiple EJB Ports
WSIF EJB Extensions to the WSDL
Configuring a WSIF Endpoint for Database Resources
Configuring a WSIF Endpoint for a Single Database Resource Port
Configuring a Single Database Resource Port with wsifDbBinding
Configuring a Single Database Resource Port with wsifDbPort
Configuring a WSIF Endpoint for Multiple Database Resource Ports
WSIF SQL Extensions to the WSDL
Writing a WSIF Client
Writing a WSIF Client Using a Dynamic Proxy
Using genInterface to Generate a Service Endpoint Interface
Accessing the Database from a WSIF Client
Adding Management Configuration to a WSIF Client
Adding Message Attachments in WSIF
Adding Attachments with the WSIF API
Adding Attachments with the OracleCall API
Tool Support for WSIF
Limitations
Additional Information
10
Using Web Service Providers
What is a Provider?
Understanding the Provider API
Provider Interface
ProviderConfig Class
MessageContext Class
HTTPConstants Class
Provider Servlet
Making a Web Service Provider-Aware
Editing the oracle-webservices.xml Deployment Descriptor
Provider Elements in oracle-webservices.xml
Editing the web.xml Deployment Descriptor
Provider Elements in web.xml
Registering a Provider-Managed Endpoint
How to Register a Static Provider-Managed Endpoint
How to Register a Dynamic Provider-Managed Endpoint
Packaging Provider Web Application Provider Classes
Deploying Provider Web Applications
Testing Provider Web Application Deployment
Managing Provider Endpoints
Assembling Clients for Provider Web Service Applications
Additional Information
A
Understanding the Web Services Management Schema
Levels of Web Service Management
Global Level
Port Level
Operation Level
wsmgmt.xml Listing
B
JAX-RPC Mapping File Descriptor
Producing a JAX-RPC Mapping File
Naming Conventions for the JAX-RPC Mapping File
Customizing the WSDL or Service Endpoint Interface Contents
Customization Scenarios
Changing Namespace-to-Java Mappings
Changing the Names of Java or WSDL Artifacts
Generating Code into a Single Package from a WSDL with Multiple Namespaces
Wrapping or Unwrapping Mapping for Document-Literal Operations
Mapping Between SOAP Headers and Java Method Parameters
C
Web Service MBeans
Web Services MBean Descriptions
Understanding MBean Components
WebServicePort
WebServiceOperation
WSMServiceConfig
WSMOperationConfig
WSMHandlerGlobalConfig
WSMHandlerServiceConfig
WSMHandlerOperationConfig
Initializing MBeans
D
Mapping Java Types to XML and WSDL Types
Mapping Java Types to XML Types
Using Java Null Values in Bottom Up Mapping
Mapping Java Primitive Types to XML Types
OC4J Support for Java Value Types
Representing a Java Value Type as a Schema Type
Mapping Support for Arrays
All Formats
Document-Literal and RPC-Literal Formats
RPC-Encoded Format
Mapping Java Collection Classes to XML Types
Limitations on Using Collection and Map Data Types
Definitions for Oracle-Proprietary Collection Data Types
Support for Java Beans Components
E
Troubleshooting
OracleAS Web Services Messages
Assembling Web Services from a WSDL
Assembling Web Services from Java Classes
Assembling Web Services From EJBs
Assembling Web Services with JMS Destinations
Developing Web Services From Database Resources
Assembling Web Services with Annotations
Assembling REST Web Services
Testing Web Service Deployment
Assembling a J2EE Web Service Client
Understanding JAX-RPC Handlers
Processing SOAP Headers
Using WebServicesAssembler
Packaging and Deploying Web Services
Ensuring Interoperable Web Services
Working with Message Attachments
Managing Web Services
Ensuring Web Service Reliability
Auditing and Logging Messages
Custom Serialization of Java Value Types
Using JMS as a Web Service Transport
Using the Web Service Invocation Framework
Using Dynamic Invocation Interface to Invoke Web Services
Basic Calls
Configured Calls
Examples of Web Service Clients that use DII
F
Third Party Licenses
Apache
The Apache Software License
Apache SOAP
Apache SOAP License
JSR 110
Jaxen
The Jaxen License
SAXPath
The SAXPath License
W3C DOM
The W3C License
Index