wsdl

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2026 License: MIT Imports: 17 Imported by: 0

README

wsdl

CI CodeQL Coverage Mutation Documentation Go Reference Release Go License

wsdl is a bounded, deterministic WSDL 1.1 and WSDL 2.0 description toolkit for Go. It parses caller-supplied XML, preserves extension data and presence semantics, validates component references and bindings, resolves imports only through injected resolvers, compiles immutable graphs, composes documents, builds code-generation models, and reports semantic differences.

It is deliberately not a SOAP client. wire owns SOAP envelope primitives, xsd owns schema compilation, and transport belongs in http-client or another consumer.

compiler, err := compile.New(compile.Options{}) // resolution denied by default
if err != nil {
    return err
}
set, err := compiler.Compile(ctx, compile.Source{
    URI:     "https://example.test/service.wsdl",
    Content: source,
})
if err != nil {
    return err
}
service, ok := set.Service(wsdl.QName{Namespace: "urn:example", Local: "API"})

The documentation covers the model, security boundaries, version-specific conformance, builders, composition, code generation, interoperability, and release evidence. Observable specification choices are recorded in the decision register. make check runs the normal local gate; make check-all also runs coverage, fuzzing, benchmarks, and mutation.

Stability

The API is pre-1.0. Supported behavior is recorded independently in the WSDL 1.1 matrix and WSDL 2.0 matrix. Matrix rows marked partial or missing are not conformance claims.

Ecosystem

Use the Golib documentation portal to choose companion packages, supported stacks, recipes, and operations guidance.

Documentation

Overview

Package wsdl parses, validates, compiles, and emits WSDL descriptions.

Index

Constants

View Source
const (
	// NamespaceWSDL11 is the namespace of WSDL 1.1 core elements.
	NamespaceWSDL11 = "http://schemas.xmlsoap.org/wsdl/"
	// NamespaceXMLSchema is the namespace of XML Schema 1.0 and 1.1.
	NamespaceXMLSchema = "http://www.w3.org/2001/XMLSchema"
	// NamespaceSOAP11Binding is the WSDL 1.1 SOAP 1.1 extension namespace.
	NamespaceSOAP11Binding = "http://schemas.xmlsoap.org/wsdl/soap/"
	// NamespaceSOAP12Binding is the WSDL 1.1 SOAP 1.2 extension namespace.
	NamespaceSOAP12Binding = "http://schemas.xmlsoap.org/wsdl/soap12/"
	// NamespaceHTTPBinding is the WSDL 1.1 HTTP extension namespace.
	NamespaceHTTPBinding = "http://schemas.xmlsoap.org/wsdl/http/"
	// NamespaceMIMEBinding is the WSDL 1.1 MIME extension namespace.
	NamespaceMIMEBinding = "http://schemas.xmlsoap.org/wsdl/mime/"
)
View Source
const (
	// NamespaceWSDL20 is the namespace of WSDL 2.0 core elements.
	NamespaceWSDL20 = "http://www.w3.org/ns/wsdl"
	// NamespaceWSDL20SOAP is the WSDL 2.0 SOAP binding namespace.
	NamespaceWSDL20SOAP = "http://www.w3.org/ns/wsdl/soap"
	// NamespaceWSDL20HTTP is the WSDL 2.0 HTTP binding namespace.
	NamespaceWSDL20HTTP = "http://www.w3.org/ns/wsdl/http"
	// NamespaceWSDL20Extensions contains the WSDL 2.0 predefined extensions.
	NamespaceWSDL20Extensions = "http://www.w3.org/ns/wsdl-extensions"
	// NamespaceWSDL20RPC contains the WSDL 2.0 RPC style extension.
	NamespaceWSDL20RPC = "http://www.w3.org/ns/wsdl/rpc"
)
View Source
const (
	// StyleIRI identifies the WSDL 2.0 IRI operation style.
	StyleIRI = "http://www.w3.org/ns/wsdl/style/iri"
	// StyleMultipart identifies the WSDL 2.0 multipart operation style.
	StyleMultipart = "http://www.w3.org/ns/wsdl/style/multipart"
	// StyleRPC identifies the WSDL 2.0 RPC operation style.
	StyleRPC = "http://www.w3.org/ns/wsdl/style/rpc"
)

Variables

View Source
var (
	// ErrLimitExceeded identifies input or graph work beyond a configured bound.
	ErrLimitExceeded = errors.New("wsdl: resource limit exceeded")
	// ErrDTDForbidden identifies an XML DTD or directive in a WSDL input.
	ErrDTDForbidden = errors.New("wsdl: DTD and XML directives are forbidden")
	// ErrDuplicateSymbol identifies a repeated name in one WSDL symbol space.
	ErrDuplicateSymbol = errors.New("wsdl: duplicate symbol")
)

Functions

func Marshal

func Marshal(document *Document, options MarshalOptions) ([]byte, error)

Marshal serializes a WSDL document deterministically without external I/O.

Types

type Binding11

type Binding11 struct {
	Extensibility
	Name          string
	Type          QName
	Documentation *Documentation
	SOAP          *SOAPBinding11
	HTTP          *HTTPBinding11
	Operations    []BindingOperation11
	Location      Location
}

Binding11 binds an abstract port type to a concrete protocol and format.

type Binding20

type Binding20 struct {
	Extensibility
	Name          string
	Interface     QName
	Type          string
	Documentation *Documentation
	SOAP          *SOAPBinding20
	HTTP          *HTTPBinding20
	Faults        []BindingFault20
	Operations    []BindingOperation20
	Location      Location
}

Binding20 binds an interface to a concrete protocol.

type BindingFault20

type BindingFault20 struct {
	Extensibility
	Ref           QName
	Documentation *Documentation
	SOAP          *SOAPFaultBinding20
	HTTP          *HTTPFaultBinding20
	Location      Location
}

BindingFault20 binds one WSDL 2.0 interface fault.

type BindingFaultReference20

type BindingFaultReference20 struct {
	Extensibility
	Ref           QName
	MessageLabel  string
	Documentation *Documentation
	SOAP          *SOAPFaultReferenceBinding20
	HTTP          *HTTPFaultReferenceBinding20
	Location      Location
}

BindingFaultReference20 binds one fault in an interface operation.

type BindingMessage11

type BindingMessage11 struct {
	Extensibility
	Name          string
	Documentation *Documentation
	SOAPBody      *SOAPBody11
	SOAPHeaders   []SOAPHeader11
	SOAPFault     *SOAPFault11
	HTTP          *HTTPMessage11
	MIME          *MIMEMessage11
	Location      Location
}

BindingMessage11 applies concrete extensions to an operation message.

type BindingMessageReference20

type BindingMessageReference20 struct {
	Extensibility
	MessageLabel  string
	Documentation *Documentation
	SOAP          *SOAPMessageBinding20
	HTTP          *HTTPMessageBinding20
	Location      Location
}

BindingMessageReference20 binds one message in an interface operation.

type BindingOperation11

type BindingOperation11 struct {
	Extensibility
	Name          string
	Documentation *Documentation
	SOAP          *SOAPOperation11
	HTTP          *HTTPOperation11
	Input         *BindingMessage11
	Output        *BindingMessage11
	Faults        []BindingMessage11
	Location      Location
}

BindingOperation11 binds one abstract WSDL 1.1 operation.

type BindingOperation20

type BindingOperation20 struct {
	Extensibility
	Ref           QName
	Documentation *Documentation
	SOAP          *SOAPOperationBinding20
	HTTP          *HTTPOperationBinding20
	Inputs        []BindingMessageReference20
	Outputs       []BindingMessageReference20
	InFaults      []BindingFaultReference20
	OutFaults     []BindingFaultReference20
	Location      Location
}

BindingOperation20 binds one WSDL 2.0 interface operation.

type Definitions11

type Definitions11 struct {
	Name                string
	TargetNamespace     string
	Documentation       *Documentation
	Imports             []Import11
	Types               *Types11
	Messages            []Message11
	PortTypes           []PortType11
	Bindings            []Binding11
	Services            []Service11
	Extensions          []Extension
	ExtensionAttributes []ExtensionAttribute
	Location            Location
}

Definitions11 is the root of a WSDL 1.1 description.

type Description20

type Description20 struct {
	Extensibility
	TargetNamespace string
	Documentation   *Documentation
	Imports         []Import20
	Includes        []Include20
	Types           *Types20
	Interfaces      []Interface20
	Bindings        []Binding20
	Services        []Service20
	Location        Location
}

Description20 is the root of a WSDL 2.0 description.

type Diagnostic

type Diagnostic struct {
	Code     string
	Severity Severity
	Message  string
	Path     string
	Location Location
}

Diagnostic describes one bounded parsing, validation, or compilation issue.

type Diagnostics

type Diagnostics []Diagnostic

Diagnostics is an ordered collection of issues.

func Validate

func Validate(document *Document, options ValidationOptions) Diagnostics

Validate checks the semantic constraints and component references in a parsed WSDL document. It never resolves imports or reads external resources.

func (Diagnostics) Err

func (d Diagnostics) Err() error

Err returns diagnostics as an error when any error diagnostic is present.

func (Diagnostics) Error

func (d Diagnostics) Error() string

Error returns a compact, deterministic summary suitable for error paths.

func (Diagnostics) HasErrors

func (d Diagnostics) HasErrors() bool

HasErrors reports whether at least one error diagnostic is present.

type Document

type Document struct {
	// contains filtered or unexported fields
}

Document contains exactly one version-specific WSDL document model.

func NewDocument11

func NewDocument11(
	value Definitions11,
	validation ValidationOptions,
) (*Document, error)

NewDocument11 canonicalizes and validates a caller-owned WSDL 1.1 model.

func NewDocument20

func NewDocument20(
	value Description20,
	validation ValidationOptions,
) (*Document, error)

NewDocument20 canonicalizes and validates a caller-owned WSDL 2.0 model.

func Parse

func Parse(ctx context.Context, source []byte, options ParseOptions) (*Document, error)

Parse decodes one WSDL document without loading external resources.

func (*Document) Definitions11

func (d *Document) Definitions11() (Definitions11, bool)

Definitions11 returns the WSDL 1.1 model when this is a WSDL 1.1 document.

func (*Document) Description20

func (d *Document) Description20() (Description20, bool)

Description20 returns the WSDL 2.0 model when this is a WSDL 2.0 document.

func (*Document) Version

func (d *Document) Version() Version

Version reports the parsed WSDL version.

type Documentation

type Documentation struct {
	Language string
	Content  string
	Markup   string
	Location Location
}

Documentation preserves a WSDL documentation element.

type Endpoint20

type Endpoint20 struct {
	Extensibility
	Name          string
	Binding       QName
	Address       string
	Documentation *Documentation
	HTTP          *HTTPEndpoint20
	Location      Location
}

Endpoint20 is one concrete WSDL 2.0 service endpoint.

type Extensibility

type Extensibility struct {
	Extensions          []Extension
	ExtensionAttributes []ExtensionAttribute
}

Extensibility preserves foreign attributes and child elements attached to a WSDL component.

type Extension

type Extension struct {
	Name        QName
	Attributes  []ExtensionAttribute
	Required    bool
	RequiredSet bool
	XML         []byte
	Location    Location
}

Extension preserves one foreign-namespace extension element.

type ExtensionAttribute

type ExtensionAttribute struct {
	Name     QName
	Value    string
	Location Location
}

ExtensionAttribute preserves an attribute outside the owning WSDL vocabulary as an expanded name and lexical value.

type HTTPAddress11

type HTTPAddress11 struct {
	Location string
	Source   Location
}

HTTPAddress11 is the endpoint address supplied by an HTTP binding.

type HTTPBinding11

type HTTPBinding11 struct {
	Verb     string
	Location Location
}

HTTPBinding11 configures the verb for a WSDL 1.1 HTTP binding.

type HTTPBinding20

type HTTPBinding20 struct {
	MethodDefault                     string
	MethodDefaultSet                  bool
	Version                           string
	VersionSet                        bool
	QueryParameterSeparatorDefault    string
	QueryParameterSeparatorDefaultSet bool
	ContentEncodingDefault            string
	ContentEncodingDefaultSet         bool
	DefaultTransferCoding             string
	DefaultTransferCodingSet          bool
	Cookies                           bool
	CookiesSet                        bool
}

HTTPBinding20 contains HTTP properties attached to a binding.

type HTTPEndpoint20

type HTTPEndpoint20 struct {
	AuthenticationScheme    string
	AuthenticationSchemeSet bool
	AuthenticationRealm     string
	AuthenticationRealmSet  bool
}

HTTPEndpoint20 contains HTTP authentication properties on an endpoint.

type HTTPFaultBinding20

type HTTPFaultBinding20 struct {
	Code               string
	CodeSet            bool
	ContentEncoding    string
	ContentEncodingSet bool
	TransferCoding     string
	TransferCodingSet  bool
	Headers            []HTTPHeader20
}

HTTPFaultBinding20 contains HTTP properties attached to a binding fault.

type HTTPFaultReferenceBinding20

type HTTPFaultReferenceBinding20 struct {
	TransferCoding    string
	TransferCodingSet bool
}

HTTPFaultReferenceBinding20 contains HTTP transfer properties on a fault reference.

type HTTPHeader20

type HTTPHeader20 struct {
	Extensibility
	Name          string
	Type          QName
	Required      bool
	RequiredSet   bool
	Documentation *Documentation
	Location      Location
}

HTTPHeader20 declares one HTTP header field used by a binding message.

type HTTPMessage11

type HTTPMessage11 struct {
	Mode     HTTPMessageMode
	Location Location
}

HTTPMessage11 configures WSDL 1.1 HTTP input serialization.

type HTTPMessageBinding20

type HTTPMessageBinding20 struct {
	ContentEncoding    string
	ContentEncodingSet bool
	TransferCoding     string
	TransferCodingSet  bool
	Headers            []HTTPHeader20
}

HTTPMessageBinding20 contains HTTP properties attached to a message reference.

type HTTPMessageMode

type HTTPMessageMode string

HTTPMessageMode identifies WSDL 1.1 HTTP input serialization.

const (
	HTTPURLEncoded     HTTPMessageMode = "urlEncoded"
	HTTPURLReplacement HTTPMessageMode = "urlReplacement"
)

type HTTPOperation11

type HTTPOperation11 struct {
	Location string
	Source   Location
}

HTTPOperation11 configures the relative URI template of an HTTP operation.

type HTTPOperationBinding20

type HTTPOperationBinding20 struct {
	Location                   string
	LocationSet                bool
	Method                     string
	MethodSet                  bool
	InputSerialization         string
	InputSerializationSet      bool
	OutputSerialization        string
	OutputSerializationSet     bool
	FaultSerialization         string
	FaultSerializationSet      bool
	QueryParameterSeparator    string
	QueryParameterSeparatorSet bool
	ContentEncodingDefault     string
	ContentEncodingDefaultSet  bool
	DefaultTransferCoding      string
	DefaultTransferCodingSet   bool
	IgnoreUncited              bool
	IgnoreUncitedSet           bool
}

HTTPOperationBinding20 contains HTTP properties attached to an operation.

type Import11

type Import11 struct {
	Extensibility
	Namespace     string
	Location      string
	URI           string
	Documentation *Documentation
	Source        Location
}

Import11 references a WSDL 1.1 document for another namespace. URI is the resolved identity; parsing never loads it.

type Import20

type Import20 struct {
	Extensibility
	Namespace     string
	Location      string
	URI           string
	Documentation *Documentation
	Source        Location
}

Import20 references a WSDL 2.0 description in another namespace.

type Include20

type Include20 struct {
	Extensibility
	Location      string
	URI           string
	Documentation *Documentation
	Source        Location
}

Include20 references a WSDL 2.0 description in the same namespace.

type Interface20

type Interface20 struct {
	Extensibility
	Name          string
	Extends       []QName
	StyleDefault  []string
	Documentation *Documentation
	Faults        []InterfaceFault20
	Operations    []InterfaceOperation20
	Location      Location
}

Interface20 is a named WSDL 2.0 abstract interface.

type InterfaceFault20

type InterfaceFault20 struct {
	Extensibility
	Name                   string
	Element                QName
	MessageContentModel    MessageContentModel
	MessageContentModelSet bool
	Documentation          *Documentation
	Location               Location
}

InterfaceFault20 declares a fault available to interface operations.

type InterfaceFaultReference20

type InterfaceFaultReference20 struct {
	Extensibility
	Ref           QName
	MessageLabel  string
	Documentation *Documentation
	Location      Location
}

InterfaceFaultReference20 connects an operation to an interface fault.

type InterfaceMessageReference20

type InterfaceMessageReference20 struct {
	Extensibility
	MessageLabel           string
	Element                QName
	MessageContentModel    MessageContentModel
	MessageContentModelSet bool
	Documentation          *Documentation
	Location               Location
}

InterfaceMessageReference20 describes one operation message.

type InterfaceOperation20

type InterfaceOperation20 struct {
	Extensibility
	Name            string
	Pattern         MessageExchangePattern
	Style           []string
	Safe            bool
	SafeSet         bool
	RPCSignature    []RPCSignatureParameter20
	RPCSignatureSet bool
	Documentation   *Documentation
	Inputs          []InterfaceMessageReference20
	Outputs         []InterfaceMessageReference20
	// Input and Output retain the first message for source compatibility.
	Input     *InterfaceMessageReference20
	Output    *InterfaceMessageReference20
	InFaults  []InterfaceFaultReference20
	OutFaults []InterfaceFaultReference20
	Location  Location
}

InterfaceOperation20 describes one abstract WSDL 2.0 operation.

type Location

type Location struct {
	SystemID string
	Line     int
	Column   int
	Offset   int64
}

Location identifies an XML source position.

type MIMEContent11

type MIMEContent11 struct {
	Part     string
	Type     string
	Location Location
}

MIMEContent11 binds one message part to an Internet media type.

type MIMEMessage11

type MIMEMessage11 struct {
	Contents  []MIMEContent11
	XML       []MIMEXML11
	Multipart []MIMEMultipart11
}

MIMEMessage11 contains MIME extensions applied to a bound message.

type MIMEMultipart11

type MIMEMultipart11 struct {
	Parts    []MIMEPart11
	Location Location
}

MIMEMultipart11 describes a multipart/related message.

type MIMEPart11

type MIMEPart11 struct {
	Contents []MIMEContent11
	XML      []MIMEXML11
	SOAPBody *SOAPBody11
	Location Location
}

MIMEPart11 is one part of a multipart/related binding.

type MIMEXML11

type MIMEXML11 struct {
	Part     string
	Location Location
}

MIMEXML11 binds one message part as XML.

type MarshalOptions

type MarshalOptions struct {
	MaxBytes      int64
	Indent        string
	IncludeHeader bool
}

MarshalOptions controls deterministic WSDL serialization.

type Message11

type Message11 struct {
	Extensibility
	Name          string
	Documentation *Documentation
	Parts         []Part11
	Location      Location
}

Message11 is a named WSDL 1.1 abstract message.

type MessageContentModel

type MessageContentModel string

MessageContentModel identifies how a WSDL 2.0 message payload is described.

const (
	MessageContentAny     MessageContentModel = "#any"
	MessageContentNone    MessageContentModel = "#none"
	MessageContentOther   MessageContentModel = "#other"
	MessageContentElement MessageContentModel = "#element"
)

type MessageExchangePattern

type MessageExchangePattern string

MessageExchangePattern identifies the message flow of a WSDL 2.0 operation.

const (
	MEPInOnly        MessageExchangePattern = "http://www.w3.org/ns/wsdl/in-only"
	MEPRobustInOnly  MessageExchangePattern = "http://www.w3.org/ns/wsdl/robust-in-only"
	MEPInOut         MessageExchangePattern = "http://www.w3.org/ns/wsdl/in-out"
	MEPInOptionalOut MessageExchangePattern = "http://www.w3.org/ns/wsdl/in-opt-out"
	MEPOutOnly       MessageExchangePattern = "http://www.w3.org/ns/wsdl/out-only"
	MEPRobustOutOnly MessageExchangePattern = "http://www.w3.org/ns/wsdl/robust-out-only"
	MEPOutIn         MessageExchangePattern = "http://www.w3.org/ns/wsdl/out-in"
	MEPOutOptionalIn MessageExchangePattern = "http://www.w3.org/ns/wsdl/out-opt-in"
)

type Operation11

type Operation11 struct {
	Extensibility
	Name           string
	Style          OperationStyle11
	ParameterOrder []string
	Documentation  *Documentation
	Input          *OperationMessage11
	Output         *OperationMessage11
	Faults         []OperationMessage11
	Location       Location
}

Operation11 is a WSDL 1.1 abstract operation.

type OperationMessage11

type OperationMessage11 struct {
	Extensibility
	Name          string
	Message       QName
	Documentation *Documentation
	Location      Location
}

OperationMessage11 references a message used by an abstract operation.

type OperationStyle11

type OperationStyle11 string

OperationStyle11 identifies the message ordering of a WSDL 1.1 operation.

const (
	OperationStyleOneWay          OperationStyle11 = "one-way"
	OperationStyleRequestResponse OperationStyle11 = "request-response"
	OperationStyleSolicitResponse OperationStyle11 = "solicit-response"
	OperationStyleNotification    OperationStyle11 = "notification"
)

type ParseOptions

type ParseOptions struct {
	MaxDocumentBytes int64
	MaxDepth         int
	MaxElements      int
	MaxAttributes    int
	MaxTextBytes     int64
	MaxSchemas       int
	MaxImports       int
	MaxOperations    int
	MaxBindings      int
	MaxEndpoints     int
	MaxExtensions    int
	SystemID         string
}

ParseOptions controls bounded parsing of one caller-supplied document.

type Part11

type Part11 struct {
	Extensibility
	Name     string
	Element  QName
	Type     QName
	Location Location
}

Part11 is one abstract WSDL 1.1 message part.

type Port11

type Port11 struct {
	Extensibility
	Name          string
	Binding       QName
	Documentation *Documentation
	SOAPAddress   *SOAPAddress11
	HTTPAddress   *HTTPAddress11
	Location      Location
}

Port11 is one named endpoint in a WSDL 1.1 service.

type PortType11

type PortType11 struct {
	Extensibility
	Name          string
	Documentation *Documentation
	Operations    []Operation11
	Location      Location
}

PortType11 is a named WSDL 1.1 abstract interface.

type QName

type QName struct {
	Namespace string
	Local     string
}

QName is an expanded XML qualified name.

type RPCDirection

type RPCDirection string

RPCDirection identifies one WSDL 2.0 RPC signature parameter direction.

const (
	RPCDirectionIn     RPCDirection = "#in"
	RPCDirectionOut    RPCDirection = "#out"
	RPCDirectionInOut  RPCDirection = "#inout"
	RPCDirectionReturn RPCDirection = "#return"
)

type RPCSignatureParameter20

type RPCSignatureParameter20 struct {
	Name      QName
	Direction RPCDirection
}

RPCSignatureParameter20 is one qualified parameter and direction pair.

type SOAPAddress11

type SOAPAddress11 struct {
	Version  Version
	Location string
	Source   Location
}

SOAPAddress11 is the endpoint address supplied by a SOAP binding.

type SOAPBinding11

type SOAPBinding11 struct {
	Version      Version
	Style        SOAPStyle
	StyleSet     bool
	Transport    string
	TransportSet bool
	Location     Location
}

SOAPBinding11 configures a WSDL 1.1 SOAP binding.

type SOAPBinding20

type SOAPBinding20 struct {
	Version       string
	VersionSet    bool
	Protocol      string
	ProtocolSet   bool
	MEPDefault    string
	MEPDefaultSet bool
	Modules       []SOAPModule20
}

SOAPBinding20 contains SOAP properties attached to a binding.

type SOAPBody11

type SOAPBody11 struct {
	Version          Version
	Use              SOAPUse
	UseSet           bool
	Namespace        string
	NamespaceSet     bool
	EncodingStyle    []string
	EncodingStyleSet bool
	Parts            []string
	PartsSet         bool
	Location         Location
}

SOAPBody11 configures a SOAP message body.

type SOAPFault11

type SOAPFault11 struct {
	Version          Version
	Name             string
	Use              SOAPUse
	UseSet           bool
	Namespace        string
	NamespaceSet     bool
	EncodingStyle    []string
	EncodingStyleSet bool
	Location         Location
}

SOAPFault11 binds one WSDL fault to a SOAP fault.

type SOAPFaultBinding20

type SOAPFaultBinding20 struct {
	Code        QName
	CodeAny     bool
	CodeSet     bool
	Subcodes    []QName
	SubcodesAny bool
	SubcodesSet bool
	Modules     []SOAPModule20
	Headers     []SOAPHeader20
}

SOAPFaultBinding20 contains SOAP properties attached to a binding fault.

type SOAPFaultReferenceBinding20

type SOAPFaultReferenceBinding20 struct {
	Modules []SOAPModule20
}

SOAPFaultReferenceBinding20 contains SOAP modules attached to a fault reference.

type SOAPHeader11

type SOAPHeader11 struct {
	Version          Version
	Message          QName
	Part             string
	Use              SOAPUse
	UseSet           bool
	Namespace        string
	NamespaceSet     bool
	EncodingStyle    []string
	EncodingStyleSet bool
	HeaderFaults     []SOAPHeaderFault11
	Location         Location
}

SOAPHeader11 binds one message part to a SOAP header block.

type SOAPHeader20

type SOAPHeader20 struct {
	Extensibility
	Element           QName
	MustUnderstand    bool
	MustUnderstandSet bool
	Required          bool
	RequiredSet       bool
	Documentation     *Documentation
	Location          Location
}

SOAPHeader20 declares an element serialized as a SOAP header block.

type SOAPHeaderFault11

type SOAPHeaderFault11 struct {
	Version          Version
	Message          QName
	Part             string
	Use              SOAPUse
	UseSet           bool
	Namespace        string
	NamespaceSet     bool
	EncodingStyle    []string
	EncodingStyleSet bool
	Location         Location
}

SOAPHeaderFault11 binds a fault related to one SOAP header block.

type SOAPMessageBinding20

type SOAPMessageBinding20 struct {
	Modules []SOAPModule20
	Headers []SOAPHeader20
}

SOAPMessageBinding20 contains SOAP properties attached to a message reference.

type SOAPModule20

type SOAPModule20 struct {
	Extensibility
	Ref           string
	Required      bool
	RequiredSet   bool
	Documentation *Documentation
	Location      Location
}

SOAPModule20 declares a SOAP module required by a binding component.

type SOAPOperation11

type SOAPOperation11 struct {
	Version           Version
	Action            string
	ActionSet         bool
	ActionRequired    bool
	ActionRequiredSet bool
	Style             SOAPStyle
	StyleSet          bool
	Location          Location
}

SOAPOperation11 configures a bound SOAP operation.

type SOAPOperationBinding20

type SOAPOperationBinding20 struct {
	MEP       string
	MEPSet    bool
	Action    string
	ActionSet bool
	Modules   []SOAPModule20
}

SOAPOperationBinding20 contains SOAP properties attached to an operation.

type SOAPStyle

type SOAPStyle string

SOAPStyle is the SOAP RPC or document binding style.

const (
	SOAPStyleDocument SOAPStyle = "document"
	SOAPStyleRPC      SOAPStyle = "rpc"
)

type SOAPUse

type SOAPUse string

SOAPUse is the SOAP encoded or literal message use.

const (
	SOAPUseLiteral SOAPUse = "literal"
	SOAPUseEncoded SOAPUse = "encoded"
)

type Service11

type Service11 struct {
	Extensibility
	Name          string
	Documentation *Documentation
	Ports         []Port11
	Location      Location
}

Service11 groups related WSDL 1.1 endpoints.

type Service20

type Service20 struct {
	Extensibility
	Name          string
	Interface     QName
	Documentation *Documentation
	Endpoints     []Endpoint20
	Location      Location
}

Service20 groups endpoints implementing one interface.

type Severity

type Severity string

Severity classifies a validation diagnostic.

const (
	SeverityError   Severity = "error"
	SeverityWarning Severity = "warning"
)

type Types11

type Types11 struct {
	Extensibility
	Schemas  []*xsd.Document
	Location Location
}

Types11 contains the XML Schema documents embedded in WSDL 1.1 types. XML Schema parsing and compilation remain owned by xsd.

type Types20

type Types20 struct {
	Extensibility
	Imports  []xsd.SchemaReference
	Schemas  []*xsd.Document
	Location Location
}

Types20 contains the XML Schema documents embedded in WSDL 2.0 types. XML Schema parsing and compilation remain owned by xsd.

type ValidationOptions

type ValidationOptions struct {
	MaxDiagnostics       int
	UnderstoodExtensions []QName
}

ValidationOptions controls semantic validation of one parsed document.

type Version

type Version string

Version identifies a supported WSDL language version.

const (
	// Version11 identifies WSDL 1.1 documents.
	Version11 Version = "1.1"
	// Version20 identifies WSDL 2.0 documents.
	Version20 Version = "2.0"
)
const Version12 Version = "1.2"

Version12 identifies SOAP 1.2 where a model carries a SOAP version.

Directories

Path Synopsis
Package builder constructs validated WSDL documents without XML parsing.
Package builder constructs validated WSDL documents without XML parsing.
Package codegen builds a bounded, transport-neutral generation model from an immutable compiled WSDL graph.
Package codegen builds a bounded, transport-neutral generation model from an immutable compiled WSDL graph.
Package compile resolves and compiles bounded WSDL document graphs.
Package compile resolves and compiles bounded WSDL document graphs.
Package compose merges same-version, same-namespace WSDL documents.
Package compose merges same-version, same-namespace WSDL documents.
Package diff compares immutable compiled WSDL component graphs.
Package diff compares immutable compiled WSDL component graphs.
Package resolve defines explicit resource resolution for WSDL graphs.
Package resolve defines explicit resource resolution for WSDL graphs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL