Sha256: 2605f86bc8c54a27f4c507de7b90fdac2b66cd2e321446cb3bafa984df1c9239

Contents?: true

Size: 1020 Bytes

Versions: 12

Compression:

Stored size: 1020 Bytes

Contents

# frozen_string_literal: true

require 'wasabi'
require 'savon'

# document = Savon.client(wsdl: 'test.wsdl').wsdl
# document = Savon.client(wsdl: 'http://www.webservicex.com/globalweather.asmx?wsdl').wsdl
# document = Wasabi.document File.read('test.wsdl')
document = Wasabi.document 'http://www.webservicex.net/ConvertTemperature.asmx?WSDL'
parser = document.parser

# TEST SCHEMA
#
# parser.schemas.each do |schema|
#   puts 'SCHEMA * '
#   puts schema
#
#   xsd = Nokogiri::XML::Schema(schema.to_s)
#
#   doc = Nokogiri::XML(File.read('test.xml'))
#
#   xsd.validate(doc).each do |error|
#     puts error.message
#   end
# end
#

schemes = parser.schemas
puts schemes
custom_type = schemes.xpath("//*[@name='TemperatureUnit']")
if custom_type.first
  puts 'CUST' + custom_type.to_s
  prefix = custom_type.first.namespace.prefix
  puts prefix

  enumerations = custom_type.xpath("//#{prefix}:enumeration")

  puts 'ENUM' + enumerations.to_s

  enumerations.each do |enum_value|
    puts enum_value['value']
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
soaspec-0.3.11 test_wsdl.rb
soaspec-0.3.10 test_wsdl.rb
soaspec-0.3.9 test_wsdl.rb
soaspec-0.3.8 test_wsdl.rb
soaspec-0.3.7 test_wsdl.rb
soaspec-0.3.6 test_wsdl.rb
soaspec-0.3.3 test_wsdl.rb
soaspec-0.3.2 test_wsdl.rb
soaspec-0.3.1 test_wsdl.rb
soaspec-0.2.32 test_wsdl.rb
soaspec-0.2.31 test_wsdl.rb
soaspec-0.2.30 test_wsdl.rb