Skip to content

Commit 44e3b47

Browse files
Added passthrough data handling for SOAP response headers
1 parent f0dac93 commit 44e3b47

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

activity/soapclient/activity.go

+16-8
Original file line numberDiff line numberDiff line change
@@ -227,11 +227,15 @@ func (a *Activity) Eval(ctx activity.Context) (done bool, err error) {
227227
}
228228

229229
if res.Env.Header() != nil {
230-
headers_xml, err := mxj.NewMapXml(res.Env.Header().Content, false)
231-
if err != nil {
232-
return false, err
230+
if a.xmlPassThroughMode {
231+
output.ResponseHeaders = string(res.Env.Header().Content)
232+
} else {
233+
headers_xml, err := mxj.NewMapXml(res.Env.Header().Content, false)
234+
if err != nil {
235+
return false, err
236+
}
237+
output.ResponseHeaders = headers_xml.Old()
233238
}
234-
output.ResponseHeaders = headers_xml.Old()
235239
}
236240

237241
if a.settings.SoapVersion == "1.1" {
@@ -269,11 +273,15 @@ func (a *Activity) Eval(ctx activity.Context) (done bool, err error) {
269273
}
270274

271275
if res.Env.Header() != nil {
272-
headers_xml, err := mxj.NewMapXml(res.Env.Header().Content, false)
273-
if err != nil {
274-
return false, err
276+
if a.xmlPassThroughMode {
277+
output.ResponseHeaders = string(res.Env.Header().Content)
278+
} else {
279+
headers_xml, err := mxj.NewMapXml(res.Env.Header().Content, false)
280+
if err != nil {
281+
return false, err
282+
}
283+
output.ResponseHeaders = headers_xml.Old()
275284
}
276-
output.ResponseHeaders = headers_xml.Old()
277285
}
278286

279287
if a.settings.SoapVersion == "1.1" {

0 commit comments

Comments
 (0)