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.
- checksums.yaml +5 -5
- data/.gitignore +15 -15
- data/.gitlab-ci.yml +31 -31
- data/.rspec +3 -3
- data/.rubocop.yml +2 -2
- data/CODE_OF_CONDUCT.md +74 -74
- data/ChangeLog +384 -384
- data/Gemfile +6 -6
- data/LICENSE.txt +21 -21
- data/README.md +85 -85
- data/Rakefile +24 -24
- data/Todo.md +6 -6
- data/exe/soaspec +119 -119
- data/exe/soaspec-virtual-server +103 -103
- data/exe/xml_to_yaml_file +60 -60
- data/lib/soaspec.rb +91 -91
- data/lib/soaspec/core_ext/hash.rb +83 -83
- data/lib/soaspec/exchange.rb +234 -234
- data/lib/soaspec/exchange_handlers/exchange_handler.rb +103 -103
- data/lib/soaspec/exchange_handlers/handler_accessors.rb +106 -106
- data/lib/soaspec/exchange_handlers/rest_accessors.rb +92 -92
- data/lib/soaspec/exchange_handlers/rest_handler.rb +311 -311
- data/lib/soaspec/exchange_handlers/rest_methods.rb +44 -44
- data/lib/soaspec/exchange_handlers/soap_handler.rb +236 -236
- data/lib/soaspec/exe_helpers.rb +56 -56
- data/lib/soaspec/generator/.rspec.erb +5 -5
- data/lib/soaspec/generator/.travis.yml.erb +5 -5
- data/lib/soaspec/generator/Gemfile.erb +8 -8
- data/lib/soaspec/generator/README.md.erb +29 -29
- data/lib/soaspec/generator/Rakefile.erb +19 -19
- data/lib/soaspec/generator/config/data/default.yml.erb +1 -1
- data/lib/soaspec/generator/lib/blz_service.rb.erb +26 -26
- data/lib/soaspec/generator/lib/dynamic_class_content.rb.erb +12 -12
- data/lib/soaspec/generator/lib/shared_example.rb.erb +8 -8
- data/lib/soaspec/generator/spec/dynamic_soap_spec.rb.erb +12 -12
- data/lib/soaspec/generator/spec/soap_spec.rb.erb +51 -51
- data/lib/soaspec/generator/spec/spec_helper.rb.erb +20 -20
- data/lib/soaspec/generator/template/soap_template.xml +6 -6
- data/lib/soaspec/interpreter.rb +40 -40
- data/lib/soaspec/matchers.rb +65 -65
- data/lib/soaspec/not_found_errors.rb +13 -13
- data/lib/soaspec/soaspec_shared_examples.rb +24 -24
- data/lib/soaspec/spec_logger.rb +27 -27
- data/lib/soaspec/test_server/bank.wsdl +90 -90
- data/lib/soaspec/test_server/get_bank.rb +160 -160
- data/lib/soaspec/test_server/invoices.rb +27 -27
- data/lib/soaspec/test_server/namespace.xml +14 -14
- data/lib/soaspec/test_server/note.xml +5 -5
- data/lib/soaspec/test_server/puppy_service.rb +20 -20
- data/lib/soaspec/test_server/test_attribute.rb +13 -13
- data/lib/soaspec/version.rb +2 -2
- data/lib/soaspec/wsdl_generator.rb +144 -144
- data/soaspec.gemspec +46 -45
- data/test.wsdl +116 -116
- data/test.xml +10 -10
- data/test_wsdl.rb +43 -43
- 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>
|
data/lib/soaspec/interpreter.rb
CHANGED
@@ -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
|
data/lib/soaspec/matchers.rb
CHANGED
@@ -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
|
data/lib/soaspec/spec_logger.rb
CHANGED
@@ -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>
|