diff options
Diffstat (limited to 'lib/soap/parser.rb')
-rw-r--r-- | lib/soap/parser.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/soap/parser.rb b/lib/soap/parser.rb index 457d681d3..14704a6d9 100644 --- a/lib/soap/parser.rb +++ b/lib/soap/parser.rb @@ -117,7 +117,13 @@ public encodingstyle = find_encodingstyle(ns, attrs) # Children's encodingstyle is derived from its parent. - encodingstyle ||= parent_encodingstyle || @default_encodingstyle + if encodingstyle.nil? + if parent.node.is_a?(SOAPHeader) + encodingstyle = LiteralNamespace + else + encodingstyle = parent_encodingstyle || @default_encodingstyle + end + end node = decode_tag(ns, name, attrs, parent, encodingstyle) |