@@ -144,8 +144,9 @@ def parse_operations
144
144
# TODO: check for soap namespace?
145
145
soap_operation = operation . element_children . find { |node | node . name == 'operation' }
146
146
soap_action = soap_operation [ 'soapAction' ] if soap_operation
147
+ soap_document = soap_operation [ "style" ] if soap_operation
147
148
148
- if soap_action
149
+ if soap_action || soap_document
149
150
soap_action = soap_action . to_s
150
151
action = soap_action && !soap_action . empty? ? soap_action : name
151
152
@@ -247,8 +248,7 @@ def input_output_for(operation, input_output)
247
248
port_type_operation = @port_type_operations [ binding_type ] [ operation_name ]
248
249
end
249
250
250
- port_type_input_output = port_type_operation &&
251
- port_type_operation . element_children . find { |node | node . name == input_output }
251
+ port_type_input_output = port_type_operation &.element_children &.find { |node | node . name == input_output }
252
252
253
253
# TODO: Stupid fix for missing support for imports.
254
254
# Sometimes portTypes are actually included in a separate WSDL.
@@ -260,6 +260,8 @@ def input_output_for(operation, input_output)
260
260
end
261
261
262
262
message_ns_id , message_type = nil
263
+ message_ns_id = port_message_ns_id
264
+ message_type = port_message_type
263
265
264
266
# When there is a parts attribute in soap:body element, we should use that value
265
267
# to look up the message part from messages array.
@@ -270,8 +272,8 @@ def input_output_for(operation, input_output)
270
272
end
271
273
272
274
message = @messages [ port_message_type ]
273
- port_message_part = message . element_children . find do |node |
274
- soap_body_parts . nil? ? ( node . name == ' part' ) : ( node . name == ' part' && node [ ' name' ] == soap_body_parts )
275
+ port_message_part = message & .element_children & .find do |node |
276
+ soap_body_parts . nil? ? ( node . name == " part" ) : ( node . name == " part" && node [ " name" ] == soap_body_parts )
275
277
end
276
278
277
279
if port_message_part && port_element = port_message_part . attribute ( 'element' )
0 commit comments