Class: WSDL::Parser::OperationInfo Private

Inherits:
Object
  • Object
show all
Defined in:
lib/wsdl/parser/operation_info.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Represents a WSDL operation with its binding and port type information.

This class combines information from the binding operation (protocol details) and port type operation (abstract interface) to provide a complete view of an operation that can be invoked.

API:

  • private

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, endpoint, binding_operation, port_type_operation, parser_result) ⇒ OperationInfo

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Creates a new OperationInfo instance.

API:

  • private

Parameters:

  • the operation name

  • the SOAP endpoint URL

  • the binding operation with protocol details

  • the port type operation with interface details

  • the parser result for resolving references



21
22
23
24
25
26
27
# File 'lib/wsdl/parser/operation_info.rb', line 21

def initialize(name, endpoint, binding_operation, port_type_operation, parser_result)
  @name = name
  @endpoint = endpoint
  @binding_operation = binding_operation
  @port_type_operation = port_type_operation
  @parser_result = parser_result
end

Instance Attribute Details

#binding_operationBindingOperation (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the binding operation with protocol details.

API:

  • private

Returns:

  • the binding operation with protocol details



36
37
38
# File 'lib/wsdl/parser/operation_info.rb', line 36

def binding_operation
  @binding_operation
end

#endpointString (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the SOAP endpoint URL.

API:

  • private

Returns:

  • the SOAP endpoint URL



33
34
35
# File 'lib/wsdl/parser/operation_info.rb', line 33

def endpoint
  @endpoint
end

#nameString (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the name of this operation.

API:

  • private

Returns:

  • the name of this operation



30
31
32
# File 'lib/wsdl/parser/operation_info.rb', line 30

def name
  @name
end

#port_type_operationPortTypeOperation (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the port type operation with interface details.

API:

  • private

Returns:

  • the port type operation with interface details



39
40
41
# File 'lib/wsdl/parser/operation_info.rb', line 39

def port_type_operation
  @port_type_operation
end

Instance Method Details

#inputInput

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the input message definition for this operation.

The input contains the header and body parts that define the structure of request messages.

API:

  • private

Returns:

  • the input message definition



67
68
69
# File 'lib/wsdl/parser/operation_info.rb', line 67

def input
  @input ||= Input.new(@binding_operation, @port_type_operation, @parser_result)
end

#input_styleString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the input style for this operation.

The style is a combination of the binding style and use attribute, such as 'document/literal' or 'rpc/literal'.

API:

  • private

Returns:

  • the input style (e.g., 'document/literal')



87
88
89
# File 'lib/wsdl/parser/operation_info.rb', line 87

def input_style
  "#{@binding_operation.style}/#{@binding_operation.input_body[:use]}"
end

#outputOutput

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the output message definition for this operation.

The output contains the header and body parts that define the structure of response messages.

API:

  • private

Returns:

  • the output message definition



77
78
79
# File 'lib/wsdl/parser/operation_info.rb', line 77

def output
  @output ||= Output.new(@binding_operation, @port_type_operation, @parser_result)
end

#output_styleString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the output style for this operation.

The style is a combination of the binding style and use attribute, such as 'document/literal' or 'rpc/literal'.

API:

  • private

Returns:

  • the output style (e.g., 'document/literal')



97
98
99
# File 'lib/wsdl/parser/operation_info.rb', line 97

def output_style
  "#{@binding_operation.style}/#{@binding_operation.output_body[:use]}"
end

#soap_actionString?

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the SOAP action for this operation.

The SOAP action is typically used as an HTTP header value to indicate the intent of the SOAP request.

API:

  • private

Returns:

  • the SOAP action URI, or nil if not specified



47
48
49
# File 'lib/wsdl/parser/operation_info.rb', line 47

def soap_action
  @binding_operation.soap_action
end

#soap_versionString?

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the SOAP version for this operation.

API:

  • private

Returns:

  • the SOAP version ('1.1' or '1.2'), or nil if unknown



54
55
56
57
58
59
# File 'lib/wsdl/parser/operation_info.rb', line 54

def soap_version
  case @binding_operation.soap_namespace
  when NS::WSDL_SOAP_1_1 then '1.1'
  when NS::WSDL_SOAP_1_2 then '1.2'
  end
end