how to add soapenv while marshalling in golang
soapenv_head := []byte( `<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:yourWebService"> <soapenv:Header/> <soapenv:Body> <urn:callyourWebservice>`) soapenv_close := []byte( `</urn:callyourWebservice> </soapenv:Body> </soapenv:Envelope>`) // Do something with the unmarshalled body Uxml := append ( <your_xml_struct_that_has_an_array_of_the_appended_struct>, datasource_inputs {'name','value' } ) output, err := xml.Marshal(Uxml) if err != nil { fmt.Printf("error: %v\n", err) panic(err) } var buffer bytes.Buffer buffer.Write(soapenv_head) buffer.Write(output) buffer.Write(soapenv_close) fmt.Println(buffer.bytes() ) // this has your full soap request