/usr/share/gocode/src/github.com/masterzen/winrm/soap/message.go is in golang-github-masterzen-winrm-dev 0.0~git20170601.0.1ca0ba6-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | package soap
import (
"github.com/masterzen/simplexml/dom"
)
type SoapMessage struct {
document *dom.Document
envelope *dom.Element
header *SoapHeader
body *dom.Element
}
type MessageBuilder interface {
SetBody(*dom.Element)
NewBody() *dom.Element
CreateElement(*dom.Element, string, dom.Namespace) *dom.Element
CreateBodyElement(string, dom.Namespace) *dom.Element
Header() *SoapHeader
Doc() *dom.Document
Free()
String() string
}
func NewMessage() (message *SoapMessage) {
doc := dom.CreateDocument()
e := dom.CreateElement("Envelope")
doc.SetRoot(e)
AddUsualNamespaces(e)
NS_SOAP_ENV.SetTo(e)
message = &SoapMessage{document: doc, envelope: e}
return
}
func (message *SoapMessage) NewBody() (body *dom.Element) {
body = dom.CreateElement("Body")
message.envelope.AddChild(body)
NS_SOAP_ENV.SetTo(body)
return
}
func (message *SoapMessage) String() string {
return message.document.String()
}
func (message *SoapMessage) Doc() *dom.Document {
return message.document
}
func (message *SoapMessage) Free() {
}
func (message *SoapMessage) CreateElement(parent *dom.Element, name string, ns dom.Namespace) (element *dom.Element) {
element = dom.CreateElement(name)
parent.AddChild(element)
ns.SetTo(element)
return
}
func (message *SoapMessage) CreateBodyElement(name string, ns dom.Namespace) (element *dom.Element) {
if message.body == nil {
message.body = message.NewBody()
}
return message.CreateElement(message.body, name, ns)
}
func (message *SoapMessage) Header() *SoapHeader {
if message.header == nil {
message.header = &SoapHeader{message: message}
}
return message.header
}
|