Documentation ¶
Index ¶
- Constants
- type Binary
- type Client
- type Envelope
- type HTTPClient
- type Header
- type Option
- func WithBasicAuth(login, password string) Option
- func WithCustomRequest(e Envelope) Option
- func WithCustomResponse(e Envelope) Option
- func WithHTTPClient(c HTTPClient) Option
- func WithHTTPHeaders(headers map[string]string) Option
- func WithMTOM() Option
- func WithRequestTimeout(t time.Duration) Option
- func WithTLS(tls *tls.Config) Option
- func WithTLSHandshakeTimeout(t time.Duration) Option
- func WithTimeout(t time.Duration) Option
- type SOAPBody
- type SOAPDecoder
- type SOAPEncoder
- type SOAPEnvelope
- type SOAPFault
- type SOAPHeader
- type SOAPHeaderAction
- type SOAPHeaderTo
- type WSSPassword
- type WSSSecurityHeader
- type WSSUsername
- type WSSUsernameToken
Constants ¶
const ( // Predefined WSS namespaces to be used in WssNsWSSE string = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" WssNsWSU string = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" WssNsType string = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Binary ¶
type Binary struct {
// contains filtered or unexported fields
}
Binary enables binary data to be enchanged in MTOM mode with XOP encoding When MTOM is not used, the field is encoded in Base64
func (*Binary) ContentType ¶
ContentType returns the content type
func (*Binary) MarshalXML ¶
MarshalXML implements the xml.Marshaler interface to encode a Binary to XML
func (*Binary) SetContentType ¶
SetContentType sets the content type the content will be transmitted as multipart
func (*Binary) UnmarshalXML ¶
UnmarshalXML implements the xml.Unmarshaler interface to decode a Binary form XML
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is soap client
type HTTPClient ¶
HTTPClient is a client which can make HTTP requests An example implementation is net/http.Client
type Option ¶
type Option func(*options)
A Option sets options such as credentials, tls, etc.
func WithBasicAuth ¶
WithBasicAuth is an Option to set BasicAuth
func WithCustomRequest ¶ added in v1.0.0
With Custom Envelope Request is an option for customizing the Envelope.
func WithCustomResponse ¶ added in v1.0.0
With Custom Envelope Response is an option for customizing the Envelope.
func WithHTTPClient ¶
func WithHTTPClient(c HTTPClient) Option
WithHTTPClient is an Option to set the HTTP client to use This cannot be used with WithTLSHandshakeTimeout, WithTLS, WithTimeout options
func WithHTTPHeaders ¶
WithHTTPHeaders is an Option to set global HTTP headers for all requests
func WithMTOM ¶
func WithMTOM() Option
WithMTOM is an Option to set Message Transmission Optimization Mechanism MTOM encodes fields of type Binary using XOP.
func WithRequestTimeout ¶
WithRequestTimeout is an Option to set default end-end connection timeout This option cannot be used with WithHTTPClient
func WithTLS ¶
WithTLS is an Option to set tls config This option cannot be used with WithHTTPClient
func WithTLSHandshakeTimeout ¶
WithTLSHandshakeTimeout is an Option to set default tls handshake timeout This option cannot be used with WithHTTPClient
func WithTimeout ¶
WithTimeout is an Option to set default HTTP dial timeout
type SOAPBody ¶
type SOAPBody struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Body"` Fault error `xml:",omitempty"` Content interface{} `xml:",omitempty"` }
func (*SOAPBody) UnmarshalXML ¶
UnmarshalXML unmarshals SOAPBody xml
type SOAPDecoder ¶
type SOAPDecoder interface { Decode(v interface{}) error DecodeElement(v interface{}, start *xml.StartElement) error }
type SOAPEncoder ¶
type SOAPEnvelope ¶
type SOAPEnvelope struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"` Header Header `xml:"http://schemas.xmlsoap.org/soap/envelope/ Header"` Body SOAPBody }
func (*SOAPEnvelope) AddAction ¶ added in v1.0.1
func (s *SOAPEnvelope) AddAction(soapAction string)
func (*SOAPEnvelope) AddContent ¶
func (s *SOAPEnvelope) AddContent(content interface{})
func (*SOAPEnvelope) GetFault ¶
func (s *SOAPEnvelope) GetFault() error
func (*SOAPEnvelope) SetHeader ¶ added in v1.0.1
func (s *SOAPEnvelope) SetHeader(header Header)
type SOAPFault ¶
type SOAPHeader ¶
type SOAPHeader struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Header"` To *SOAPHeaderTo Action *SOAPHeaderAction Content interface{} `xml:",omitempty"` }
func (*SOAPHeader) SetAction ¶ added in v1.0.1
func (h *SOAPHeader) SetAction(action string)
func (*SOAPHeader) SetContent ¶
func (h *SOAPHeader) SetContent(content interface{})
type SOAPHeaderAction ¶ added in v1.0.1
type SOAPHeaderTo ¶ added in v1.0.1
type WSSPassword ¶
type WSSSecurityHeader ¶
type WSSSecurityHeader struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ wsse:Security"` XmlNSWsse string `xml:"xmlns:wsse,attr"` MustUnderstand string `xml:"mustUnderstand,attr,omitempty"` Token *WSSUsernameToken `xml:",omitempty"` }
func NewWSSSecurityHeader ¶
func NewWSSSecurityHeader(user, pass, tokenID, mustUnderstand string) *WSSSecurityHeader
NewWSSSecurityHeader creates WSSSecurityHeader instance
type WSSUsername ¶
type WSSUsernameToken ¶
type WSSUsernameToken struct { XMLName xml.Name `xml:"wsse:UsernameToken"` XmlNSWsu string `xml:"xmlns:wsu,attr"` XmlNSWsse string `xml:"xmlns:wsse,attr"` Id string `xml:"wsu:Id,attr,omitempty"` Username *WSSUsername `xml:",omitempty"` Password *WSSPassword `xml:",omitempty"` }