| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Text.XML.WSDL.Types
Contents
Description
A description of WSDLs. Most of the verbiage here is copied verbatim from the WSDL spec: see http://www.w3.org/TR/wsdl.
TODO: * Documentation support * Schema support
- data WSDL = WSDL {
- targetNamespace :: Maybe URI
- documentName :: Maybe Name
- types :: Maybe WSDLTypes
- messages :: [WSDLMessage]
- portTypes :: [WSDLPortType]
- bindings :: [WSDLBinding]
- services :: [WSDLService]
- additionalWSDLInfo :: [ExtensibilityElement]
- data WSDLTypes = WSDLTypes {}
- data WSDLMessage = WSDLMessage {
- wsdlMessageName :: Text
- wsdlMessageParts :: [WSDLMessagePart]
- data WSDLMessagePart = WSDLMessagePart {}
- data WSDLPortType = WSDLPortType {
- wsdlPortTypeName :: Text
- wsdlPortTypeOperations :: [AbstractOperation]
- data AbstractOperation
- = AbstractOneWayOperation {
- operationName :: Text
- operationInput :: InputMessage
- operationParameterOrder :: [Text]
- | AbstractRequestResponseOperation {
- operationName :: Text
- operationInput :: InputMessage
- operationOutput :: OutputMessage
- operationFaults :: [FaultMessage]
- operationParameterOrder :: [Text]
- | AbstractSolicitResponseOperation {
- operationName :: Text
- operationOutput :: OutputMessage
- operationInput :: InputMessage
- operationFaults :: [FaultMessage]
- operationParameterOrder :: [Text]
- | AbstractNotificationOperation {
- operationName :: Text
- operationOutput :: OutputMessage
- operationParameterOrder :: [Text]
- = AbstractOneWayOperation {
- data InputMessage = InputMessage {
- inputMessageName :: Maybe Text
- inputMessageType :: Name
- data OutputMessage = OutputMessage {
- outputMessageName :: Maybe Text
- outputMessageType :: Name
- data FaultMessage = FaultMessage {
- faultMessageName :: Text
- faultMessageType :: Name
- data WSDLBinding = WSDLBinding {}
- data ConcreteOperation = ConcreteOperation {}
- data ConcreteInputMessage = ConcreteInputMessage {}
- data ConcreteOutputMessage = ConcreteOutputMessage {}
- data ConcreteFaultMessage = ConcreteFaultMessage {}
- data WSDLService = WSDLService {
- wsdlServiceName :: Text
- wsdlServicePorts :: [WSDLPort]
- additionalServiceInfo :: [ExtensibilityElement]
- data WSDLPort = WSDLPort {
- wsdlPortName :: Text
- wsdlPortBinding :: Name
- additionalPortInfo :: [ExtensibilityElement]
- type ExtensibilityElement = Node
- type Documentation = Maybe Node
- data Schema = Schema
Documentation
Represents a WSDL document; this contains the six WSDL elements as
described below, as well as name and targetNamespace as defined in
the spec.
WSDL documents can be assigned an optional name attribute that serves
as a lightweight form of documentation. Optionally, a targetNamespace
attribute may be specified. This represents the URI associated with the
WSDL.
Constructors
| WSDL | |
Fields
| |
Document elements
Type definitions
Data type definitions used to describe the messages exchanged.
Constructors
| WSDLTypes | |
Fields
| |
Messages
data WSDLMessage Source
Represents an abstract definition of the data being transmitted. A message consists of logical parts, each of which is associated with a definition within some type system.
Constructors
| WSDLMessage | |
Fields
| |
Instances
data WSDLMessagePart Source
Messages consist of one or more logical WSDLMessageParts.
Constructors
| WSDLMessagePart | |
Fields | |
Instances
Port types
data WSDLPortType Source
A set of abstract operations. Each operation refers to an input
WSDLMessage and output WSDLMessages.
NB: Though the WSDL spec explicitly mentions that each operation refers
to an input message, the grammar provided on the W3 site makes
<input> optional. The wording of the spec, rather than the example
grammar, is followed here.
Constructors
| WSDLPortType | |
Fields
| |
Instances
data AbstractOperation Source
A WSDLPortType is a named set of AbstractOperations and the
abstract messages involved.
Constructors
| AbstractOneWayOperation | |
Fields
| |
| AbstractRequestResponseOperation | |
Fields
| |
| AbstractSolicitResponseOperation | |
Fields
| |
| AbstractNotificationOperation | |
Fields
| |
data InputMessage Source
An abstract message representing input to the given operation.
Constructors
| InputMessage | |
Fields
| |
Instances
data OutputMessage Source
An abstract message representing output from the given operation.
Constructors
| OutputMessage | |
Fields
| |
Instances
data FaultMessage Source
An abstract message representing faults returned by the given operation.
Constructors
| FaultMessage | |
Fields
| |
Instances
Bindings
data WSDLBinding Source
Specifies a concrete protocol and data format specifications for the
operations and messages defined by a particular WSDLPortType.
Constructors
| WSDLBinding | |
Fields | |
Instances
data ConcreteInputMessage Source
A concrete message representing input to the given operation.
Constructors
| ConcreteInputMessage | |
Fields | |
data ConcreteOutputMessage Source
A concrete message representing output from the given operation.
Constructors
| ConcreteOutputMessage | |
Fields | |
data ConcreteFaultMessage Source
A concrete message representing faults returned by the given operation.
Constructors
| ConcreteFaultMessage | |
Fields | |
Services
data WSDLService Source
Used to aggregate a set of related WSDLPorts.
Constructors
| WSDLService | |
Fields
| |
Instances
Ports
Specifies the address for a WSDLBinding, thus defining a single
communication endpoint.
Constructors
| WSDLPort | |
Fields
| |
Additional properties
Extensibility elements
type ExtensibilityElement = Node Source
Certain tags in a WSDL document can have additional information associated with them by way of Extensibility Elements. These are generally used to specify binding information for a specific protocol or format (e.g. SOAP).
Documentation
type Documentation = Maybe Node Source
Documentation can appear inside any WSDL element.