brcep 3.0.8 → 3.1.0

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.
@@ -1,19 +1,18 @@
1
1
  # encoding: UTF-8
2
2
  require 'net/http'
3
- require 'rexml/document'
3
+ require 'cgi'
4
+ require 'iconv'
4
5
 
5
6
  # Este recurso tem como finalidade encontrar um endereço através de um CEP, e
6
- # para isso ele utiliza o web service da Bronze Business (http://www.bronzebusiness.com.br/webservices/wscep.asmx)
7
- # e o web service do Buscar CEP (http://www.buscarcep.com.br). O segundo só é utilizado quando
8
- # o primeiro está indisponível ou quando ele não encontra o endereço associado ao CEP informado.
7
+ # para isso ele utiliza o web service da Republica Virtual (http://cep.republicavirtual.com.br/web_cep.php)
9
8
  # Obviamente, para utilizar este serviço é necessário uma conexão com a Internet.
10
9
  #
11
10
  #Como fazer a busca de endereço por cep?
12
11
  #
13
- # BuscaEndereco.por_cep(22640100) ==> ['Avenida', 'das Americas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
14
- # BuscaEndereco.por_cep('22640100') ==> ['Avenida', 'das Americas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
15
- # BuscaEndereco.por_cep('22640-100') ==> ['Avenida', 'das Americas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
16
- # BuscaEndereco.por_cep('22.640-100') ==> ['Avenida', 'das Americas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
12
+ # BuscaEndereco.por_cep(22640100) ==> ['Avenida', 'das Américas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
13
+ # BuscaEndereco.por_cep('22640100') ==> ['Avenida', 'das Américas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
14
+ # BuscaEndereco.por_cep('22640-100') ==> ['Avenida', 'das Américas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
15
+ # BuscaEndereco.por_cep('22.640-100') ==> ['Avenida', 'das Américas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', '22640100']
17
16
  # BuscaEndereco.por_cep('04006000') ==> ["Rua", "Doutor Tomaz Carvalhal", "Paraiso", "SP", "Sao Paulo", "04006000"]
18
17
  #
19
18
  # É feita uma validação para ver se o cep possui 8 caracteres após a remoção de '.' e '-'.
@@ -45,59 +44,30 @@ class BuscaEndereco
45
44
  end
46
45
  end
47
46
 
48
- URL_WEB_SERVICE_BRONZE_BUSINESS = 'http://www.bronzebusiness.com.br/webservices/wscep.asmx/cep?strcep=' #:nodoc:
49
- URL_WEB_SERVICE_BUSCAR_CEP = 'http://www.buscarcep.com.br/?cep=' #:nodoc:
50
-
51
- # Elementos do XML retornado pelos web services
52
- ELEMENTOS_XML_BRONZE_BUSINESS = %w(logradouro nome bairro UF cidade) #:nodoc:
53
- ELEMENTOS_XML_BUSCAR_CEP = %w(tipo_logradouro logradouro bairro uf cidade) #:nodoc:
47
+ WEB_SERVICE_REPUBLICA_VIRTUAL_URL = "http://cep.republicavirtual.com.br/web_cep.php?formato=query_string&cep="
54
48
 
55
49
  # Retorna um array com os dados de endereçamento para o cep informado ou um erro quando o serviço está indisponível,
56
50
  # quando o cep informado possui um formato inválido ou quando o endereço não foi encontrado.
57
51
  #
58
52
  # Exemplo:
59
- # BuscaEndereco.por_cep(22640100) ==> ['Avenida', 'das Americas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', 22640100]
53
+ # BuscaEndereco.por_cep(22640100) ==> ['Avenida', 'das Américas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro', 22640100]
60
54
  def self.por_cep(numero)
61
- @@cep = numero.to_s.gsub(/\./, '').gsub(/\-/, '')
62
- raise "O CEP informado possui um formato inválido." if @@cep.length != 8
63
-
64
- @@retorno = []
65
-
66
- begin
67
- usar_web_service_da_bronze_business
68
- rescue
69
- usar_web_service_do_buscar_cep
70
- end
71
-
72
- @@retorno << @@cep
73
- end
74
-
75
- private
76
-
77
- def self.usar_web_service_da_bronze_business
78
- @@response = Net::HTTP.Proxy(self.proxy_addr, self.proxy_port).get_response(URI.parse("#{URL_WEB_SERVICE_BRONZE_BUSINESS}#{@@cep}"))
79
- raise "A busca de endereço por CEP através do web service da Bronze Business está indisponível." unless @@response.kind_of?(Net::HTTPSuccess)
80
-
81
- @@doc = REXML::Document.new(@@response.body)
82
- processar_xml ELEMENTOS_XML_BRONZE_BUSINESS
83
- end
84
-
85
- def self.usar_web_service_do_buscar_cep
86
- @@response = Net::HTTP.Proxy(self.proxy_addr, self.proxy_port).get_response(URI.parse("#{URL_WEB_SERVICE_BUSCAR_CEP}#{@@cep}&formato=xml"))
87
- raise "A busca de endereço por CEP está indisponível no momento." unless @@response.kind_of?(Net::HTTPSuccess)
88
-
89
- @@doc = REXML::Document.new(@@response.body)
90
- processar_xml ELEMENTOS_XML_BUSCAR_CEP
91
- end
92
-
93
- def self.processar_xml(elementos_do_xml)
94
- elementos_do_xml.each do |e|
95
- elemento = REXML::XPath.match(@@doc, "//#{e}").first
96
-
97
- raise "CEP #{@@cep} não encontrado." if elemento.nil?
98
-
99
- # Remove os acentos já que o Buscar Cep retorna o endereço com acento e a Bronze Business não
100
- @@retorno << elemento.text
55
+ cep = numero.to_s.gsub(/[\.-]/, '')
56
+ raise "O CEP informado possui um formato inválido." unless cep.to_s.match(/^\d{8}$/)
57
+
58
+ response = Net::HTTP.Proxy(self.proxy_addr, self.proxy_port).get_response(URI.parse("#{WEB_SERVICE_REPUBLICA_VIRTUAL_URL}#{cep}"))
59
+ raise "A busca de endereço por CEP através do web service da República Virtual está indisponível." unless response.kind_of?(Net::HTTPSuccess)
60
+
61
+ doc = Hash[* CGI::parse(response.body).map {|k,v| [k,v[0]]}.flatten]
62
+
63
+ retorno = []
64
+
65
+ raise "CEP #{cep} não encontrado." unless [1,2].include?(doc['resultado'].to_i)
66
+
67
+ %w(tipo_logradouro logradouro bairro cidade uf).each do |field|
68
+ retorno << Iconv.conv("utf-8", "ISO-8859-1", doc[field])
101
69
  end
70
+
71
+ retorno << cep
102
72
  end
103
73
  end
@@ -1,8 +1,8 @@
1
1
  module BrCep
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 3
4
- MINOR = 0
5
- TINY = 8
4
+ MINOR = 1
5
+ TINY = 0
6
6
 
7
7
  STRING = "#{MAJOR}.#{MINOR}.#{TINY}"
8
8
  end
@@ -3,156 +3,66 @@ require File.dirname(__FILE__) + '/test_helper'
3
3
  require 'rubygems'
4
4
  require 'net/http'
5
5
  require 'mocha'
6
+ require 'fakeweb'
6
7
 
7
- INVALID_ZIPS = [0, '0', '00', '000', '0000', '00000', '000000', '0000000', '00000000', '4006000']
8
+ FakeWeb.allow_net_connect = false
9
+
10
+ INVALID_ZIPS = [0, '0', '00', '000', '0000', '00000', '000000', '0000000', '4006000']
8
11
  VALID_ZIPS = [22640100, '22640100', '22.640100', '22640-100', '22.640-100']
9
- VALID_ZIPS_WITH_ZERO_AT_BEGINNING = ['04006000', '04006-000', '04.006-000']
10
- VALID_CEPS_NOT_FOUND_ON_BRONZE_BUSINESS = [20230024, '20230024', '20.230024', '20230-024', '20.230-024']
12
+ VALID_ZIPS_WITH_ZERO_AT_BEGINNING = ['05145100', '05145-100', '05.145-100']
11
13
  ZIPS_WITH_NO_ADDRESS_ASSOCIATED = [12345678, '12345678', '12.345678', '12345-678', '12.345-678']
12
14
 
13
- class MockSuccess < Net::HTTPSuccess
14
- def initialize; end
15
- end
16
-
17
- class MockServerError < Net::HTTPServerError
18
- def initialize;
19
- @message = 'HTTPServiceUnavailable'
20
- @code = '504'
21
- end
22
- end
23
-
24
- def limpa_cep(numero)
25
- numero.to_s.gsub(/\./, '').gsub(/\-/, '')
26
- end
15
+ URL = BuscaEndereco::WEB_SERVICE_REPUBLICA_VIRTUAL_URL
27
16
 
28
17
  class BuscaEnderecoTest < Test::Unit::TestCase
29
18
  def test_raise_without_service_on_both_web_services
30
- http_error_response = MockServerError.new
31
-
32
- Net::HTTP.expects(:get_response).returns(http_error_response)
33
- Net::HTTP.expects(:get_response).returns(http_error_response)
34
-
19
+ FakeWeb.register_uri(:get, "#{URL}#{22640100}", :status => 504, :body => "Service Unavailable")
20
+
35
21
  assert_raise RuntimeError, "A busca de endereço por CEP está indisponível no momento." do
36
- BuscaEndereco.por_cep(VALID_ZIPS.first)
22
+ BuscaEndereco.por_cep(22640100)
37
23
  end
38
24
  end
39
25
 
40
- def test_raise_for_invalid_zip_code
41
- INVALID_ZIPS.each do |invalid_zip|
26
+ INVALID_ZIPS.each do |invalid_zip|
27
+ define_method "test_raise_for_invalid_zip_code_#{invalid_zip}" do
42
28
  assert_raise RuntimeError, "O CEP informado possui um formato inválido." do
43
29
  BuscaEndereco.por_cep(invalid_zip)
44
30
  end
45
31
  end
46
32
  end
47
33
 
48
- def test_valid_code_on_bronze_business
49
- VALID_ZIPS.each do |valid_zip|
50
- mock_get_response_from_bronze_business(limpa_cep(valid_zip))
51
-
52
- assert_equal ['Avenida', 'das Americas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro',
53
- limpa_cep(valid_zip)], BuscaEndereco.por_cep(valid_zip)
54
- end
55
- end
34
+ VALID_ZIPS.each do |valid_zip|
35
+ define_method "test_valid_code_#{valid_zip}" do
36
+ cep = VALID_ZIPS.first.to_s
37
+ expected = ['Avenida', 'das Américas', 'Barra da Tijuca', 'Rio de Janeiro', 'RJ', cep]
38
+ body = "&resultado=1&resultado_txt=sucesso+-+cep+completo&uf=RJ&cidade=Rio+de+Janeiro&bairro=Barra+da+Tijuca&tipo_logradouro=Avenida&logradouro=das+Am%E9ricas"
56
39
 
57
- def test_valid_code_with_zero_at_beginning_on_bronze_business
58
- VALID_ZIPS_WITH_ZERO_AT_BEGINNING.each do |valid_zip|
59
- mock_get_response_from_bronze_business(limpa_cep(valid_zip))
40
+ FakeWeb.register_uri(:get, "#{URL}#{cep}", :body => body)
60
41
 
61
- assert_equal ['Rua', 'Doutor Tomaz Carvalhal', 'Paraiso', 'SP', 'Sao Paulo',
62
- limpa_cep(valid_zip)], BuscaEndereco.por_cep(valid_zip)
42
+ assert_equal expected,BuscaEndereco.por_cep(valid_zip)
63
43
  end
64
44
  end
65
-
66
- def test_valid_code_on_buscar_cep_when_bronze_business_is_unavailable
67
- VALID_ZIPS.each do |valid_zip|
68
- mock_get_response_from_buscar_cep_when_bronze_business_is_unavailable(limpa_cep(valid_zip))
69
-
70
- assert_equal ['Avenida', 'das Américas', 'Barra da Tijuca', 'RJ', 'Rio de Janeiro',
71
- limpa_cep(valid_zip)], BuscaEndereco.por_cep(valid_zip)
45
+
46
+ VALID_ZIPS_WITH_ZERO_AT_BEGINNING.each do |valid_zip|
47
+ define_method "test_valid_code_#{valid_zip}" do
48
+ cep = VALID_ZIPS_WITH_ZERO_AT_BEGINNING.first
49
+ expected = ["Avenida", "Raimundo Pereira de Magalhães", "Jardim Iris", "São Paulo", "SP", cep]
50
+ body = "&resultado=1&resultado_txt=sucesso+-+cep+completo&uf=SP&cidade=S%E3o+Paulo&bairro=Jardim+Iris&tipo_logradouro=Avenida&logradouro=Raimundo+Pereira+de+Magalh%E3es"
51
+
52
+ FakeWeb.register_uri(:get, "#{URL}#{cep}", :body => body)
53
+
54
+ assert_equal expected, BuscaEndereco.por_cep(cep)
72
55
  end
73
56
  end
74
57
 
75
- def test_valid_code_on_buscar_cep_when_address_not_found_on_bronze_business
76
- VALID_CEPS_NOT_FOUND_ON_BRONZE_BUSINESS.each do |cep_not_found_on_bronze_business|
77
- mock_get_response_from_buscar_cep_when_address_not_found_on_bronze_business(limpa_cep(cep_not_found_on_bronze_business))
58
+ def test_should_raise_exception_when_invalid_code
59
+ cep = "12345678"
60
+ body = "&resultado=0&resultado_txt=servi%E7o+indispon%EDvel%2Fcep+inv%E1lido&uf=&cidade=&bairro=&tipo_logradouro=&logradouro="
61
+
62
+ assert_raise RuntimeError, "CEP #{cep} não encontrado." do
63
+ FakeWeb.register_uri(:get, "#{URL}#{cep}", :body => body)
78
64
 
79
- assert_equal ['Rua', 'Washington Luís', 'Centro', 'RJ', 'Rio de Janeiro', limpa_cep(cep_not_found_on_bronze_business)],
80
- BuscaEndereco.por_cep(cep_not_found_on_bronze_business)
65
+ BuscaEndereco.por_cep("12345678")
81
66
  end
82
67
  end
83
-
84
- def test_should_raise_exception_when_search_for_zip_with_no_associated_address
85
- ZIPS_WITH_NO_ADDRESS_ASSOCIATED.each do |zip_with_no_address_associated|
86
- assert_raise RuntimeError, "CEP #{limpa_cep(zip_with_no_address_associated)} não encontrado." do
87
- mock_get_response_when_theres_no_address_associated_with_zip
88
-
89
- BuscaEndereco.por_cep(zip_with_no_address_associated)
90
- end
91
- end
92
- end
93
-
94
- private
95
-
96
- def mock_get_response_from_bronze_business(zip_number)
97
- xml_data = xml_data_from zip_name(zip_number, "bronze_business")
98
-
99
- http_success_response = MockSuccess.new
100
- http_success_response.expects(:body).returns(xml_data)
101
-
102
- Net::HTTP.expects(:get_response).returns(http_success_response)
103
- end
104
-
105
- def mock_get_response_from_buscar_cep_when_bronze_business_is_unavailable(zip_number)
106
- xml_data = xml_data_from zip_name(zip_number, "buscar_cep")
107
-
108
- http_success_response = MockSuccess.new
109
- http_success_response.expects(:body).returns(xml_data)
110
-
111
- Net::HTTP.expects(:get_response).returns(http_success_response)
112
-
113
- http_error_response = MockServerError.new
114
- Net::HTTP.expects(:get_response).returns(http_error_response)
115
- end
116
-
117
- def mock_get_response_from_buscar_cep_when_address_not_found_on_bronze_business(zip_number)
118
- xml_data_from_bronze_business = xml_data_from zip_name("not_found", "bronze_business")
119
- xml_data_from_buscar_cep = xml_data_from zip_name(zip_number, "buscar_cep")
120
-
121
- http_success_response_from_buscar_cep = MockSuccess.new
122
- http_success_response_from_buscar_cep.expects(:body).returns(xml_data_from_buscar_cep)
123
- Net::HTTP.expects(:get_response).returns(http_success_response_from_buscar_cep)
124
-
125
- http_success_response_from_bronze_business = MockSuccess.new
126
- http_success_response_from_bronze_business.expects(:body).returns(xml_data_from_bronze_business)
127
- Net::HTTP.expects(:get_response).returns(http_success_response_from_bronze_business)
128
- end
129
-
130
- def mock_get_response_when_theres_no_address_associated_with_zip
131
- xml_data_from_bronze_business = xml_data_from zip_name("not_found", "bronze_business")
132
- xml_data_from_buscar_cep = xml_data_from zip_name("not_found", "buscar_cep")
133
-
134
- http_success_response_from_buscar_cep = MockSuccess.new
135
- http_success_response_from_buscar_cep.expects(:body).returns(xml_data_from_buscar_cep)
136
- Net::HTTP.expects(:get_response).returns(http_success_response_from_buscar_cep)
137
-
138
- http_success_response_from_bronze_business = MockSuccess.new
139
- http_success_response_from_bronze_business.expects(:body).returns(xml_data_from_bronze_business)
140
- Net::HTTP.expects(:get_response).returns(http_success_response_from_bronze_business)
141
- end
142
-
143
- def xml_data_from xml_mock
144
- file = File.new(xml_mock)
145
-
146
- xml_data = ''
147
-
148
- while (line = file.gets)
149
- xml_data << line
150
- end
151
-
152
- xml_data
153
- end
154
-
155
- def zip_name(nome, web_service)
156
- File.join(File.dirname(__FILE__), 'mocks', "zip_#{nome}_#{web_service}.xml")
157
- end
158
68
  end
@@ -1,7 +1,6 @@
1
1
  require 'test/unit'
2
2
  require File.dirname(__FILE__) + '/../lib/brcep'
3
3
 
4
-
5
4
  def tornar_metodos_publicos(clazz)
6
5
  clazz.class_eval do
7
6
  private_instance_methods.each { |instance_method| public instance_method }
metadata CHANGED
@@ -1,56 +1,46 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: brcep
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 3
7
- - 0
8
- - 8
9
- version: 3.0.8
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.1.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
12
- - "Marcos Tapaj\xC3\xB3s"
7
+ authors:
8
+ - Marcos Tapajós
13
9
  - Celestino Gomes
14
10
  - Andre Kupkosvki
15
- - "Vin\xC3\xADcius Teles"
11
+ - Vinícius Teles
16
12
  - Felipe Barreto
17
13
  - Rafael Walter
18
14
  - Cassio Marques
19
15
  autorequire:
20
16
  bindir: bin
21
17
  cert_chain: []
22
-
23
- date: 2012-01-03 00:00:00 -02:00
24
- default_executable:
25
- dependencies:
26
- - !ruby/object:Gem::Dependency
18
+ date: 2012-02-26 00:00:00.000000000Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
27
21
  name: rake
28
- requirement: &id001 !ruby/object:Gem::Requirement
22
+ requirement: &2152246600 !ruby/object:Gem::Requirement
29
23
  none: false
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- segments:
34
- - 0
35
- version: "0"
24
+ requirements:
25
+ - - ! '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
36
28
  type: :development
37
29
  prerelease: false
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
30
+ version_requirements: *2152246600
31
+ - !ruby/object:Gem::Dependency
40
32
  name: mocha
41
- requirement: &id002 !ruby/object:Gem::Requirement
33
+ requirement: &2152245040 !ruby/object:Gem::Requirement
42
34
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- segments:
47
- - 0
48
- version: "0"
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
49
39
  type: :development
50
40
  prerelease: false
51
- version_requirements: *id002
52
- description: "brcep \xC3\xA9 uma das gems que compoem o Brazilian Rails"
53
- email:
41
+ version_requirements: *2152245040
42
+ description: brcep é uma das gems que compoem o Brazilian Rails
43
+ email:
54
44
  - tapajos@gmail.com
55
45
  - tinorj@gmail.com
56
46
  - kupkovski@gmail.com
@@ -59,12 +49,9 @@ email:
59
49
  - rafawalter@gmail.com
60
50
  - cassiommc@gmail.com
61
51
  executables: []
62
-
63
52
  extensions: []
64
-
65
53
  extra_rdoc_files: []
66
-
67
- files:
54
+ files:
68
55
  - Rakefile
69
56
  - README
70
57
  - CHANGELOG
@@ -73,48 +60,33 @@ files:
73
60
  - lib/brcep/version.rb
74
61
  - lib/brcep.rb
75
62
  - test/busca_endereco_test.rb
76
- - test/mocks/zip_04006000_bronze_business.xml
77
- - test/mocks/zip_20230024_buscar_cep.xml
78
- - test/mocks/zip_22640100.xml
79
- - test/mocks/zip_22640100_bronze_business.xml
80
- - test/mocks/zip_22640100_buscar_cep.xml
81
- - test/mocks/zip_invalid.xml
82
- - test/mocks/zip_not_found_bronze_business.xml
83
- - test/mocks/zip_not_found_buscar_cep.xml
84
63
  - test/test_helper.rb
85
- has_rdoc: true
86
64
  homepage: http://www.improveit.com.br/software_livre/brazilian_rails
87
65
  licenses: []
88
-
89
66
  post_install_message:
90
67
  rdoc_options: []
91
-
92
- require_paths:
68
+ require_paths:
93
69
  - lib
94
- required_ruby_version: !ruby/object:Gem::Requirement
70
+ required_ruby_version: !ruby/object:Gem::Requirement
95
71
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- hash: 1504227728359653813
100
- segments:
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ segments:
101
77
  - 0
102
- version: "0"
103
- required_rubygems_version: !ruby/object:Gem::Requirement
78
+ hash: 3897089543070755465
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
104
80
  none: false
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- hash: 1504227728359653813
109
- segments:
110
- - 0
111
- version: "0"
112
- requirements:
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements:
113
86
  - none
114
87
  rubyforge_project: brcep
115
- rubygems_version: 1.3.7
88
+ rubygems_version: 1.8.15
116
89
  signing_key:
117
90
  specification_version: 3
118
- summary: "brcep \xC3\xA9 uma das gems que compoem o Brazilian Rails"
91
+ summary: brcep é uma das gems que compoem o Brazilian Rails
119
92
  test_files: []
120
-
@@ -1,33 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <DataSet xmlns="http://tempuri.org/">
3
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
5
- <xs:complexType>
6
- <xs:choice minOccurs="0" maxOccurs="unbounded">
7
- <xs:element name="tbCEP">
8
- <xs:complexType>
9
- <xs:sequence>
10
- <xs:element name="logradouro" type="xs:string" minOccurs="0" />
11
- <xs:element name="nome" type="xs:string" minOccurs="0" />
12
- <xs:element name="bairro" type="xs:string" minOccurs="0" />
13
- <xs:element name="UF" type="xs:string" minOccurs="0" />
14
- <xs:element name="cidade" type="xs:string" minOccurs="0" />
15
- </xs:sequence>
16
- </xs:complexType>
17
- </xs:element>
18
- </xs:choice>
19
- </xs:complexType>
20
- </xs:element>
21
- </xs:schema>
22
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
23
- <NewDataSet xmlns="">
24
- <tbCEP diffgr:id="tbCEP1" msdata:rowOrder="0">
25
- <logradouro>Rua</logradouro>
26
- <nome>Doutor Tomaz Carvalhal</nome>
27
- <bairro>Paraiso</bairro>
28
- <UF>SP</UF>
29
- <cidade>Sao Paulo</cidade>
30
- </tbCEP>
31
- </NewDataSet>
32
- </diffgr:diffgram>
33
- </DataSet>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="ISO-8859-1"?>
2
- <webservicecep><cep>20230024</cep><uf>RJ</uf><cidade>Rio de Janeiro</cidade><bairro>Centro</bairro><tipo_logradouro>Rua</tipo_logradouro><logradouro>Washington Lu�s</logradouro><resultado>1</resultado><resultado_txt>sucesso. cep encontrado</resultado_txt></webservicecep>
@@ -1,33 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <DataSet xmlns="http://tempuri.org/">
3
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
5
- <xs:complexType>
6
- <xs:choice minOccurs="0" maxOccurs="unbounded">
7
- <xs:element name="tbCEP">
8
- <xs:complexType>
9
- <xs:sequence>
10
- <xs:element name="logradouro" type="xs:string" minOccurs="0" />
11
- <xs:element name="nome" type="xs:string" minOccurs="0" />
12
- <xs:element name="bairro" type="xs:string" minOccurs="0" />
13
- <xs:element name="UF" type="xs:string" minOccurs="0" />
14
- <xs:element name="cidade" type="xs:string" minOccurs="0" />
15
- </xs:sequence>
16
- </xs:complexType>
17
- </xs:element>
18
- </xs:choice>
19
- </xs:complexType>
20
- </xs:element>
21
- </xs:schema>
22
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
23
- <NewDataSet xmlns="">
24
- <tbCEP diffgr:id="tbCEP1" msdata:rowOrder="0">
25
- <logradouro>Avenida</logradouro>
26
- <nome>das Americas</nome>
27
- <bairro>Barra da Tijuca</bairro>
28
- <UF>RJ</UF>
29
- <cidade>Rio de Janeiro</cidade>
30
- </tbCEP>
31
- </NewDataSet>
32
- </diffgr:diffgram>
33
- </DataSet>
@@ -1,33 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <DataSet xmlns="http://tempuri.org/">
3
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
5
- <xs:complexType>
6
- <xs:choice minOccurs="0" maxOccurs="unbounded">
7
- <xs:element name="tbCEP">
8
- <xs:complexType>
9
- <xs:sequence>
10
- <xs:element name="logradouro" type="xs:string" minOccurs="0" />
11
- <xs:element name="nome" type="xs:string" minOccurs="0" />
12
- <xs:element name="bairro" type="xs:string" minOccurs="0" />
13
- <xs:element name="UF" type="xs:string" minOccurs="0" />
14
- <xs:element name="cidade" type="xs:string" minOccurs="0" />
15
- </xs:sequence>
16
- </xs:complexType>
17
- </xs:element>
18
- </xs:choice>
19
- </xs:complexType>
20
- </xs:element>
21
- </xs:schema>
22
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
23
- <NewDataSet xmlns="">
24
- <tbCEP diffgr:id="tbCEP1" msdata:rowOrder="0">
25
- <logradouro>Avenida</logradouro>
26
- <nome>das Americas</nome>
27
- <bairro>Barra da Tijuca</bairro>
28
- <UF>RJ</UF>
29
- <cidade>Rio de Janeiro</cidade>
30
- </tbCEP>
31
- </NewDataSet>
32
- </diffgr:diffgram>
33
- </DataSet>
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1" ?>
2
-
3
- <webservicecep>
4
- <cep>22640100</cep>
5
- <uf>RJ</uf>
6
- <cidade>Rio de Janeiro</cidade>
7
- <bairro>Barra da Tijuca</bairro>
8
- <tipo_logradouro>Avenida</tipo_logradouro>
9
- <logradouro>das Am�ricas</logradouro>
10
- <resultado>1</resultado>
11
- <resultado_txt>sucesso. cep encontrado</resultado_txt>
12
- </webservicecep>
@@ -1,23 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <DataSet xmlns="http://tempuri.org/">
3
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
5
- <xs:complexType>
6
- <xs:choice minOccurs="0" maxOccurs="unbounded">
7
- <xs:element name="tbCEP">
8
- <xs:complexType>
9
- <xs:sequence>
10
- <xs:element name="logradouro" type="xs:string" minOccurs="0" />
11
- <xs:element name="nome" type="xs:string" minOccurs="0" />
12
- <xs:element name="bairro" type="xs:string" minOccurs="0" />
13
- <xs:element name="UF" type="xs:string" minOccurs="0" />
14
- <xs:element name="cidade" type="xs:string" minOccurs="0" />
15
- </xs:sequence>
16
- </xs:complexType>
17
- </xs:element>
18
- </xs:choice>
19
- </xs:complexType>
20
- </xs:element>
21
- </xs:schema>
22
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" />
23
- </DataSet>
@@ -1,23 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <DataSet xmlns="http://tempuri.org/">
3
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
5
- <xs:complexType>
6
- <xs:choice minOccurs="0" maxOccurs="unbounded">
7
- <xs:element name="tbCEP">
8
- <xs:complexType>
9
- <xs:sequence>
10
- <xs:element name="logradouro" type="xs:string" minOccurs="0"/>
11
- <xs:element name="nome" type="xs:string" minOccurs="0"/>
12
- <xs:element name="bairro" type="xs:string" minOccurs="0"/>
13
- <xs:element name="UF" type="xs:string" minOccurs="0"/>
14
- <xs:element name="cidade" type="xs:string" minOccurs="0"/>
15
- </xs:sequence>
16
- </xs:complexType>
17
- </xs:element>
18
- </xs:choice>
19
- </xs:complexType>
20
- </xs:element>
21
- </xs:schema>
22
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"/>
23
- </DataSet>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="ISO-8859-1"?>
2
- <webservicecep><resultado>-1</resultado><resultado_txt>cep nao encontrado</resultado_txt><cep>12345678</cep></webservicecep>