WSO2 SOA Enablement Server for Java 6.6 Product
Read This First
Introduction
Overview of WSO2 SOA Enablement Server for Java
Renaming of Product
What Do I Read First?
Web Service Programmers
Administrators and System Integrators
Release Notes
What's New
New in Version 6.6
New in Version 6.5.4
New in Version 6.5.3
New in Version 6.5.2
New in Version 6.5.1
New in Version 6.5
New in 6.0
Known Issues
Basic Framework
.NET Integration
Security
Reliable Messaging
J2EE Integration
WSO2 SOA Enablement Server Management
WSO2 SOA Enablement Server Administration Console
Tools
Change Log
Changes from 6.0 to 6.5
Changes from 5.5 to 6.0
Basic Framework
WS-ReliableMessaging
Security Framework
Supported Platforms and Software
Document Conventions
Legal Notice
Product License
Third Party Licenses
Apache License, Version 2.0
The Apache XML License, Version 1.1
HSQLDB License
Apache Jakarta License, Version 1.1
CUP Parser Generator
Jetty License, Version 3.6
Unix crypt(3C) utility
W3C(C) SOFTWARE NOTICE AND LICENSE
Xalan, Version 2.5.1
XML Pull Parser for Java, 1.1.1
Notices
Copyright
Disclaimer
Trademarks
Acknowledgements
Support
Contact
Installation and Porting Guide
Installation and Porting Overview
Installation and Porting Scenarios
Components
System Requirements
.NET Integration
Security
IBM's JDK 1.4 Requirements
WS-Security Provider Requirements
J2EE Integration
WSO2 SOA Enablement Server Administration Console
Database Configuration
Overview
Preinstalled vs. Standalone Databases
Multiple Instances and Instance Names
Configuring HSQL Database
Driver Properties
Connection Pool Properties
DatabaseMappings Subelements
Backward Compatibility
Overview
WSO2 SOA Enablement Server for Java 4.7 Management Console and All Tools
Migrating Secure Servers
WSO2 SOA Enablement Server for Java 6.6 API Backward Compatibility
Changes in Runtime API between 6.0 and 5.0
Changes in Previous Versions in Runtime API
org.idoox.wasp.types Package
Package
Deployment Descriptor Backward Compatibility
Remote References and Per-Client Instantiation
Transport Coupling in Asynchronous Invocations
WS-Addressing Specification
WSO2 SOA Enablement Server for Java 6.6 Client vs. WSO2 SOA Enablement Server for Java 5.0 Server
WSO2 SOA Enablement Server for Java 5.0 Client vs. WSO2 SOA Enablement Server for Java 6.6 Server
Standalone Installation
Installation Overview
Basic Requirements
Installation Types
Wizard Installation
Starting Installation
Installation Steps
Standard Installation
Custom Installation and Adding Components
Installation Options
Launching Installation
Selecting a Particular Hostname
Directory Structure
Booting the Server
Customizing the Installation
WS-I Compliance
Using InfoPath with WSO2 SOA Enablement Server for Java
Running SSJ on an Enforced Address
WSO2 SOA Enablement Server Components
Overview
Subchapters
Components
List of components
Builtin-Serialization
Console
Console-Deps
Console-MsgStore
Console-Security-Plugin
Console-Server-Preferences
Console-WSDiscovery-US
Console-WSDLCompiler-US
Core
Core-Backward-Compatible
Core-Services
Core-Services-Backward-Compatible
Core-Tools
Db-Interface
Demos
Distribution
Documentation
Hot-Deploy
J2EE-EJB-Webservice
J2EE-JMS-Transport
J2EE-JNDI-Connector
J2EE-JTA
J2EE-Plugins
J2EE-Support
JAXM-Implementation
JAXM-Interfaces
JAXRPC-Implementation
JAXRPC-Interfaces
Lb-Cookies-Interceptor
Lb-Wsrm
Mgmt-Services
Mgmt-Services-Backward-Compatible
NTService-Support
Persistent-Store
Porting
SAAJ-Implementation
SAAJ-Interfaces
Security-Core
Security-Permissions
Security-Plugins
Security-Providers
Security-Services
Security-Services-Backward-Compatible
Security-Specific
Security-Tools
Snmp
Snmp-console-plugin
Transactions
UDDI-Client
Uddi-Transport
Validator
WS-Addressing
WSDL-API-Implementation
WSDL-API-Interfaces
WSDLCompiler-US
Wsrm
Wsrm-Tools
XML-Trace
XSLT-Interceptor
Distribution JAR files
Third Party JARs
WSO2 SOA Enablement Server JAR Libraries
WSO2 SOA Enablement Server Packages
WSO2 SOA Enablement Server Client Packages
WSO2 SOA Enablement Server Console Plug-ins
Installation Scenarios
List of Tools
List of Web Services
Porting WSO2 SOA Enablement Server
Porting WSO2 SOA Enablement Server Overview
Modifying the Classpath and java.security.auth.login.config
Modifying the Classpath
Modifying JAVA_OPTIONS
Individual Porting Guides for Each Supported AS
JBoss
Sun J2EE Reference Implementation Server
IBM MQSeries for Windows NT and Windows 2000 JMS Provider
IBM Websphere MQ JMS Provider
Oracle Containers for J2EE
Orion
SunONE Application Server
SwiftMQ
SonicMQ
Apache Tomcat
BEA WebLogic 7.x and 8.x
IBM WebSphere
Manual Porting and Standalone Servlet-Based Applications
Overview
Porting WSO2 SOA Enablement Server Into a Servlet Container
Libraries in the Classpath
The web.xml File
Modifying Configuration Files
HTTPS Transport
Backward Compatibility
Common J2EE Porting Issues
ClassCast/ClassNotFound Exceptions with EJB Web Services and JNDI Connectors
JMS Transport Failure
Porting Security
NT Service Support
Installation
Starting and Stopping
Logging
Logging Customization
Message Priority Settings
Log File Properties
Switching to NT Log
Using Other Log4J Appenders
Customizing
NT Service Name Change
JVM Startup Parameters
WSO2 SOA Enablement Server Ported to Application Server
Uninstallation
Developer's Guide
Developers' Guide Overview
Jumpstart
Introduction
Writing Web Services
Overview
Starting from Java
Starting From a WSDL Description
Publishing and Deployment
Overview
Runtime Publishing
Single-Class Persistent Deployment
Web Service Clients
Overview
Generating Service Interfaces
Creating the Client
Running a Client with SOAPSpy
Writing Web Services
Types of Services
Overview
Java Services
XML/SOAP Services
Raw Services
Java Services
Java Service Overview
Service Using Attachments
Overview
Message Attachment Class
Writing Service using Attachments
Choosing Between MIME And DIME
MIME
DIME
In/Out Parameters
Remote References
Examples
Mapping Files
Overview
Mapping Files in Detail
Mapping Information in WSDL
Mapping File on Client Side
Mapping File on Service Side
XML/SOAP Service
Overview
One-Way Message Services Using JAXM OneWayListener
Request-Response Message Services Using JAXM ReqRespListener
Stream-Based Service Using Tokenizer
MIME and DIME Attachments, JAF
Handling Attachments Through JAF
Setting Encapsulation Type
SOAP Faults
Service Contexts
Overview
Call Context
Service Instance Context
Service Endpoint Context
Hierarchy of Contexts
Custom Configuration
Overview
Persistent Configuration
Unique name Attribute
Runtime Configuration
InfoPath in Runtime Configuration
Custom Attributes
Stateful Web Services
Overview
How It Works
Generating Proxy from WSDL
Deployment
Context Class Loader
Publishing Web Services
WS Components and Lifecycle
Overview
Web Service Components
Web Service Lifecycle
Runtime Publishing
Registry: Publish and Lookup
Example: HelloService
Advanced Runtime Publishing
Custom Configured Services
Persistently Deployed Services
Unpublishing
All Registry Methods
Service Settings
ServiceEndpoint
Creation
Endpoint Settings
WSDL Settings
ServiceEndpointListener
ServiceInstance
Creation
Instance Settings
Accessing Implementation Held by the ServiceInstance
Managing Instantiation
Service Instance State Management
Overview
Methods for Getting and Changing the Web Service State
Other Methods
Initialization
Service Call Adjustments
Overview
Handlers
Inserting Handlers
Removing Handlers
Other Methods
Transport Interceptors
Inserting Transport Interceptors
Removing Transport Interceptors
Other Methods
Using Persistent Deployment
Overview
Single Class Deploymenthello.jar
Complex Deployment Scenarios
'Create Everything for Me' Scenario
With Your Own WSDL File
With Your Own Deployment Descriptor
Service In Disabled State
Deploying Dependent Packages
Undeployment Scenarios
Undeploying a Package by Name
Undeploying a Package by its JAR File Name
Undeploying Dependent Packages
Redeployment Scenarios
Single Class Redeployment
Redeployment of a Package Jar File
Redeployment of Dependent Packages
'Hot' Deployment
Hot Deployment of a Packed Package
Hot Deployment of an Unpacked Directory
Configuring Hot Deployment
Deployment Descriptors
Overview
Extended Configuration
Part Names
References to Parts
Exports and Dependencies
Part Ordering
Using InfoPath on a Standalone WSO2 SOA Enablement Server
Deployment Descriptor Reference
<attributes>
<class>
<dependency>
<documentation>
<export>
<fault-serialization>
<handler>
<header>
<interceptor>
<license>
<location>
<package>
<packager>
<processing>
<schema>
<serialization>
<service-client>
<service-endpoint>
<service-instance>
<transport>
<type-mapping>
Packages
Overview
Server Packages
Structure of the JAR File
Contexts
Using Deployment Tools
Application Directory and Work Directory
Deployment Errors
Client Package
Structure of the JAR File
Client Package Caching
Client Deployment Descriptor
Default Client Package
Library Package
Library Deployment Descriptor
Web Service Clients
Overview
Setting Up the Client Environment
Invocation Scenarios
UDDI Client Lookup
WSDL URL - Best Practices
Java Clients
Dynamic Proxy Invocation
Overview
Creating the Client
Generating the Service Interface
Compiling the Interfaces
Looking Up the Service
Looking Up a Secure Service
Calling the Service
JAX-RPC Dynamic Call
Overview
Creating a Call Object
Filling the Call with Current Values
Exceptions During Call
Handling Exceptions
Exceptions Thrown During Lookup
Exceptions Thrown During Service Calls
Low-Level Exceptions
Application-Level Exceptions
Clients with Attachments
Overview
Writing Clients with Attachments
Using HTTP Chunking
Attachment Release Methods
Service Lookup via UDDI
UDDI Lookup Address (ULA)
Additions to Client Code
Changing the Default UDDI Server Address
XML/SOAP Clients
Overview
One-Way Invocation Using JAXM, SAAJ
Request-Response Invocation using JAXM, SAAJ
Stream-Based Invocation Using Tokenizer
MIME and DIME Attachments, JAF
Handling Attachments Through JAF
Setting Encapsulation Type
Asynchronous Invocation
Client Using SOAP Faults
Client Settings (ServiceClient)
Overview: ServiceClient
Creation
Settings
ServiceClientListener
WSDL Settings
Connection Settings
Other Methods
Client Contexts
Overview
Service Client Context
Hierarchy of Contexts
Client Custom Configuration
Client Custom Attributes
Asynchronous Invocation
Overview: Synchronous vs. Asynchronous invocation
Architecture: Client-Side
Request
Response
Mechanisms for Getting Results
Architecture: Server-Side
Using the Asynchronous API
The begin-/end- Method Pattern
Asynchrony Using Java Dynamic Proxies
Asynchrony Using JAX-RPC
Asynchrony using JAXM
Polling API
Configuring Coupled Transports
HTTP GET Binding in WSO2 SOA Enablement Server
Overview
Example HTTP GET Communication
HTTP GET Operation Handling in WSO2 SOA Enablement Server
Message Processing
WSO2 SOA Enablement Server Message Processing Overview
Levels
Processes
Raw (Transport) Level - Connections
XML/SOAP Level - Message
Application Level - Object
Attachments
Raw Level Processing
Raw Level Overview
Transport Use Cases
URLs During Lookup
URL of WSDL File
URL of Web Service
Transport Methods
Transport API
Configuring and Starting New Transports on the Server
Built-In Transports
Overview
Transport Configuration
Components Containing Transports
HTTP
HTTPS
File
JAR
JDK
Servlet
Mail
SMTP
POP
Mailto
JMS Transport
Overview
Installing Client and Server Side of JMS Transport
JNDI Properties
JMS Transport Configuration and Destinations
The <destination> Element and Multiple Destinations
JMS as Embedded Server
JMS Client Configuration
Resolving JMS Administered Objects
Calling WSO2 SOA Enablement Servers That Use Different JMS Providers
Other JMS Transport Configuration Options
Specifying URL for JMS Transport
Asynchronous Use of JMS Transport
Running Demos Over JMS Transport
JMS Binding
Performing GET operations over JMS
Properties in the JMS Message
Message Selection
Format of the Header String
Custom Transports
Introduction
JumboTransport Class
Server and Client
The load() Method
The start() Method
Inner Class ServerThread
The newConnection() Method
The JumboConnection Class
Server-Side Constructor
Client-Side Constructor
The JumboInputMessage Class
The JumboOutputMessage Class
The JumboConfig Class
JumboTransport Configuration
Creating a Package for a Custom Transport
Deployment Descriptor
Building the Package
Using the Package
Configuring a Custom Transport from the Admin Console
Running the Jumbo Transport Demo
Persistent Deployment
Embedded Server
Running the Client
Interceptors
Overview
Interceptor Use Cases
How to Write an Interceptor
API Overview
Interceptors That Do Not Modify the Message
Interceptors That Modify the Message
Working with Messages
Working with Message Wrappers
Interceptor Initialization
Interceptor Configuration
Server-Side Configuration
Client-Side Configuration
Runtime Installation of an Interceptor
XML/SOAP Level Processing
XML/SOAP Level Overview
SOAP Protocols (SOAP 1.1, SOAP 1.2)
SOAP Message Handlers
The Handler Interface
Behavior of the Handler Interface Methods
handleRequest()
handleResponse()
handleFault()
Example of SOAP Message Handler
Stream-Based Handlers Using Tokenizer
SOAP Header Support in WSDL
Generating soap:header with Java2WSDL
Creating the Deployment Descriptor with Headers Specified
Generating soap:header with Runtime API
Processing Attachments
SOAP Faults
SOAP 1.2 Support
Creating SOAP 1.2 Web Services
Runtime Publishing
Using the Deployment Descriptor
Main changes between SOAP 1.1 and SOAP 1.2
Attachments in SOAP 1.2
Why Sparse Arrays are Not Supported in SOAP 1.2
Java Level Processing
Serialization Overview
Default Serialization
Overview
Primitive Types
Literal vs. Encoded Serialization
Arrays
Complex Types and Structures
Advanced XML Schema Constructs
List Datatype
Union Type
Enumeration Facet
The <choice> Group Element
The <any> element
Java Collections
Microsoft.NET Collections
Collection vs. Array Interoperability
XML Schema Versioning
Structured SOAP Fault Serialization
Overview
Serialization Conditions
An Example of Structured Fault Serialization
Handling of mixed content
Handling of anyType
Custom Serialization
Overview
Implementing Serializer
Explanation of Serializer Source Code
Implementing Deserializer
Explanation of Deserializer Source Code
Configuring Custom Serialization
Deployment Descriptor in Detail
Deployment of Services That Use Custom Serialization
Using Custom Serialization On the Client Side
Appendix: Private Fields
Appendix: Customizing JavaBeans Serialization
Appendix: Serialization Chains
Tools
WSO2 SOA Enablement Server for Java Tools Overview
WSDL2Java
Overview
Command-Line Options
Optional Parameters
Example of the --unwrap Option
Java2WSDL
Overview
Style of Compilation
Features
SOAP Binding and Encoding Styles
RPC/Encoded
Document/Literal
Document/Literal Wrapped
RPC/Literal
A Partially Generated WSDL
Class Inclusion and Exclusion
Method Inclusion and Exclusion
One-Way Operations
Attachments
Inheritance
Extra Types
Deployment Descriptor Support
Custom Mapping and XML Schema Referencing
Custom WSDL Extensions
Classpath
Command Line
Configuration
Examples
Customizing Basic Properties
SOAP Binding and SOAP Encoding
Partially Generated WSDL File
Method Signature Listing
One-Way Methods
Reusing Types
Default Schemas
Schema2Java
Overview
Command-Line Options
Input Selecting Options
Output Selecting Options
Debugging Options
Java2Schema
Overview
Support for Common Java Types
Primitive Types
Support for Java Containers
Remote References
Security
Attachments
Advanced XML Schema Constructs
Java2Schema Features
Java to XML Schema Mapping Algorithm
Target Namespace
Included Schemas, Annotations and Custom Mapping
Class Inclusion and Exclusion
Multiple Inheritance
Deployment Descriptor Support
Internal Schemas
Classpath
Command Line
Configuration
Examples
Simple Structure
RPC/encoded: SOAP 1.1 Sec 5 Encoding
Document/Literal Encoding
Class Inclusion and Exclusion
Inheritance
Schema Reference and Custom Mapping
Default Schemas
Holder Generator
Overview
WSO2 SOA Enablement Server Holders
HolderGenerator Tool
Command Line
HolderGenerator with Pre-defined Type
DocumentHolder
Placing MyDocHolder into Package
Soap Spy
Overview
Running SOAPSpy
How to Run WSO2 SOA Enablement Server Examples Using SOAPSpy
Using SOAPSpy
SOAP Request Tab
How to Run WSO2 SOA Enablement Server Clients Using SOAPSpy
Mail Setup Tool
Use Cases
Sending One-Way Messages
Sending and Receiving One-Way Messages
On the Server Side
Options for MailSetupTool
Deployment Tools
Deployment Tools Introduction
WaspPackager
Overview
Guide to Switches
Package Creation Usecases
Nothing Pregenerated - Generate Everything for Me
Pregenerated WSDL(s)
Pregenerated Deployment Descriptor
Generating WSDL Files for Services with Deployment Descriptors
Using Your Own WSDL and Deployment Descriptor Files
Package Parameters
Adding Libraries and Other Files
Note on Document/Literal Support
Client Package Creation
Deploy Tool
Overview
Single Class Deployment
Whole Package Deployment
Redeployment
Options for Deployment
Setting Contexts
Binding/Encoding Style
Package Listing
Other Switches
Undeploy
Security Settings
ANT Tasks
ANT Integration
Calling ANT Tasks for WSO2 SOA Enablement Server
Calling ANT Tasks for WSO2 SOA Enablement Server
Setting JVM Properties
ANT WSDL2Java Task
Overview
Attributes of WSDL2Java ANT task
Sub-elements of the WSDL2Java ANT Task
<schema2java>
<schema2JavaException>
<namespace2package>
ANT Java2WSDL Task
Overview
Attributes of the Java2WSDL Task
Sub-elements of the Java2WSDL ANT Task
<addFault>
<addType>
<attachment>
<class>
<class2endpoint>
<class2ServiceName>
<classpath>
<excludeClass>
<excludeMethod>
<includeClass>
<includeMethod>
<inheritance>
<insert>
<namespace2File>
<oneWayMethod>
<package2TargetNamespace>
<reference>
ANT Schema2Java Task
Overview
Attributes of the Schema2Java Task
Sub-elements of the Task
<schema2java>
<xmlSchema>
<namespace2package>
ANT Java2Schema Task
Overview
Attributes of the Java2Schema Task
Sub-elements of the ANT Java2Schema Task
<addType>
<class>
<classpath>
<excludeClass>
<includeClass>
<inheritance>
<package2TargetNamespace>
ANT Deploy Task
Overview
Required Attributes of DeployTask
Optional Attributes of DeployTask
Sub-elements of the Deploy Task
<classpath>
ANT Undeploy Task
ANT UndeployTask Overview
Required Attributes of UndeployTask
Optional Attributes of DeployTask
ANT WaspPackager Task
Overview
Attributes of the WaspPackager ANT Task
Sub-elements of the WaspPackager task
<depends>
<classDirectory>
<library>
<otherFile>
<service>
ANT HolderGenerator Task
Overview
Attributes of the HolderGenerator ANT Task
Embedding
Overview
Scenarios
Standard Scenario
Server Scenario
Custom Scenario
Starting Server Transports
Init and Destroy Steps
WSO2 SOA Enablement Server Configuration
System Properties
Logging and Debug Messages
Suppressing Exception Printing
Custom Configuration
Using Clients Without Specifying wasp.location
WSO2 SOA Enablement Server Client JARs
WSO2 SOA Enablement Server Remoting
Overview
Making Objects Remote
Functions
Reliable Messaging
WS-ReliableMessaging
WS-RM Scenarios
Asynchronous vs. Synchronous Invocation
One-Way vs. Request/Response Invocation
Anonymous vs. Non-Anonymous Clients
Persistence
Delivery Confirmation
Logging and Debugging in WS-RM
WS-RM Policy
Delivery Assurance
Inactivity Timeout
Retransmission Interval
Acknowledgement Interval
Default Configuration of WS-RM Assertions
Change Default Configuration at Runtime
Changing Default Configuration Persistently in the Policy File
Clustering
Sequence API
Overview
Input Sequences
Handling Errors
Sequence Life-Cycle
Message Confirmation
Duplex Sequences
Persistent Sequences
Manual Set Up of Database for Persistent Store
Message Store Management Tool
Overview
Command Options
Examples
ANT Task
Console Display
WS-Addressing
Interoperable Constructs
User-Specified Addressing Headers
WS-Addressing and WS-Security
MTOM/XOP
MTOM Examples
Streaming Binary Data with MTOM
MTOM Settings and Runtime Configuration
WS-I Profile Compliance
WS-I Basic Profile
Achieving WS-I BP Compliance
How WSO2 SOA Enablement Server for Java Helps Achieve WS-I Compliance
Known Violators of WS-I Compliance
WS-I Attachments Profile
Attachment with Serialization of XML Infoset
Faults with Attachments
What to Avoid in Code
Application Integration
Overview of Application Integration
.NET Integration
.NET Client and WSO2 SOA Enablement Server Web service
Overview
How to Invoke a WSO2 SOA Enablement Server Web Service from .NET Client
Type Mapping
.NET Service Access from WSO2 SOA Enablement Server Client
Java Collections and their Mapping to .NET
.NET Representation of Java Collections
XML Schemas for Java Collections
.NET Collections and their Mapping to Java
Security Interoperability with .NET
HTTP Basic Authentication
.NET Client to a WSO2 SOA Enablement Server Service
WSO2 SOA Enablement Server Client to a .NET Service
SSL Authentication
.NET Client to a WSO2 SOA Enablement Server Service
WSO2 SOA Enablement Server Client to a .NET Service
Authentication During the WSO2 SOA Enablement Server Lookup Operation
J2EE Over SOAP Access from Other Platforms
J2EE Integration
Overview
JNDI Over SOAP
Setting the Value of java.naming.provider.url
JNDI Connector Service
Securing the JNDI Connector
Configuring the JNDI Connector
JNDI over SOAP Lookup on RMI-IIOP Application Servers
Configuring the javax.rmi.PortableRemoteObject
Performance Issue: Serializing java.sql.ResultSet
EJB over SOAP Example
Web Services Implemented by EJBs
Securing J2EE Integration
JAAS Login Modules
BEA WebLogic
IBM WebSphere
Impact on WSO2 SOA Enablement Server Authorization Framework Mapping
JNDI Connector Setup
JNDI Connector Service Setup
JNDI Connector Client Setup
Securing the jndiOverSoap Demo
Securing EJBs Exposed as Web Services
Securing the Web Service
Securing the Client
Demo
JMS Transport
JTA Over SOAP
Integration with Existing Application Servers
The J2eeIntegrate Tool
Shared and Self-Contained Porting of WSO2 SOA Enablement Server in a J2EE Environment
Self-Contained WSO2 SOA Enablement Server Client Web Application
How Self-Contained WSO2 SOA Enablement Server Client porting Works
J2eeIntegrate Options
Servlet and JSP Integration
Overview
Invoking a Web Service from Servlets Using a WSO2 SOA Enablement Server Client
Step One: Creating The Servlet
Step Two: Deploying The Servlet
Step Three: Running The Servlet
WSO2 SOA Enablement Server Client Within a JSP Page
Step One: Creating The JSP Page
Step Three: Publishing The JSP Page
Testing The JSP Page
XSLT Interceptor
Overview
Persistent Configuration
XSLT Interceptor Package
Custom Configuration
Runtime Configuration
Configuration Priority
Passed Parameters
Using a Different XSLT Processor
Appendix: Deprecated Mechanism for Exposing EJBs
Utility Web Services
WSDL2Java Service
Additional Features
Message Validation
System-Wide Configuration
Validation per Service Endpoint or Service Client
Validation through Runtime API
Security Guide
Security Overview
Security for Web services
Why Security?
What is Security?
Threats in a Distributed System
Security Services
WSO2 SOA Enablement Server Security Framework Overview
WSO2 SOA Enablement Server Security API
Security Installation Notes
Changing Administration Password
Default Authentication Mechanism
Generating Identities
Access Controller
Security Tools
Getting Started with Security
Overview
Client Environment Settings
Adding a User
Creating and Securing a Service
Securing Client Without Changing Code
Using Security Programmatically
Secure Messaging
Data Confidentiality and Integrity
SSL and TLS
Message-Based Security: WS-Security Provider
Possible Authentication Scenarios
HTTP Authentication Scenarios
HTTP Basic Authentication
HTTP Digest Authentication
SSL Client Authentication
Siteminder Integration
Siteminder Configuration
Kerberos
System Requirements for Kerberos
Steps to Use Kerberos Authentication
Cross-Domain Authentication
Service Principal Name
Possible and Recommended Combinations
HTTP Proxy Authentication
The Authorization Model in WSO2 SOA Enablement Server
Roles and Permissions
Security Configuration
Overview
Authentication Providers
Customizing Authentication
Custom Security Providers
Custom Login Modules
Authentication data handled over callbacks
Authorization and login modules
Custom User Store and Key Store
Authorization Providers
Keystore and User Store
LDAP User Store
Active Directory User Store
WS Security Provider
Overview
Setting up WS-Security in WSO2 SOA Enablement Server
Configuration Basis
Protected Store
Elements of WS-Security
General Elements
Security Tokens
Key Info and Security Token Reference
Signature
Encryption Elements
EncryptedData
EncryptedKey
ReferenceList
Low-level WS-Security Configuration
Configuring WS-Security for WS-ReliableMessaging
High-Level WS-Security Configuration
Custom Security Token
Demo
Restrictions
Using Security
Using Security
Client-Side Security
Overview
Setting the Initiating Security Provider
Starting With Java Properties
Server-Side Security
Overview
Defaults
Per Service Endpoint
If a Service is a Client of Another Service
Authorization Model Details
IP Address Filtering
Runtime Configuration
Persistent Configuration
Specifying Ranges
Advanced Uses and Limitations
Management GUI
How-tos
Securing a Previously Insecure Service
Identities with Password, Private Key, and Certificate
Create the Service Identity
Enforcing Trust of Service Identity
Create the Client Identity
Enforcing Trust of Client Identity
Assigning Client Certificate to WSO2 SOA Enablement Server User on the Server Side
Security Demos
Interoperability
Interoperability
Porting Notes
Security Tools
Security Tools Overview
Providers Manager
Authorization Policy
Key Store and User Store Management
The AuthorizationPolicy - GUI Version
Running AuthPolicy
Opening Policy File / Admin Service
Adding and Removing Users
Adding and Removing Permissions
Adding and Removing Roles
The Providers Manager Tool
Overview
Description of Commands
Adding a New Security Provider
Removing a Security Provider
Setting an Initiating Provider
Accepting Providers Settings
Turning Endpoint Authorization On and Off
Endpoint Identity Associations
Listing Providers Settings
Running the GUI Version of ProvidersManager
The ProvidersManager - GUI Version
Overview
Running Providers Manager GUI Tool
Opening Configuration File / Admin Service
Adding/Removing Properties
Setting Up PStore Initialization Properties
Adding/Removing Security Providers
Service Endpoints
User Store Tool
Commands Description
Adding a New User to the User Store
Adding New Properties to An Existing User
Removing Properties from an Existing User
Removing a User from the User Store
Listing the Current Status of the User Store
Running the GUI Version
CertTool
Creating an Identity
Renewing an Identity
The PStore Tool
Commands Description
Running the GUI Version
The PStore Tool - GUI Version
Running the GUI PStore Tool
Opening and Closing the Protected Store
Opening Protected Store from a File
Opening Protected Store Remotely
Closing Protected Store
Open Next Protected Store
Copy Data Between Protected Stores
Key Store
Create New Identity
Key Store Trust
Import Alias
Remove Alias
Refresh Aliases
Alias Details Panel
User Store
Add User
Remove User
Refresh Users
Add Property
Remove Property
Refresh Properties
User Properties Details Panel
JAAS Login Modules
Overview
NamePasswordNoAN
NamePasswordAN
NameDigestAN
NameMapping
CertsMapping
HTTPRequest
KrbCredentials
CachedKrbCredentials
Credentials (deprecated)
ReceivedCredentials (deprecated)
HttpCredentials (deprecated)
Permissions and Roles
Web Service Invocation Permissions
Runtime Management Permissions
Delegation Permissions
Role Assignment
Administrator's Guide
Administrators' Guide Overview
WSO2 SOA Enablement Server Scalability
Overview
Inbound Connections
Incoming Message Size Limitations
Management Using the Administration Console
Management Using the Admin Service
Event Monitoring
Overview
Event Processing
Management Events
Configuring Custom Management Events
HTTP Session-Based Load Balancing
CISCO Content Services Switch-Based Load Balancing
Cookie Passive Sticky
Cookie Insert Sticky
WSO2 SOA Enablement Server for Java Support for CISCO Content Services Switch
WS-ReliableMessaging Support
Session Affinity and Cookies
Requirements
Running WSO2 SOA Enablement Server on UNIX Platforms
Using the syslog Daemon with WSO2 SOA Enablement Server
Running WSO2 SOA Enablement Server as a UNIX Daemon
SNMP Module
Overview
SNMP Agent Configuration
Properties
SNMP Versions 1 and 2
SNMPv1 and v2 Communities
SNMPv1 and v2 Trap Sink
Add/Edit SNMPv1 and v2 Trap Sink
SNMP Version 3
SNMPv3 Views
Add/Edit SNMPv3 View
SNMPv3 Groups
Add/Edit SNMPv3 Group
Users
Add/Edit SNMPv3 User
SNMPv3 Trap Sink
Add/Edit SNMPv3 Trap Sink
Access Control
AgentX
AgentX Master
AgentX Subagent
Proxy
Add/Edit SNMP Proxy
Trap Forwarder
Troubleshooting
Accessing UNIX Ports Below 1024
Checking the Availability of UDP Port 161
Quick Guide - How to...
Enable/Disable SNMP Agent
Add a Custom Event
Add a Trap Receiver
MIB Structure
SNMP Traps
waspGenericEvent
waspEventServerStart
waspEventServerStop
waspEventServiceStart
waspEventServiceStop
waspEventServerLog
waspEventUserLog
waspEventAuthFailed
waspEventAuthSuccess
waspEventAZFailed
waspEventAZSuccess
Administration Console
WSO2 SOA Enablement Server Administration Console
Overview
Starting the Administration Console
Logging In as the Administrator
Accessing Remote Servers
Users of the Administration Console
Refreshing a Page
Management of Remote WSO2 SOA Enablement Servers
Overview
Managing Servers
Adding/Removing Servers
Editing Server Attributes
Managing Security Domains
Adding/Removing Domains
Editing Domain Properties and Servers
Package Management
Overview
Deploy
Undeploy
Clone
Migrate
Downloading a Package Deployment Descriptor or JAR File
Package Details
Web Service Management
Overview
Enabling and Disabling a Service
Invoking Services from the Console
Managing Interceptors
Message Size, Polymorphism and IP Filtering
Web Service Security Management
Overview
Managing Service Security Mechanisms
Managing Service Authorizations (ACLs)
Setting Service Endpoint or Service Instance ACL
Setting the ACL of a Method on a Service Endpoint
Monitoring Web Services
Performance Monitor
Data Throughput Monitor
Server Security Management
Overview
Database of Identities (User Store)
Adding and Deleting Users
Adding and Editing User Properties
Adding a Property
Editing a Property
Permissions
Management Permissions
Permissions for Identities and Roles
Granting Roles
KeyStore Certificates
Adding and Deleting Key Entries
Viewing Details of Key Entries, Certificates, and Certificate Chains
Importing a Certificate into a WSO2 SOA Enablement Server
Exporting a certificate or certificate chain to a file
Deleting a Trusted Certificate
Creating and Editing Roles
Editing Roles
Creating Roles
Server Preferences Management
Overview
Default Protocol Properties
Setting Hot Deployment
Security Preferences
Access Controllers
Properties
Providers
HttpDigest
KerberosProvider
PStore Initial Parameters
updateable Policy Preferences
WS-SecurityPreferences
Transport Preferences
List of Transports
Simple Clients
HTTP Client Transport
HTTPS Client Transport
HTTP Server Transport
HTTPS Server Transport
Mail Transport
JMS Transport
Custom Transport
Utilities
Message Store Tool GUI
The WSDL2Java Service
Administration Console Architecture
Overview
Plug-in Concept
Plug-ins to Console Bundled with WSO2 SOA Enablement Server 6.5.4
Management Web Services
Management Web Services
The Admin Service
Overview
Web Services Administration
Admin Service Methods for Web Services Monitoring
Server Preferences
Levels of API to access Server Preferences
Available Preferences
Web Services Security
Global Security Settings
Endpoint Settings for Specified Service Endpoints
Admin Service Demo
The Deploy Service
Deployment Errors
The PolicyManagement Web Service
PolicyManagement Interface
Access to PolicyManagement
PolicyManagement Interface
Brief Policy Management Methods Overview
Ping Service
PStore Service
SecurityInformationService
Server Preferences DOM
ISV Guide
ISV Guide Overview
Overview
Quiet Installation
Porting WSO2 SOA Enablement Server for ISVs
Deployment Scenarios for Embedded or Ported WSO2 SOA Enablement Server
Overview
Runtime Publishing
Persistent Deployment
Integration of WSO2 SOA Enablement Server Management
Modifying the Administration Console
Overview
Console Directory
Removing Console Branding
Changing context name from 'WSO2 SOA Enablement Server' when wasp.war is contained in an .ear file
Changing context name from 'WSO2 SOA Enablement Server' when wasp.war is not in an .ear file
Built-in XML Schema
WSO2 SOA Enablement Server Built-in XML Schema Files
Overview of WSO2 SOA Enablement Server Built-In XML Schema Files
.NET-Compatible Containers for SOAP Encoded
.NET-Compatible Containers for SOAP Literal
Security for SOAP Encoded
Security for SOAP Literal
Remote References Schema for SOAP Encoded
Remote References Schema for SOAP Literal
Index
Glossary