apache > ws.apache

## Apache Muse - WS-MetadataExchange - MetadataExchange Capability

Spec name and port type: WS-MetadataExchange v09/2004, MetadataExchange (WSDL)

Capability URI: http://schemas.xmlsoap.org/ws/2004/09/mex

Description: This capability implements the GetMetadata operation defined by the WS-MetadataExchange specification. Clients can provide a dialect (URI) representing a certain type of metadata, and the capability will return an XML document(s) describing that metadata. The spec defines a standard dialect for requesting and receiving WSDL documents.

Java interface: org.apache.muse.ws.metadata.MetadataExchange

> JAR file: muse-wsx-api.jar

Default Java implementation: org.apache.muse.ws.metadata.impl.SimpleMetadataExchange

> JAR file: muse-wsx-impl.jar

Action on initialize(): None.

Action on initializeCompleted(): None.

Action on prepareShutdown(): None.

Action on shutdown(): None.

Non-Core Dependencies: None.

Behavior and Limitations: The WSDL dialect defined by the spec is implemented such that GetMetadata requests that use the WSDL dialect will receive the entire WSDL document, including all imported schemas and WSDLs. No additional metadata dialects are defined or implemented.

The implementation reads and constructs the WSDL document for every GetMetadata request in order to avoid having the WSDL document in memory at all times. This might be a significant burden given that many "real world" resource types will import a number of other WSDL and XSD files, creating a very large in-memory structure.

The spec does not define any fault types or undesirable behavior, so the implementation (which is spec-compliant) does not differentiate between invalid dialects and valid dialects that simply have no metadata documents to return.

The org.apache.muse.ws.resource.metadata.ext.WsrfMetadataExchange class can be substituted by users who wish to return WSRMD documents in addition to WSDL.

Initialization parameters: None.