Documentation ¶
Index ¶
Constants ¶
const ( SoapVersion11 = "1.1" SoapVersion12 = "1.2" SoapContentType11 = "text/xml; charset=\"utf-8\"" SoapContentType12 = "application/soap+xml; charset=\"utf-8\"" NamespaceSoap11 = "http://schemas.xmlsoap.org/soap/envelope/" NamespaceSoap12 = "http://www.w3.org/2003/05/soap-envelope" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Body ¶
type Body struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Body"` Fault *Fault `xml:",omitempty"` Content interface{} `xml:",omitempty"` SOAPBodyContentType string `xml:"-"` }
Body type
func (*Body) UnmarshalXML ¶
UnmarshalXML implement xml.Unmarshaler
type Client ¶
type Client struct { Log func(msg string, keyString_ValueInterface ...interface{}) // optional Marshaller XMLMarshaller UserAgent string // optional, falls back to "go-soap-0.1" ContentType string // optional, falls back to SOAP 1.1 RequestHeaderFn func(http.Header) // optional, allows to modify the request header before it gets submitted. SoapVersion string HTTPClientDoFn func(req *http.Request) (*http.Response, error) LogRemoveHeaderNames []string // contains filtered or unexported fields }
Client generic SOAP client
func NewClient ¶
NewClient constructor. SOAP 1.1 is used by default. Switch to SOAP 1.2 with UseSoap12(). Argument rt can be nil and it will fall back to the default http.Transport.
type Envelope ¶
type Envelope struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"` Attributes []xml.Attr `xml:",attr"` Header Header Body Body }
Envelope type `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
type Fault ¶
type Fault struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault"` Code string `xml:"faultcode,omitempty"` String string `xml:"faultstring,omitempty"` Actor string `xml:"faultactor,omitempty"` Detail string `xml:"detail,omitempty"` }
Fault type
type Header ¶
type Header struct { XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Header"` Header interface{} }
Header type
type OperationHandlerFunc ¶
type OperationHandlerFunc func(request interface{}, w http.ResponseWriter, httpRequest *http.Request) (response interface{}, err error)
OperationHandlerFunc runs the actual business logic - request is whatever you constructed in RequestFactoryFunc
type RequestFactoryFunc ¶
type RequestFactoryFunc func() interface{}
RequestFactoryFunc constructs a request object for OperationHandlerFunc
type Server ¶
type Server struct { Log func(...interface{}) // do nothing on nil or add your fmt.Print* or log.* Marshaller XMLMarshaller ContentType string SoapVersion string EnvelopeAttributes []xml.Attr RequestModifyFn func(r *http.Request) *http.Request // contains filtered or unexported fields }
Server a SOAP server, which can be run standalone or used as a http.HandlerFunc
func (*Server) RegisterHandler ¶
func (s *Server) RegisterHandler(path string, action string, messageType string, requestFactory RequestFactoryFunc, operationHandlerFunc OperationHandlerFunc)
RegisterHandler register to handle an operation. This function must not be called after the server has been started.
func (*Server) WriteHeader ¶
func (s *Server) WriteHeader(w http.ResponseWriter, code int)
WriteHeader first set the content-type header and then writes the header code.