Documentation ¶
Index ¶
- Constants
- type BasicAuth
- type Body
- type Client
- type Envelope
- type Fault
- type Header
- type OperationHandlerFunc
- type OperationHandlerFuncWithInfo
- type RequestFactoryFunc
- type Server
- func (s *Server) RegisterHandler(path string, action string, messageType string, ...)
- func (s *Server) RegisterHandlerWithInfo(path string, action string, messageType string, ...)
- func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (s *Server) UseSoap11()
- func (s *Server) UseSoap12()
- func (s *Server) WriteHeader(w http.ResponseWriter, code int)
- type XMLMarshaller
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 LogLevel int // 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) // 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"` 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 OperationHandlerFuncWithInfo ¶ added in v1.4.4
type OperationHandlerFuncWithInfo func(request interface{}, w http.ResponseWriter, httpRequest *http.Request, handlerInfo interface{}) (response interface{}, err error)
OperationHandlerFuncWithInfo A modified operational handler function that also passes in an optional information field that can be used to pass in extra information about the request. Its type is upto the handler to define.
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.* Log func(msg string, keyString_ValueInterface ...interface{}) Marshaller XMLMarshaller ContentType string SoapVersion string LogLevel int // 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) RegisterHandlerWithInfo ¶ added in v1.4.4
func (s *Server) RegisterHandlerWithInfo(path string, action string, messageType string, requestFactory RequestFactoryFunc, operationHandlerFunc OperationHandlerFuncWithInfo, reqStruct interface{}, handlerInfo interface{})
RegisterHandlerWithInfo Register a slightly differenct handler function, to enable auto generation of the Reqest struct from the type. also the modiled 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.