soaspec 0.2.24 → 0.2.25

Sign up to get free protection for your applications and to get access to all the features.
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>