Documentation ¶
Index ¶
- type GoWSDL
- type Location
- type WSDL
- type WSDLBinding
- type WSDLFault
- type WSDLImport
- type WSDLInput
- type WSDLMessage
- type WSDLOperation
- type WSDLOutput
- type WSDLPart
- type WSDLPort
- type WSDLPortType
- type WSDLSOAPAddress
- type WSDLSOAPBinding
- type WSDLSOAPBody
- type WSDLSOAPFault
- type WSDLSOAPHeader
- type WSDLSOAPHeaderFault
- type WSDLSOAPOperation
- type WSDLService
- type WSDLType
- type XSDAttribute
- type XSDComplexContent
- type XSDComplexType
- type XSDElement
- type XSDExtension
- type XSDGroup
- type XSDImport
- type XSDInclude
- type XSDList
- type XSDRestriction
- type XSDRestrictionValue
- type XSDSchema
- type XSDSimpleContent
- type XSDSimpleType
- type XSDUnion
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GoWSDL ¶
type GoWSDL struct {
// contains filtered or unexported fields
}
GoWSDL defines the struct for WSDL generator.
type Location ¶ added in v0.3.0
type Location struct {
// contains filtered or unexported fields
}
A Location encapsulate information about the loc of WSDL/XSD.
It could be either URL or an absolute file path.
func ParseLocation ¶ added in v0.3.0
ParseLocation parses a rawloc into a Location structure.
If rawloc is URL then it should be absolute. Relative file path will be converted into absolute path.
type WSDL ¶
type WSDL struct { Xmlns map[string]string `xml:"-"` Name string `xml:"name,attr"` TargetNamespace string `xml:"targetNamespace,attr"` Imports []*WSDLImport `xml:"import"` Doc string `xml:"documentation"` Types WSDLType `xml:"http://schemas.xmlsoap.org/wsdl/ types"` Messages []*WSDLMessage `xml:"http://schemas.xmlsoap.org/wsdl/ message"` PortTypes []*WSDLPortType `xml:"http://schemas.xmlsoap.org/wsdl/ portType"` Binding []*WSDLBinding `xml:"http://schemas.xmlsoap.org/wsdl/ binding"` Service []*WSDLService `xml:"http://schemas.xmlsoap.org/wsdl/ service"` }
WSDL represents the global structure of a WSDL file.
func (*WSDL) UnmarshalXML ¶ added in v0.3.0
UnmarshalXML implements interface xml.Unmarshaler for XSDSchema.
type WSDLBinding ¶
type WSDLBinding struct { Name string `xml:"name,attr"` Type string `xml:"type,attr"` Doc string `xml:"documentation"` SOAPBinding WSDLSOAPBinding `xml:"http://schemas.xmlsoap.org/wsdl/soap/ binding"` Operations []*WSDLOperation `xml:"http://schemas.xmlsoap.org/wsdl/ operation"` }
WSDLBinding defines only a SOAP binding and its operations
type WSDLFault ¶
type WSDLFault struct { Name string `xml:"name,attr"` Message string `xml:"message,attr"` Doc string `xml:"documentation"` SOAPFault WSDLSOAPFault `xml:"http://schemas.xmlsoap.org/wsdl/soap/ fault"` }
WSDLFault represents a WSDL fault message.
type WSDLImport ¶
type WSDLImport struct { Namespace string `xml:"namespace,attr"` Location string `xml:"location,attr"` }
WSDLImport is the struct used for deserializing WSDL imports.
type WSDLInput ¶
type WSDLInput struct { Name string `xml:"name,attr"` Message string `xml:"message,attr"` Doc string `xml:"documentation"` SOAPBody WSDLSOAPBody `xml:"http://schemas.xmlsoap.org/wsdl/soap/ body"` SOAPHeader []*WSDLSOAPHeader `xml:"http://schemas.xmlsoap.org/wsdl/soap/ header"` }
WSDLInput represents a WSDL input message.
type WSDLMessage ¶
type WSDLMessage struct { Name string `xml:"name,attr"` Doc string `xml:"documentation"` Parts []*WSDLPart `xml:"http://schemas.xmlsoap.org/wsdl/ part"` }
WSDLMessage represents a function, which in turn has one or more parameters.
type WSDLOperation ¶
type WSDLOperation struct { Name string `xml:"name,attr"` Doc string `xml:"documentation"` Input WSDLInput `xml:"input"` Output WSDLOutput `xml:"output"` Faults []*WSDLFault `xml:"fault"` SOAPOperation WSDLSOAPOperation `xml:"http://schemas.xmlsoap.org/wsdl/soap/ operation"` }
WSDLOperation represents the contract of an entire operation or function.
type WSDLOutput ¶
type WSDLOutput struct { Name string `xml:"name,attr"` Message string `xml:"message,attr"` Doc string `xml:"documentation"` SOAPBody WSDLSOAPBody `xml:"http://schemas.xmlsoap.org/wsdl/soap/ body"` SOAPHeader []*WSDLSOAPHeader `xml:"http://schemas.xmlsoap.org/wsdl/soap/ header"` }
WSDLOutput represents a WSDL output message.
type WSDLPart ¶
type WSDLPart struct { Name string `xml:"name,attr"` Element string `xml:"element,attr"` Type string `xml:"type,attr"` }
WSDLPart defines the struct for a function parameter within a WSDL.
type WSDLPort ¶
type WSDLPort struct { Name string `xml:"name,attr"` Binding string `xml:"binding,attr"` Doc string `xml:"documentation"` SOAPAddress WSDLSOAPAddress `xml:"http://schemas.xmlsoap.org/wsdl/soap/ address"` }
WSDLPort defines the properties for a SOAP port only.
type WSDLPortType ¶
type WSDLPortType struct { Name string `xml:"name,attr"` Doc string `xml:"documentation"` Operations []*WSDLOperation `xml:"http://schemas.xmlsoap.org/wsdl/ operation"` }
WSDLPortType defines the service, operations that can be performed and the messages involved. A port type can be compared to a function library, module or class.
type WSDLSOAPAddress ¶
type WSDLSOAPAddress struct {
Location string `xml:"location,attr"`
}
WSDLSOAPAddress defines the location for the SOAP service.
type WSDLSOAPBinding ¶
type WSDLSOAPBinding struct { Style string `xml:"style,attr"` Transport string `xml:"transport,attr"` }
WSDLSOAPBinding represents a SOAP binding to the web service.
type WSDLSOAPBody ¶
type WSDLSOAPBody struct { Parts string `xml:"parts,attr"` Use string `xml:"use,attr"` EncodingStyle string `xml:"encodingStyle,attr"` Namespace string `xml:"namespace,attr"` }
WSDLSOAPBody defines SOAP body characteristics.
type WSDLSOAPFault ¶
type WSDLSOAPFault struct { Parts string `xml:"parts,attr"` Use string `xml:"use,attr"` EncodingStyle string `xml:"encodingStyle,attr"` Namespace string `xml:"namespace,attr"` }
WSDLSOAPFault defines a SOAP fault message characteristics.
type WSDLSOAPHeader ¶
type WSDLSOAPHeader struct { Message string `xml:"message,attr"` Part string `xml:"part,attr"` Use string `xml:"use,attr"` EncodingStyle string `xml:"encodingStyle,attr"` Namespace string `xml:"namespace,attr"` HeadersFault []*WSDLSOAPHeaderFault `xml:"headerfault"` }
WSDLSOAPHeader defines the header for a SOAP service.
type WSDLSOAPHeaderFault ¶
type WSDLSOAPHeaderFault struct { Message string `xml:"message,attr"` Part string `xml:"part,attr"` Use string `xml:"use,attr"` EncodingStyle string `xml:"encodingStyle,attr"` Namespace string `xml:"namespace,attr"` }
WSDLSOAPHeaderFault defines a SOAP fault header.
type WSDLSOAPOperation ¶
type WSDLSOAPOperation struct { SOAPAction string `xml:"soapAction,attr"` Style string `xml:"style,attr"` }
WSDLSOAPOperation represents a service operation in SOAP terms.
type WSDLService ¶
type WSDLService struct { Name string `xml:"name,attr"` Doc string `xml:"documentation"` Ports []*WSDLPort `xml:"http://schemas.xmlsoap.org/wsdl/ port"` }
WSDLService defines the list of SOAP services associated with the WSDL.
type WSDLType ¶
WSDLType represents the entry point for deserializing XSD schemas used by the WSDL file.
type XSDAttribute ¶
type XSDAttribute struct { Doc string `xml:"annotation>documentation"` Name string `xml:"name,attr"` Ref string `xml:"ref,attr"` Type string `xml:"type,attr"` Use string `xml:"use,attr"` Fixed string `xml:"fixed,attr"` SimpleType *XSDSimpleType `xml:"simpleType"` }
XSDAttribute represent an element attribute. Simple elements cannot have attributes. If an element has attributes, it is considered to be of a complex type. But the attribute itself is always declared as a simple type.
type XSDComplexContent ¶
type XSDComplexContent struct { XMLName xml.Name `xml:"complexContent"` Extension XSDExtension `xml:"extension"` }
XSDComplexContent element defines extensions or restrictions on a complex type that contains mixed content or elements only.
type XSDComplexType ¶
type XSDComplexType struct { XMLName xml.Name `xml:"complexType"` Abstract bool `xml:"abstract,attr"` Name string `xml:"name,attr"` Mixed bool `xml:"mixed,attr"` Sequence []*XSDElement `xml:"sequence>element"` Choice []*XSDElement `xml:"choice>element"` SequenceChoice []*XSDElement `xml:"sequence>choice>element"` All []*XSDElement `xml:"all>element"` ComplexContent XSDComplexContent `xml:"complexContent"` SimpleContent XSDSimpleContent `xml:"simpleContent"` Attributes []*XSDAttribute `xml:"attribute"` }
XSDComplexType represents a Schema complex type.
type XSDElement ¶
type XSDElement struct { XMLName xml.Name `xml:"element"` Name string `xml:"name,attr"` Doc string `xml:"annotation>documentation"` Nillable bool `xml:"nillable,attr"` Type string `xml:"type,attr"` Ref string `xml:"ref,attr"` MinOccurs string `xml:"minOccurs,attr"` MaxOccurs string `xml:"maxOccurs,attr"` ComplexType *XSDComplexType `xml:"complexType"` //local SimpleType *XSDSimpleType `xml:"simpleType"` Groups []*XSDGroup `xml:"group"` }
XSDElement represents a Schema element.
type XSDExtension ¶
type XSDExtension struct { XMLName xml.Name `xml:"extension"` Base string `xml:"base,attr"` Attributes []*XSDAttribute `xml:"attribute"` Sequence []XSDElement `xml:"sequence>element"` }
XSDExtension element extends an existing simpleType or complexType element.
type XSDGroup ¶
type XSDGroup struct { Name string `xml:"name,attr"` Ref string `xml:"ref,attr"` Sequence []XSDElement `xml:"sequence>element"` Choice []XSDElement `xml:"choice>element"` All []XSDElement `xml:"all>element"` }
XSDGroup element is used to define a group of elements to be used in complex type definitions.
type XSDImport ¶
type XSDImport struct { XMLName xml.Name `xml:"import"` SchemaLocation string `xml:"schemaLocation,attr"` Namespace string `xml:"namespace,attr"` }
XSDImport represents XSD imports within the main schema.
type XSDInclude ¶
type XSDInclude struct {
SchemaLocation string `xml:"schemaLocation,attr"`
}
XSDInclude represents schema includes.
type XSDList ¶ added in v0.3.0
type XSDList struct { Doc string `xml:"annotation>documentation"` ItemType string `xml:"itemType,attr"` SimpleType *XSDSimpleType `xml:"simpleType"` }
XSDList represents a element list
type XSDRestriction ¶
type XSDRestriction struct { Base string `xml:"base,attr"` Enumeration []XSDRestrictionValue `xml:"enumeration"` Pattern XSDRestrictionValue `xml:"pattern"` MinInclusive XSDRestrictionValue `xml:"minInclusive"` MaxInclusive XSDRestrictionValue `xml:"maxInclusive"` WhiteSpace XSDRestrictionValue `xml:"whitespace"` Length XSDRestrictionValue `xml:"length"` MinLength XSDRestrictionValue `xml:"minLength"` MaxLength XSDRestrictionValue `xml:"maxLength"` }
XSDRestriction defines restrictions on a simpleType, simpleContent, or complexContent definition.
type XSDRestrictionValue ¶
type XSDRestrictionValue struct { Doc string `xml:"annotation>documentation"` Value string `xml:"value,attr"` }
XSDRestrictionValue represents a restriction value.
type XSDSchema ¶
type XSDSchema struct { XMLName xml.Name `xml:"schema"` Xmlns map[string]string `xml:"-"` Tns string `xml:"xmlns tns,attr"` Xs string `xml:"xmlns xs,attr"` Version string `xml:"version,attr"` TargetNamespace string `xml:"targetNamespace,attr"` ElementFormDefault string `xml:"elementFormDefault,attr"` Includes []*XSDInclude `xml:"include"` Imports []*XSDImport `xml:"import"` Elements []*XSDElement `xml:"element"` Attributes []*XSDAttribute `xml:"attribute"` ComplexTypes []*XSDComplexType `xml:"complexType"` //global SimpleType []*XSDSimpleType `xml:"simpleType"` }
XSDSchema represents an entire Schema structure.
func (*XSDSchema) UnmarshalXML ¶ added in v0.3.0
UnmarshalXML implements interface xml.Unmarshaler for XSDSchema.
type XSDSimpleContent ¶
type XSDSimpleContent struct { XMLName xml.Name `xml:"simpleContent"` Extension XSDExtension `xml:"extension"` }
XSDSimpleContent element contains extensions or restrictions on a text-only complex type or on a simple type as content and contains no elements.
type XSDSimpleType ¶
type XSDSimpleType struct { Name string `xml:"name,attr"` Doc string `xml:"annotation>documentation"` Restriction XSDRestriction `xml:"restriction"` List XSDList `xml:"list"` Union XSDUnion `xml:"union"` Final string `xml:"final"` }
XSDSimpleType element defines a simple type and specifies the constraints and information about the values of attributes or text-only elements.
type XSDUnion ¶ added in v0.3.0
type XSDUnion struct { SimpleType []*XSDSimpleType `xml:"simpleType,omitempty"` MemberTypes string `xml:"memberTypes,attr"` }
XSDUnion represents a union element