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 WSDLMessagePart
s.
Constructors
WSDLMessagePart | |
Fields |
Instances
Port types
data WSDLPortType Source
A set of abstract operations. Each operation refers to an input
WSDLMessage
and output WSDLMessage
s.
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 AbstractOperation
s 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 WSDLPort
s.
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.