Documentation
¶
Index ¶
Constants ¶
const ( AppVersion = "v1.3.3" 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)
// 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 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
// 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.