Version: v1.4.6 Latest Latest

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

Go to latest
Published: Nov 28, 2018 License: BSD-3-Clause Imports: 7 Imported by: 0



Package soap provides a SOAP HTTP client.



View Source
const XSINamespace = ""

XSINamespace is a link to the XML Schema instance namespace.


This section is empty.


This section is empty.


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 Body

type Body struct {
	XMLName xml.Name `xml:"SOAP-ENV:Body"`
	Message Message

Body is the body of a SOAP envelope.

type Client

type Client struct {
	URL                    string              // URL of the server
	Namespace              string              // SOAP Namespace
	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                 *http.Client        // Optional HTTP client
	Pre                    func(*http.Request) // Optional hook to modify outbound requests

Client is a SOAP client.

func (*Client) RoundTrip

func (c *Client) RoundTrip(in, out Message) error

RoundTrip implements the RoundTripper interface.

func (*Client) RoundTripSoap12 added in v1.4.6

func (c *Client) RoundTripSoap12(action string, in, out Message) error

RoundTripSoap12 implements the RoundTripper interface for SOAP 1.2.

func (*Client) RoundTripWithAction added in v1.4.6

func (c *Client) RoundTripWithAction(soapAction string, in, out Message) error

RoundTripWithAction implements the RoundTripper interface for SOAP clients that need to set the SOAPAction header.

type Envelope

type Envelope struct {
	XMLName      xml.Name `xml:"SOAP-ENV:Envelope"`
	EnvelopeAttr string   `xml:"xmlns:SOAP-ENV,attr"`
	NSAttr       string   `xml:"xmlns:ns,attr"`
	XSIAttr      string   `xml:"xmlns:xsi,attr,omitempty"`
	Header       Message  `xml:"SOAP-ENV:Header"`
	Body         Body

Envelope is a SOAP envelope.

type HTTPError added in v1.4.6

type HTTPError struct {
	StatusCode int
	Status     string
	Msg        string

HTTPError is detailed soap http error

func (*HTTPError) Error added in v1.4.6

func (e *HTTPError) Error() string
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.

type XMLTyper added in v1.4.6

type XMLTyper interface {

XMLTyper is an abstract interface for types that can set an XML type.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL