Documentation
¶
Index ¶
Constants ¶
const ( Version11 = "1.1" Version12 = "1.2" ContentType11 = "text/xml; charset=\"utf-8\"" ContentType12 = "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 any `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 ...any) // 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"` 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 any }
Header type
type OperationHandlerFunc ¶
type OperationHandlerFunc func(request any, w http.ResponseWriter, httpRequest *http.Request) (response any, err error)
OperationHandlerFunc runs the actual business logic - request is whatever you constructed in RequestFactoryFunc
type RequestFactoryFunc ¶
type RequestFactoryFunc func() any
RequestFactoryFunc constructs a request object for OperationHandlerFunc
type Server ¶
type Server struct { Log func(...any) // do nothing on nil or add your fmt.Print* or log.* Marshaller XMLMarshaller ContentType string SoapVersion string 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.