soaspec 0.1.1 → 0.1.2

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 (57) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +15 -15
  3. data/.gitlab-ci.yml +31 -31
  4. data/.rspec +3 -3
  5. data/.rubocop.yml +2 -2
  6. data/CODE_OF_CONDUCT.md +74 -74
  7. data/ChangeLog +384 -384
  8. data/Gemfile +6 -6
  9. data/LICENSE.txt +21 -21
  10. data/README.md +85 -85
  11. data/Rakefile +24 -24
  12. data/Todo.md +6 -6
  13. data/exe/soaspec +119 -119
  14. data/exe/soaspec-virtual-server +103 -103
  15. data/exe/xml_to_yaml_file +60 -60
  16. data/lib/soaspec.rb +91 -91
  17. data/lib/soaspec/core_ext/hash.rb +83 -83
  18. data/lib/soaspec/exchange.rb +234 -234
  19. data/lib/soaspec/exchange_handlers/exchange_handler.rb +103 -103
  20. data/lib/soaspec/exchange_handlers/handler_accessors.rb +106 -106
  21. data/lib/soaspec/exchange_handlers/rest_accessors.rb +92 -92
  22. data/lib/soaspec/exchange_handlers/rest_handler.rb +311 -311
  23. data/lib/soaspec/exchange_handlers/rest_methods.rb +44 -44
  24. data/lib/soaspec/exchange_handlers/soap_handler.rb +236 -236
  25. data/lib/soaspec/exe_helpers.rb +56 -56
  26. data/lib/soaspec/generator/.rspec.erb +5 -5
  27. data/lib/soaspec/generator/.travis.yml.erb +5 -5
  28. data/lib/soaspec/generator/Gemfile.erb +8 -8
  29. data/lib/soaspec/generator/README.md.erb +29 -29
  30. data/lib/soaspec/generator/Rakefile.erb +19 -19
  31. data/lib/soaspec/generator/config/data/default.yml.erb +1 -1
  32. data/lib/soaspec/generator/lib/blz_service.rb.erb +26 -26
  33. data/lib/soaspec/generator/lib/dynamic_class_content.rb.erb +12 -12
  34. data/lib/soaspec/generator/lib/shared_example.rb.erb +8 -8
  35. data/lib/soaspec/generator/spec/dynamic_soap_spec.rb.erb +12 -12
  36. data/lib/soaspec/generator/spec/soap_spec.rb.erb +51 -51
  37. data/lib/soaspec/generator/spec/spec_helper.rb.erb +20 -20
  38. data/lib/soaspec/generator/template/soap_template.xml +6 -6
  39. data/lib/soaspec/interpreter.rb +40 -40
  40. data/lib/soaspec/matchers.rb +65 -65
  41. data/lib/soaspec/not_found_errors.rb +13 -13
  42. data/lib/soaspec/soaspec_shared_examples.rb +24 -24
  43. data/lib/soaspec/spec_logger.rb +27 -27
  44. data/lib/soaspec/test_server/bank.wsdl +90 -90
  45. data/lib/soaspec/test_server/get_bank.rb +160 -160
  46. data/lib/soaspec/test_server/invoices.rb +27 -27
  47. data/lib/soaspec/test_server/namespace.xml +14 -14
  48. data/lib/soaspec/test_server/note.xml +5 -5
  49. data/lib/soaspec/test_server/puppy_service.rb +20 -20
  50. data/lib/soaspec/test_server/test_attribute.rb +13 -13
  51. data/lib/soaspec/version.rb +2 -2
  52. data/lib/soaspec/wsdl_generator.rb +144 -144
  53. data/soaspec.gemspec +46 -45
  54. data/test.wsdl +116 -116
  55. data/test.xml +10 -10
  56. data/test_wsdl.rb +43 -43
  57. metadata +17 -3
@@ -1,20 +1,20 @@
1
-
2
- require 'soaspec'
3
- require 'require_all'
4
- require_all 'lib'
5
- require 'data_magic'
6
-
7
- include DataMagic # Used as example of loading data smartly. Use 'data_for' method to load yml data
8
-
9
- RSpec.configure do |config|
10
- # This will make backtrace much shorter by removing many lines from rspec failure message
11
- config.backtrace_exclusion_patterns = [
12
- /rspec/
13
- ]
14
- <% if @virtual %>
15
- # Close test server after all RSpec tests have run
16
- config.after(:suite) do
17
- Process.kill(:QUIT, ENV['test_server_pid'].to_i) if ENV['test_server_pid']
18
- end
19
- <% end %>
20
- end
1
+
2
+ require 'soaspec'
3
+ require 'require_all'
4
+ require_all 'lib'
5
+ require 'data_magic'
6
+
7
+ include DataMagic # Used as example of loading data smartly. Use 'data_for' method to load yml data
8
+
9
+ RSpec.configure do |config|
10
+ # This will make backtrace much shorter by removing many lines from rspec failure message
11
+ config.backtrace_exclusion_patterns = [
12
+ /rspec/
13
+ ]
14
+ <% if @virtual %>
15
+ # Close test server after all RSpec tests have run
16
+ config.after(:suite) do
17
+ Process.kill(:QUIT, ENV['test_server_pid'].to_i) if ENV['test_server_pid']
18
+ end
19
+ <% end %>
20
+ end
@@ -1,7 +1,7 @@
1
- <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://thomas-bayer.com/blz/" xmlns:env="http://www.w3.org/2003/05/soap-envelope">
2
- <env:Body>
3
- <tns:getBank>
4
- <tns:blz><%= test_values[:blz] || '70070010' %></tns:blz>
5
- </tns:getBank>
6
- </env:Body>
1
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://thomas-bayer.com/blz/" xmlns:env="http://www.w3.org/2003/05/soap-envelope">
2
+ <env:Body>
3
+ <tns:getBank>
4
+ <tns:blz><%= test_values[:blz] || '70070010' %></tns:blz>
5
+ </tns:getBank>
6
+ </env:Body>
7
7
  </env:Envelope>
@@ -1,41 +1,41 @@
1
-
2
- # Help interpret the general type of a particular object
3
- class Interpreter
4
-
5
- class << self
6
- # @param [Object] response API response
7
- # @return [Symbol] Type of provided response
8
- def response_type_for(response)
9
- @response = response
10
- if @response.is_a? String
11
- if xml?
12
- :xml
13
- elsif json?
14
- :json
15
- else
16
- :unknown
17
- end
18
- elsif response.is_a? Hash
19
- :hash
20
- elsif response.is_a? Nokogiri::XML::NodeSet
21
- :xml
22
- else
23
- :unknown
24
- end
25
- end
26
-
27
- # @return [Boolean] Whether valid XML
28
- def xml?
29
- Nokogiri::XML(@response) { |config| config.options = Nokogiri::XML::ParseOptions::STRICT }
30
- rescue Nokogiri::XML::SyntaxError
31
- false
32
- end
33
-
34
- # @return [Boolean] Whether valid JSON
35
- def json?
36
- JSON.parse(@response)
37
- rescue JSON::ParserError
38
- false
39
- end
40
- end
1
+
2
+ # Help interpret the general type of a particular object
3
+ class Interpreter
4
+
5
+ class << self
6
+ # @param [Object] response API response
7
+ # @return [Symbol] Type of provided response
8
+ def response_type_for(response)
9
+ @response = response
10
+ if @response.is_a? String
11
+ if xml?
12
+ :xml
13
+ elsif json?
14
+ :json
15
+ else
16
+ :unknown
17
+ end
18
+ elsif response.is_a? Hash
19
+ :hash
20
+ elsif response.is_a? Nokogiri::XML::NodeSet
21
+ :xml
22
+ else
23
+ :unknown
24
+ end
25
+ end
26
+
27
+ # @return [Boolean] Whether valid XML
28
+ def xml?
29
+ Nokogiri::XML(@response) { |config| config.options = Nokogiri::XML::ParseOptions::STRICT }
30
+ rescue Nokogiri::XML::SyntaxError
31
+ false
32
+ end
33
+
34
+ # @return [Boolean] Whether valid JSON
35
+ def json?
36
+ JSON.parse(@response)
37
+ rescue JSON::ParserError
38
+ false
39
+ end
40
+ end
41
41
  end
@@ -1,66 +1,66 @@
1
-
2
- require_relative 'core_ext/hash'
3
- require_relative 'not_found_errors'
4
-
5
- # Whether response has any element with the provided value
6
- RSpec::Matchers.define :contain_value do |expected|
7
- match do |actual|
8
- expect(actual.exchange_handler.include_value?(actual.response, expected)).to be true
9
- end
10
-
11
- failure_message do |actual|
12
- "expected that #{actual.exchange_handler.response_body(actual.response, format: :hash)} would contain value #{expected}"
13
- end
14
- end
15
-
16
- # Whether substring exists in body of response (more general than above)
17
- RSpec::Matchers.define :include_in_body do |expected|
18
- match do |actual|
19
- expect(actual.exchange_handler.include_in_body?(actual.response, expected)).to be true
20
- end
21
-
22
- failure_message do |actual|
23
- "expected that #{actual.exchange_handler.response_body(actual.response, format: :raw)} would contain value #{expected}"
24
- end
25
- end
26
-
27
- # Whether an element exists at expected xpath
28
- RSpec::Matchers.define :have_element_at_path do |xpath|
29
- match do |exchange|
30
- expect { exchange[xpath] }.to_not raise_error # Error will be raised if Path returns no value
31
- end
32
-
33
- # TODO: Would be better to print failure message
34
- failure_message do |actual|
35
- "expected that #{actual.exchange_handler.response_body(actual.response, format: :raw)} would have element at path '#{xpath}'"
36
- end
37
- end
38
-
39
- RSpec::Matchers.alias_matcher :have_element_at_xpath, :have_element_at_path
40
- RSpec::Matchers.alias_matcher :contain_key, :have_element_at_path
41
-
42
- # Whether an element at xpath (defined by key) has value (defined by value).
43
- # @param [Hash] expected_hash Xpath => Value pair (e.g. '//xmlns:GetWeatherResult' => 'Data Not Found')
44
- RSpec::Matchers.define :have_xpath_value do |expected_hash|
45
- match do |exchange|
46
- expected_hash = Hash[*expected_hash.flatten] if expected_hash.is_a?(Array) # For some reason Array was occuring
47
- expect(exchange[expected_hash.keys.first]).to eq expected_hash.values.first
48
- end
49
-
50
- failure_message do |actual|
51
- "expected that xpath '#{expected_hash.keys.first}' has value '#{expected_hash.values.first}' but was '#{actual[expected_hash.keys.first]}'"
52
- end
53
-
54
- end
55
-
56
- RSpec::Matchers.define :be_found do
57
-
58
- match do |exchange|
59
- expect(exchange.exchange_handler.found?(exchange.response)).to be true
60
- end
61
-
62
- failure_message do |exchange|
63
- "expected result #{exchange.response} to be found. Status code is #{exchange.response.code}"
64
- end
65
-
1
+
2
+ require_relative 'core_ext/hash'
3
+ require_relative 'not_found_errors'
4
+
5
+ # Whether response has any element with the provided value
6
+ RSpec::Matchers.define :contain_value do |expected|
7
+ match do |actual|
8
+ expect(actual.exchange_handler.include_value?(actual.response, expected)).to be true
9
+ end
10
+
11
+ failure_message do |actual|
12
+ "expected that #{actual.exchange_handler.response_body(actual.response, format: :hash)} would contain value #{expected}"
13
+ end
14
+ end
15
+
16
+ # Whether substring exists in body of response (more general than above)
17
+ RSpec::Matchers.define :include_in_body do |expected|
18
+ match do |actual|
19
+ expect(actual.exchange_handler.include_in_body?(actual.response, expected)).to be true
20
+ end
21
+
22
+ failure_message do |actual|
23
+ "expected that #{actual.exchange_handler.response_body(actual.response, format: :raw)} would contain value #{expected}"
24
+ end
25
+ end
26
+
27
+ # Whether an element exists at expected xpath
28
+ RSpec::Matchers.define :have_element_at_path do |xpath|
29
+ match do |exchange|
30
+ expect { exchange[xpath] }.to_not raise_error # Error will be raised if Path returns no value
31
+ end
32
+
33
+ # TODO: Would be better to print failure message
34
+ failure_message do |actual|
35
+ "expected that #{actual.exchange_handler.response_body(actual.response, format: :raw)} would have element at path '#{xpath}'"
36
+ end
37
+ end
38
+
39
+ RSpec::Matchers.alias_matcher :have_element_at_xpath, :have_element_at_path
40
+ RSpec::Matchers.alias_matcher :contain_key, :have_element_at_path
41
+
42
+ # Whether an element at xpath (defined by key) has value (defined by value).
43
+ # @param [Hash] expected_hash Xpath => Value pair (e.g. '//xmlns:GetWeatherResult' => 'Data Not Found')
44
+ RSpec::Matchers.define :have_xpath_value do |expected_hash|
45
+ match do |exchange|
46
+ expected_hash = Hash[*expected_hash.flatten] if expected_hash.is_a?(Array) # For some reason Array was occuring
47
+ expect(exchange[expected_hash.keys.first]).to eq expected_hash.values.first
48
+ end
49
+
50
+ failure_message do |actual|
51
+ "expected that xpath '#{expected_hash.keys.first}' has value '#{expected_hash.values.first}' but was '#{actual[expected_hash.keys.first]}'"
52
+ end
53
+
54
+ end
55
+
56
+ RSpec::Matchers.define :be_found do
57
+
58
+ match do |exchange|
59
+ expect(exchange.exchange_handler.found?(exchange.response)).to be true
60
+ end
61
+
62
+ failure_message do |exchange|
63
+ "expected result #{exchange.response} to be found. Status code is #{exchange.response.code}"
64
+ end
65
+
66
66
  end
@@ -1,14 +1,14 @@
1
-
2
- # Raised to represent when there's no element at an Xpath
3
- class NoElementAtPath < StandardError
4
- def initialize(msg = 'No element at path found')
5
- super
6
- end
7
- end
8
-
9
- # Did not find any element by provided key in the Hash
10
- class NoElementInHash < StandardError
11
- def initialize(msg = 'No element in Hash found')
12
- super
13
- end
1
+
2
+ # Raised to represent when there's no element at an Xpath
3
+ class NoElementAtPath < StandardError
4
+ def initialize(msg = 'No element at path found')
5
+ super
6
+ end
7
+ end
8
+
9
+ # Did not find any element by provided key in the Hash
10
+ class NoElementInHash < StandardError
11
+ def initialize(msg = 'No element in Hash found')
12
+ super
13
+ end
14
14
  end
@@ -1,24 +1,24 @@
1
- require 'rspec'
2
-
3
- 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 xpath '#{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
+ 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 xpath '#{xpath}' equal to '#{value}'" do
21
+ expect(described_class).to have_xpath_value(xpath => value)
22
+ end
23
+ end
24
+ end
@@ -1,28 +1,28 @@
1
-
2
- require 'logger'
3
- require 'fileutils'
4
-
5
- module Soaspec
6
-
7
- # Handles logs of API requests and responses
8
- class SpecLogger
9
- class << self
10
- def create
11
- unless File.exist?('logs/traffic.log')
12
- FileUtils.mkdir_p 'logs'
13
- FileUtils.touch File.join('logs', 'traffic.log')
14
- end
15
- @logger = Logger.new('logs/traffic.log') # Where request and responses of APIs are stored
16
- @logger.level = Logger::DEBUG
17
- @logger
18
- end
19
-
20
- # Log a message using Soaspec logger
21
- # @param [String] message The message to add to the logger
22
- def info(message)
23
- @logger.info(message) if Soaspec.log_api_traffic?
24
- end
25
- end
26
-
27
- end
1
+
2
+ require 'logger'
3
+ require 'fileutils'
4
+
5
+ module Soaspec
6
+
7
+ # Handles logs of API requests and responses
8
+ class SpecLogger
9
+ class << self
10
+ def create
11
+ unless File.exist?('logs/traffic.log')
12
+ FileUtils.mkdir_p 'logs'
13
+ FileUtils.touch File.join('logs', 'traffic.log')
14
+ end
15
+ @logger = Logger.new('logs/traffic.log') # Where request and responses of APIs are stored
16
+ @logger.level = Logger::DEBUG
17
+ @logger
18
+ end
19
+
20
+ # Log a message using Soaspec logger
21
+ # @param [String] message The message to add to the logger
22
+ def info(message)
23
+ @logger.info(message) if Soaspec.log_api_traffic?
24
+ end
25
+ end
26
+
27
+ end
28
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>