brcep 3.0.8 → 3.1.0

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