soaspec 0.2.24 → 0.2.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +15 -15
  3. data/.gitlab-ci.yml +51 -33
  4. data/.rspec +3 -3
  5. data/.rubocop.yml +2 -2
  6. data/CODE_OF_CONDUCT.md +74 -74
  7. data/ChangeLog +588 -577
  8. data/Gemfile +6 -6
  9. data/LICENSE.txt +21 -21
  10. data/README.md +230 -230
  11. data/Rakefile +50 -42
  12. data/Todo.md +15 -15
  13. data/exe/soaspec +137 -123
  14. data/exe/xml_to_yaml_file +42 -42
  15. data/lib/soaspec.rb +103 -101
  16. data/lib/soaspec/core_ext/hash.rb +42 -35
  17. data/lib/soaspec/cucumber/generic_steps.rb +85 -85
  18. data/lib/soaspec/demo.rb +4 -4
  19. data/lib/soaspec/exchange/exchange.rb +117 -111
  20. data/lib/soaspec/exchange/exchange_extractor.rb +83 -83
  21. data/lib/soaspec/exchange/exchange_properties.rb +26 -26
  22. data/lib/soaspec/exchange/exchange_repeater.rb +19 -19
  23. data/lib/soaspec/exchange/request_builder.rb +68 -68
  24. data/lib/soaspec/exchange/variable_storer.rb +22 -22
  25. data/lib/soaspec/exchange_handlers/exchange_handler.rb +130 -126
  26. data/lib/soaspec/exchange_handlers/handler_accessors.rb +130 -130
  27. data/lib/soaspec/exchange_handlers/request/rest_request.rb +49 -0
  28. data/lib/soaspec/exchange_handlers/request/soap_request.rb +39 -0
  29. data/lib/soaspec/exchange_handlers/response_extractor.rb +82 -82
  30. data/lib/soaspec/exchange_handlers/rest_exchanger_factory.rb +109 -109
  31. data/lib/soaspec/exchange_handlers/rest_handler.rb +287 -259
  32. data/lib/soaspec/exchange_handlers/rest_methods.rb +63 -44
  33. data/lib/soaspec/exchange_handlers/rest_parameters.rb +90 -86
  34. data/lib/soaspec/exchange_handlers/rest_parameters_defaults.rb +40 -21
  35. data/lib/soaspec/exchange_handlers/soap_handler.rb +239 -235
  36. data/lib/soaspec/exe_helpers.rb +92 -92
  37. data/lib/soaspec/generate_server.rb +46 -37
  38. data/lib/soaspec/generator/.rspec.erb +5 -5
  39. data/lib/soaspec/generator/.travis.yml.erb +5 -5
  40. data/lib/soaspec/generator/Gemfile.erb +8 -8
  41. data/lib/soaspec/generator/README.md.erb +29 -29
  42. data/lib/soaspec/generator/Rakefile.erb +19 -19
  43. data/lib/soaspec/generator/config/data/default.yml.erb +2 -2
  44. data/lib/soaspec/generator/css/bootstrap.css +6833 -6833
  45. data/lib/soaspec/generator/features/support/env.rb.erb +3 -0
  46. data/lib/soaspec/generator/generate_exchange.html.erb +47 -35
  47. data/lib/soaspec/generator/lib/blz_service.rb.erb +26 -26
  48. data/lib/soaspec/generator/lib/dynamic_class_content.rb.erb +12 -12
  49. data/lib/soaspec/generator/lib/new_rest_service.rb.erb +56 -51
  50. data/lib/soaspec/generator/lib/new_soap_service.rb.erb +29 -29
  51. data/lib/soaspec/generator/lib/package_service.rb.erb +2 -2
  52. data/lib/soaspec/generator/lib/shared_example.rb.erb +8 -8
  53. data/lib/soaspec/generator/spec/dynamic_soap_spec.rb.erb +12 -12
  54. data/lib/soaspec/generator/spec/rest_spec.rb.erb +9 -9
  55. data/lib/soaspec/generator/spec/soap_spec.rb.erb +51 -51
  56. data/lib/soaspec/generator/spec/spec_helper.rb.erb +23 -23
  57. data/lib/soaspec/generator/template/soap_template.xml +6 -6
  58. data/lib/soaspec/indifferent_hash.rb +7 -7
  59. data/lib/soaspec/interpreter.rb +39 -39
  60. data/lib/soaspec/matchers.rb +114 -114
  61. data/lib/soaspec/not_found_errors.rb +13 -13
  62. data/lib/soaspec/o_auth2.rb +128 -128
  63. data/lib/soaspec/soaspec_shared_examples.rb +24 -24
  64. data/lib/soaspec/spec_logger.rb +122 -121
  65. data/lib/soaspec/template_reader.rb +28 -28
  66. data/lib/soaspec/test_server/bank.wsdl +90 -90
  67. data/lib/soaspec/test_server/get_bank.rb +164 -164
  68. data/lib/soaspec/test_server/id_manager.rb +39 -39
  69. data/lib/soaspec/test_server/invoices.rb +27 -27
  70. data/lib/soaspec/test_server/namespace.xml +14 -14
  71. data/lib/soaspec/test_server/note.xml +5 -5
  72. data/lib/soaspec/test_server/puppy_service.rb +19 -19
  73. data/lib/soaspec/test_server/test_attribute.rb +12 -12
  74. data/lib/soaspec/test_server/test_namespace.rb +12 -12
  75. data/lib/soaspec/version.rb +4 -4
  76. data/lib/soaspec/virtual_server.rb +174 -174
  77. data/lib/soaspec/wait.rb +41 -41
  78. data/lib/soaspec/wsdl_generator.rb +215 -215
  79. data/soaspec.gemspec +56 -53
  80. data/test.wsdl +116 -116
  81. data/test.xml +10 -10
  82. data/test_wsdl.rb +41 -41
  83. metadata +38 -6
@@ -1,24 +1,24 @@
1
- require 'rspec'
2
-
3
- RSpec.shared_examples_for 'success scenario' do
4
- it 'has successful status code' do
5
- expect(200..299).to cover described_class.status_code
6
- end
7
- context 'has expected mandatory elements' do
8
- described_class.exchange_handler.expected_mandatory_elements.each do |mandatory_element|
9
- it mandatory_element do
10
- expect(described_class).to contain_key mandatory_element
11
- end
12
- end
13
- end
14
- described_class.exchange_handler.expected_mandatory_xpath_values.each do |xpath, value|
15
- it "has xpath '#{xpath}' equal to '#{value}'" do
16
- expect(described_class).to have_xpath_value(xpath => value)
17
- end
18
- end
19
- described_class.exchange_handler.expected_mandatory_json_values.each do |xpath, value|
20
- it "has json '#{xpath}' equal to '#{value}'" do
21
- expect(described_class).to have_xpath_value(xpath => value)
22
- end
23
- end
24
- end
1
+ require 'rspec'
2
+
3
+ RSpec.shared_examples_for 'success scenario' do
4
+ it 'has successful status code' do
5
+ expect(200..299).to cover described_class.status_code
6
+ end
7
+ context 'has expected mandatory elements' do
8
+ described_class.exchange_handler.expected_mandatory_elements.each do |mandatory_element|
9
+ it mandatory_element do
10
+ expect(described_class).to contain_key mandatory_element
11
+ end
12
+ end
13
+ end
14
+ described_class.exchange_handler.expected_mandatory_xpath_values.each do |xpath, value|
15
+ it "has xpath '#{xpath}' equal to '#{value}'" do
16
+ expect(described_class).to have_xpath_value(xpath => value)
17
+ end
18
+ end
19
+ described_class.exchange_handler.expected_mandatory_json_values.each do |xpath, value|
20
+ it "has json '#{xpath}' equal to '#{value}'" do
21
+ expect(described_class).to have_xpath_value(xpath => value)
22
+ end
23
+ end
24
+ end
@@ -1,121 +1,122 @@
1
- require 'logger'
2
- require 'fileutils'
3
- require 'colorize'
4
-
5
- module Soaspec
6
- # Custom class for logging API traffic
7
- class ApiLogger < Logger
8
- #
9
- # Rewrite << to use info logger with formatting
10
- #
11
- def <<(msg)
12
- info msg
13
- end
14
- end
15
-
16
- # Handles logs of API requests and responses
17
- class SpecLogger
18
- # Folder to put API traffic logs
19
- @traffic_folder = 'logs'
20
- # Whether to output api traffic to terminal
21
- @output_to_terminal = false
22
- # Color shown when displaying in terminal
23
- @terminal_color = :light_blue
24
- # Whether to output API traffic to log file
25
- @output_to_file = true
26
- # Time test run. Will only be calculated once once called
27
- @time_test_run = Time.now.strftime('%Y-%m-%d_%H_%M_%S')
28
- # By default file is based on time
29
- @traffic_file = nil
30
- class << self
31
- # Folder to put API traffic logs
32
- attr_accessor :traffic_folder
33
- # Color shown when displaying in terminal
34
- attr_accessor :terminal_color
35
- # Readers for log parameters
36
- attr_reader :output_to_terminal, :output_to_file, :time_test_run
37
-
38
- # Set file to log traffic to
39
- def traffic_file=(file)
40
- @traffic_file = file
41
- reset_log
42
- end
43
-
44
- # @return [String] Traffic file to create logs at
45
- def traffic_file
46
- return File.join(traffic_folder, @traffic_file) if @traffic_file
47
-
48
- filename = "traffic_#{time_test_run}.log"
49
- File.join(traffic_folder, filename)
50
- end
51
-
52
- # Unset Logger object. It will be recreated on next time 'info' is called
53
- def reset_log
54
- @logger = nil
55
- end
56
-
57
- # Whether to log all API traffic
58
- def log_api_traffic=(set)
59
- @log_api_traffic = set
60
- reset_log
61
- end
62
-
63
- # @return [Boolean] Whether to log all API traffic
64
- def log_api_traffic?
65
- @log_api_traffic.nil? ? true : @log_api_traffic
66
- end
67
-
68
- # @param [Symbol, Boolean] value # Whether to output API traffic to log file
69
- def output_to_file=(value)
70
- @output_to_file = value
71
- reset_log
72
- end
73
-
74
- # @param [Symbol, Boolean] value # Whether to output API traffic to STDOUT
75
- def output_to_terminal=(value)
76
- @output_to_terminal = value
77
- reset_log
78
- end
79
-
80
- # Create new log file if necessary and setup logging level
81
- # @return [Logger] Logger class to record API traffic
82
- def create
83
- create_log_file
84
- @logger = ApiLogger.new(traffic_file) # Where request and responses of APIs are stored
85
- @logger.formatter = proc do |severity, datetime, _progname, msg|
86
- message = "SpecLog, [#{datetime.strftime('%Y-%m-%d_%H:%M:%S')}] #{severity} -- : #{msg}\n"
87
- print message.colorize(terminal_color) if @output_to_terminal
88
- message if @output_to_file
89
- end
90
- RestClient.log = @logger
91
- @logger
92
- end
93
-
94
- # Log a message using Soaspec logger
95
- # Logger (and it's file) will be created if it's not already set
96
- # @param [String] message The message to add to the logger
97
- def info(message)
98
- return unless log_api_traffic?
99
-
100
- create unless @logger
101
- if message.respond_to? :each
102
- message.each do |message_item|
103
- @logger.info(message_item)
104
- end
105
- else
106
- @logger.info(message)
107
- end
108
- end
109
-
110
- private
111
-
112
- # Create folder and file to store logs
113
- def create_log_file
114
- return if File.exist?(traffic_file)
115
-
116
- FileUtils.mkdir_p traffic_folder
117
- FileUtils.touch traffic_file
118
- end
119
- end
120
- end
121
- end
1
+ require 'logger'
2
+ require 'fileutils'
3
+ require 'colorize'
4
+
5
+ module Soaspec
6
+ # Custom class for logging API traffic
7
+ class ApiLogger < Logger
8
+ #
9
+ # Rewrite << to use info logger with formatting
10
+ #
11
+ def <<(msg)
12
+ info msg
13
+ end
14
+ end
15
+
16
+ # Handles logs of API requests and responses
17
+ class SpecLogger
18
+ # Folder to put API traffic logs
19
+ @traffic_folder = 'logs'
20
+ # Whether to output api traffic to terminal
21
+ @output_to_terminal = false
22
+ # Color shown when displaying in terminal
23
+ @terminal_color = :light_blue
24
+ # Whether to output API traffic to log file
25
+ @output_to_file = true
26
+ # Time test run. Will only be calculated once once called
27
+ @time_test_run = Time.now.strftime('%Y-%m-%d_%H_%M_%S')
28
+ # By default file is based on time
29
+ @traffic_file = nil
30
+ class << self
31
+ # Folder to put API traffic logs
32
+ attr_accessor :traffic_folder
33
+ # Color shown when displaying in terminal
34
+ attr_accessor :terminal_color
35
+ # Readers for log parameters
36
+ attr_reader :output_to_terminal, :output_to_file, :time_test_run
37
+
38
+ # Set file to log traffic to
39
+ def traffic_file=(file)
40
+ @traffic_file = file
41
+ reset_log
42
+ end
43
+
44
+ # @return [String] Traffic file to create logs at
45
+ def traffic_file
46
+ return File.join(traffic_folder, @traffic_file) if @traffic_file
47
+
48
+ filename = "traffic_#{time_test_run}.log"
49
+ File.join(traffic_folder, filename)
50
+ end
51
+
52
+ # Unset Logger object. It will be recreated on next time 'info' is called
53
+ def reset_log
54
+ @logger = nil
55
+ RestClient.log = nil
56
+ end
57
+
58
+ # Whether to log all API traffic
59
+ def log_api_traffic=(set)
60
+ @log_api_traffic = set
61
+ reset_log
62
+ end
63
+
64
+ # @return [Boolean] Whether to log all API traffic
65
+ def log_api_traffic?
66
+ @log_api_traffic.nil? ? true : @log_api_traffic
67
+ end
68
+
69
+ # @param [Symbol, Boolean] value # Whether to output API traffic to log file
70
+ def output_to_file=(value)
71
+ @output_to_file = value
72
+ reset_log
73
+ end
74
+
75
+ # @param [Symbol, Boolean] value # Whether to output API traffic to STDOUT
76
+ def output_to_terminal=(value)
77
+ @output_to_terminal = value
78
+ reset_log
79
+ end
80
+
81
+ # Create new log file if necessary and setup logging level
82
+ # @return [Logger] Logger class to record API traffic
83
+ def create
84
+ create_log_file
85
+ @logger = ApiLogger.new(traffic_file) # Where request and responses of APIs are stored
86
+ @logger.formatter = proc do |severity, datetime, _progname, msg|
87
+ message = "SpecLog, [#{datetime.strftime('%Y-%m-%d_%H:%M:%S')}] #{severity} -- : #{msg}\n"
88
+ print message.colorize(terminal_color) if @output_to_terminal
89
+ message if @output_to_file
90
+ end
91
+ RestClient.log = @logger
92
+ @logger
93
+ end
94
+
95
+ # Log a message using Soaspec logger
96
+ # Logger (and it's file) will be created if it's not already set
97
+ # @param [String] message The message to add to the logger
98
+ def info(message)
99
+ return unless log_api_traffic?
100
+
101
+ create unless @logger
102
+ if message.respond_to? :each
103
+ message.each do |message_item|
104
+ @logger.info(message_item)
105
+ end
106
+ else
107
+ @logger.info(message)
108
+ end
109
+ end
110
+
111
+ private
112
+
113
+ # Create folder and file to store logs
114
+ def create_log_file
115
+ return if File.exist?(traffic_file)
116
+
117
+ FileUtils.mkdir_p traffic_folder
118
+ FileUtils.touch traffic_file
119
+ end
120
+ end
121
+ end
122
+ end
@@ -1,28 +1,28 @@
1
- require 'erb'
2
-
3
- module Soaspec
4
- # Handles reading templates for tests
5
- class TemplateReader
6
- # Name of file where template is stored
7
- attr_accessor :template_name
8
-
9
- # @return [String] Path to where template file is stored
10
- def file_location
11
- File.join(*Soaspec.template_folder, template_name)
12
- end
13
-
14
- # @param [String] template_name File where template is stored
15
- # @return [String] Body of template after determining test_values
16
- def render_body(template_name, binding)
17
- self.template_name = template_name
18
- unless File.exist? file_location
19
- raise "Cannot see file at #{file_location}. "\
20
- "Global folder is '#{Soaspec.template_folder}' and filename is '#{template_name}'"
21
- end
22
- request_body = File.read file_location
23
- raise "Template at #{file_location} not parsed correctly" if request_body.strip.empty?
24
-
25
- ERB.new(request_body).result(binding)
26
- end
27
- end
28
- end
1
+ require 'erb'
2
+
3
+ module Soaspec
4
+ # Handles reading templates for tests
5
+ class TemplateReader
6
+ # Name of file where template is stored
7
+ attr_accessor :template_name
8
+
9
+ # @return [String] Path to where template file is stored
10
+ def file_location
11
+ File.join(*Soaspec.template_folder, template_name)
12
+ end
13
+
14
+ # @param [String] template_name File where template is stored
15
+ # @return [String] Body of template after determining test_values
16
+ def render_body(template_name, binding)
17
+ self.template_name = template_name
18
+ unless File.exist? file_location
19
+ raise "Cannot see file at #{file_location}. "\
20
+ "Global folder is '#{Soaspec.template_folder}' and filename is '#{template_name}'"
21
+ end
22
+ request_body = File.read file_location
23
+ raise "Template at #{file_location} not parsed correctly" if request_body.strip.empty?
24
+
25
+ ERB.new(request_body).result(binding)
26
+ end
27
+ end
28
+ end
@@ -1,91 +1,91 @@
1
- <?xml version="1.0"?>
2
- <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://thomas-bayer.com/blz/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://thomas-bayer.com/blz/">
3
- <wsdl:documentation>BLZService</wsdl:documentation>
4
- <wsdl:types>
5
- <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://thomas-bayer.com/blz/">
6
- <xsd:element name="getBank" type="tns:getBankType"/>
7
- <xsd:element name="getBankResponse" type="tns:getBankResponseType"/>
8
- <xsd:complexType name="getBankType">
9
- <xsd:sequence>
10
- <xsd:element name="blz" type="xsd:string"/>
11
- </xsd:sequence>
12
- </xsd:complexType>
13
- <xsd:complexType name="getBankResponseType">
14
- <xsd:sequence>
15
- <xsd:element name="details" type="tns:detailsType"/>
16
- </xsd:sequence>
17
- </xsd:complexType>
18
- <xsd:complexType name="detailsType">
19
- <xsd:sequence>
20
- <xsd:element minOccurs="0" name="bezeichnung" type="xsd:string"/>
21
- <xsd:element minOccurs="0" name="bic" type="xsd:string"/>
22
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="ort" type="xsd:string"/>
23
- <xsd:element minOccurs="0" name="plz" type="xsd:string"/>
24
- </xsd:sequence>
25
- </xsd:complexType>
26
- </xsd:schema>
27
- </wsdl:types>
28
- <wsdl:message name="getBank">
29
- <wsdl:part name="parameters" element="tns:getBank"/>
30
- </wsdl:message>
31
- <wsdl:message name="getBankResponse">
32
- <wsdl:part name="parameters" element="tns:getBankResponse"/>
33
- </wsdl:message>
34
- <wsdl:portType name="BLZServicePortType">
35
- <wsdl:operation name="getBank">
36
- <wsdl:input message="tns:getBank"/>
37
- <!--<wsdl:output message="tns:getBankResponse" wsaw:Action="http://thomas-bayer.com/blz/BLZService/getBankResponse"/>-->
38
- <wsdl:output message="tns:getBankResponse" wsaw:Action="http://localhost:4567/BLZService/getBankResponse"/>
39
- </wsdl:operation>
40
- </wsdl:portType>
41
- <wsdl:binding name="BLZServiceSOAP11Binding" type="tns:BLZServicePortType">
42
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
43
- <wsdl:operation name="getBank">
44
- <soap:operation style="document" soapAction=""/>
45
- <wsdl:input>
46
- <soap:body use="literal"/>
47
- </wsdl:input>
48
- <wsdl:output>
49
- <soap:body use="literal"/>
50
- </wsdl:output>
51
- </wsdl:operation>
52
- </wsdl:binding>
53
- <wsdl:binding name="BLZServiceSOAP12Binding" type="tns:BLZServicePortType">
54
- <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
55
- <wsdl:operation name="getBank">
56
- <soap12:operation style="document" soapAction=""/>
57
- <wsdl:input>
58
- <soap12:body use="literal"/>
59
- </wsdl:input>
60
- <wsdl:output>
61
- <soap12:body use="literal"/>
62
- </wsdl:output>
63
- </wsdl:operation>
64
- </wsdl:binding>
65
- <wsdl:binding name="BLZServiceHttpBinding" type="tns:BLZServicePortType">
66
- <http:binding verb="POST"/>
67
- <wsdl:operation name="getBank">
68
- <http:operation location="BLZService/getBank"/>
69
- <wsdl:input>
70
- <mime:content part="getBank" type="text/xml"/>
71
- </wsdl:input>
72
- <wsdl:output>
73
- <mime:content part="getBank" type="text/xml"/>
74
- </wsdl:output>
75
- </wsdl:operation>
76
- </wsdl:binding>
77
- <wsdl:service name="BLZService">
78
- <wsdl:port name="BLZServiceSOAP11port_http" binding="tns:BLZServiceSOAP11Binding">
79
- <!-- <soap:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/> -->
80
- <soap:address location="http://localhost:4999/BLZService"/>
81
- </wsdl:port>
82
- <wsdl:port name="BLZServiceSOAP12port_http" binding="tns:BLZServiceSOAP12Binding">
83
- <!--<soap12:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/>-->
84
- <soap12:address location="http://localhost:4999/BLZService"/>
85
- </wsdl:port>
86
- <wsdl:port name="BLZServiceHttpport" binding="tns:BLZServiceHttpBinding">
87
- <!--<http:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/>-->
88
- <soap:address location="http://localhost:4999/BLZService"/>
89
- </wsdl:port>
90
- </wsdl:service>
1
+ <?xml version="1.0"?>
2
+ <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://thomas-bayer.com/blz/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://thomas-bayer.com/blz/">
3
+ <wsdl:documentation>BLZService</wsdl:documentation>
4
+ <wsdl:types>
5
+ <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://thomas-bayer.com/blz/">
6
+ <xsd:element name="getBank" type="tns:getBankType"/>
7
+ <xsd:element name="getBankResponse" type="tns:getBankResponseType"/>
8
+ <xsd:complexType name="getBankType">
9
+ <xsd:sequence>
10
+ <xsd:element name="blz" type="xsd:string"/>
11
+ </xsd:sequence>
12
+ </xsd:complexType>
13
+ <xsd:complexType name="getBankResponseType">
14
+ <xsd:sequence>
15
+ <xsd:element name="details" type="tns:detailsType"/>
16
+ </xsd:sequence>
17
+ </xsd:complexType>
18
+ <xsd:complexType name="detailsType">
19
+ <xsd:sequence>
20
+ <xsd:element minOccurs="0" name="bezeichnung" type="xsd:string"/>
21
+ <xsd:element minOccurs="0" name="bic" type="xsd:string"/>
22
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="ort" type="xsd:string"/>
23
+ <xsd:element minOccurs="0" name="plz" type="xsd:string"/>
24
+ </xsd:sequence>
25
+ </xsd:complexType>
26
+ </xsd:schema>
27
+ </wsdl:types>
28
+ <wsdl:message name="getBank">
29
+ <wsdl:part name="parameters" element="tns:getBank"/>
30
+ </wsdl:message>
31
+ <wsdl:message name="getBankResponse">
32
+ <wsdl:part name="parameters" element="tns:getBankResponse"/>
33
+ </wsdl:message>
34
+ <wsdl:portType name="BLZServicePortType">
35
+ <wsdl:operation name="getBank">
36
+ <wsdl:input message="tns:getBank"/>
37
+ <!--<wsdl:output message="tns:getBankResponse" wsaw:Action="http://thomas-bayer.com/blz/BLZService/getBankResponse"/>-->
38
+ <wsdl:output message="tns:getBankResponse" wsaw:Action="http://localhost:4567/BLZService/getBankResponse"/>
39
+ </wsdl:operation>
40
+ </wsdl:portType>
41
+ <wsdl:binding name="BLZServiceSOAP11Binding" type="tns:BLZServicePortType">
42
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
43
+ <wsdl:operation name="getBank">
44
+ <soap:operation style="document" soapAction=""/>
45
+ <wsdl:input>
46
+ <soap:body use="literal"/>
47
+ </wsdl:input>
48
+ <wsdl:output>
49
+ <soap:body use="literal"/>
50
+ </wsdl:output>
51
+ </wsdl:operation>
52
+ </wsdl:binding>
53
+ <wsdl:binding name="BLZServiceSOAP12Binding" type="tns:BLZServicePortType">
54
+ <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
55
+ <wsdl:operation name="getBank">
56
+ <soap12:operation style="document" soapAction=""/>
57
+ <wsdl:input>
58
+ <soap12:body use="literal"/>
59
+ </wsdl:input>
60
+ <wsdl:output>
61
+ <soap12:body use="literal"/>
62
+ </wsdl:output>
63
+ </wsdl:operation>
64
+ </wsdl:binding>
65
+ <wsdl:binding name="BLZServiceHttpBinding" type="tns:BLZServicePortType">
66
+ <http:binding verb="POST"/>
67
+ <wsdl:operation name="getBank">
68
+ <http:operation location="BLZService/getBank"/>
69
+ <wsdl:input>
70
+ <mime:content part="getBank" type="text/xml"/>
71
+ </wsdl:input>
72
+ <wsdl:output>
73
+ <mime:content part="getBank" type="text/xml"/>
74
+ </wsdl:output>
75
+ </wsdl:operation>
76
+ </wsdl:binding>
77
+ <wsdl:service name="BLZService">
78
+ <wsdl:port name="BLZServiceSOAP11port_http" binding="tns:BLZServiceSOAP11Binding">
79
+ <!-- <soap:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/> -->
80
+ <soap:address location="http://localhost:4999/BLZService"/>
81
+ </wsdl:port>
82
+ <wsdl:port name="BLZServiceSOAP12port_http" binding="tns:BLZServiceSOAP12Binding">
83
+ <!--<soap12:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/>-->
84
+ <soap12:address location="http://localhost:4999/BLZService"/>
85
+ </wsdl:port>
86
+ <wsdl:port name="BLZServiceHttpport" binding="tns:BLZServiceHttpBinding">
87
+ <!--<http:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/>-->
88
+ <soap:address location="http://localhost:4999/BLZService"/>
89
+ </wsdl:port>
90
+ </wsdl:service>
91
91
  </wsdl:definitions>