Documentation ¶
Overview ¶
Package soap provides a SOAP HTTP client.
Index ¶
Constants ¶
const XSINamespace = "http://www.w3.org/2001/XMLSchema-instance"
XSINamespace is a link to the XML Schema instance namespace.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthHeader ¶
type AuthHeader struct { Namespace string `xml:"xmlns:ns,attr"` Username string `xml:"ns:username"` Password string `xml:"ns:password"` }
AuthHeader is a Header to be encoded as the SOAP Header element in requests, to convey credentials for authentication.
type Client ¶
type Client struct { URL string // URL of the server UserAgent string // User-Agent header will be added to each request Namespace string // SOAP Namespace URNamespace string // Uniform Resource Namespace ThisNamespace string // SOAP This-Namespace (tns) ExcludeActionNamespace bool // Include Namespace to SOAP Action header Envelope string // Optional SOAP Envelope Header Header // Optional SOAP Header ContentType string // Optional Content-Type (default text/xml) Config Doer // Optional HTTP client, or similar Pre func(*http.Request) // Optional hook to modify outbound requests Post func(*http.Response) // Optional hook to snoop inbound responses Ctx context.Context // Optional variable to allow Context Tracking. }
Client is a SOAP client.
func (*Client) RoundTripSoap12 ¶ added in v1.4.6
RoundTripSoap12 implements the RoundTripper interface for SOAP 1.2.
type Doer ¶ added in v1.6.0
type Doer interface { // Do sends an HTTP request and returns an HTTP response. Do(*http.Request) (*http.Response, error) }
Doer is an interface that is implemented by http.Client, but allows for callers to have other implementations, and it allows for mocking/faking in unit-tests.
type Envelope ¶
type Envelope struct { XMLName xml.Name `xml:"SOAP-ENV:Envelope"` EnvelopeAttr string `xml:"xmlns:SOAP-ENV,attr"` NSAttr string `xml:"xmlns,attr"` TNSAttr string `xml:"xmlns:tns,attr,omitempty"` URNAttr string `xml:"xmlns:urn,attr,omitempty"` XSIAttr string `xml:"xmlns:xsi,attr,omitempty"` Header Message `xml:"SOAP-ENV:Header"` Body Message `xml:"SOAP-ENV:Body"` }
Envelope is a SOAP envelope.
type Header ¶
type Header interface{}
Header is an opaque type used as the SOAP Header element in requests.
type Message ¶
type Message interface{}
Message is an opaque type used by the RoundTripper to carry XML documents for SOAP.
type RoundTripper ¶
type RoundTripper interface { RoundTrip(req, resp Message) error RoundTripSoap12(action string, req, resp Message) error }
A RoundTripper executes a request passing the given req as the SOAP envelope body. The HTTP response is then de-serialized onto the resp object. Returns error in case an error occurs serializing req, making the HTTP request, or de-serializing the response.