afipws 1.2.1 → 1.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c04ecc136f57b95ee4e7fa573088cc2090707a6c
4
- data.tar.gz: 6525c8ec8aaca3fa71e85ce1b0c707788d00f7c1
2
+ SHA256:
3
+ metadata.gz: 010fac0fb543b010564f089fc4625d0b45d7c7d5f81b713832e0765bc7620cdf
4
+ data.tar.gz: acaa441393cd79fcbaac477d1c806e97988a93e3aef64fa9018693bff172b5c7
5
5
  SHA512:
6
- metadata.gz: e72031f2743622a36234d3100804c3deefa2ceb49de6117b5753bd7af80714c003adeb547067eb9390bdd928b2bb6eb1e6cd187d44f8c77139c9b4eb05a92d15
7
- data.tar.gz: 77629e1f045924abb0335c78cd41402304cfe8d1e8dfe37fda38e2085e54d25ec52ecd4cc96f527103890337f456b765101fbb0f2cc2869ccfbb5862e81e7319
6
+ metadata.gz: 71cc61d3c240a9832897bc0ee397679cd4c9b0d0867e83c2a7c7e9832c88a144dff0170b9ba7b17a3825e2a7233fec72f93e6badfee6a6ca69269326877448da
7
+ data.tar.gz: fc5af32704571cfca4fda6ec345e4fc9d9237f7a00ac65a568f6116a1f09b15482f6af0c7fc5a6b845cf0eeb960c5eef60f92f836334cb49e79b0744e2191ca6
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.5.0
@@ -1,2 +1,5 @@
1
+ ---
2
+ sudo: false
1
3
  language: ruby
2
4
  cache: bundler
5
+ before_install: gem install bundler -v 1.16.2
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- afipws (1.2.1)
4
+ afipws (1.3.2)
5
5
  activesupport
6
6
  builder
7
7
  nokogiri
@@ -10,19 +10,20 @@ PATH
10
10
  GEM
11
11
  remote: http://rubygems.org/
12
12
  specs:
13
- activesupport (5.2.3)
13
+ activesupport (6.0.3.1)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
15
  i18n (>= 0.7, < 2)
16
16
  minitest (~> 5.1)
17
17
  tzinfo (~> 1.1)
18
+ zeitwerk (~> 2.2, >= 2.2.2)
18
19
  akami (1.3.1)
19
20
  gyoku (>= 0.4.0)
20
21
  nokogiri
21
22
  ast (2.4.0)
22
- builder (3.2.3)
23
+ builder (3.2.4)
23
24
  byebug (11.0.1)
24
25
  coderay (1.1.2)
25
- concurrent-ruby (1.1.5)
26
+ concurrent-ruby (1.1.6)
26
27
  diff-lcs (1.3)
27
28
  ffi (1.9.25)
28
29
  formatador (0.2.5)
@@ -45,7 +46,7 @@ GEM
45
46
  httpi (2.4.4)
46
47
  rack
47
48
  socksify
48
- i18n (1.6.0)
49
+ i18n (1.8.2)
49
50
  concurrent-ruby (~> 1.0)
50
51
  jaro_winkler (1.5.1)
51
52
  listen (3.1.5)
@@ -55,11 +56,11 @@ GEM
55
56
  lumberjack (1.0.13)
56
57
  method_source (0.9.0)
57
58
  mini_portile2 (2.4.0)
58
- minitest (5.11.3)
59
+ minitest (5.14.1)
59
60
  mocha (0.9.10)
60
61
  rake
61
62
  nenv (0.3.0)
62
- nokogiri (1.10.3)
63
+ nokogiri (1.10.9)
63
64
  mini_portile2 (~> 2.4.0)
64
65
  nori (2.6.0)
65
66
  notiffany (0.1.1)
@@ -75,9 +76,9 @@ GEM
75
76
  pry-byebug (3.7.0)
76
77
  byebug (~> 11.0)
77
78
  pry (~> 0.10)
78
- rack (2.0.7)
79
+ rack (2.2.3)
79
80
  rainbow (3.0.0)
80
- rake (10.4.2)
81
+ rake (13.0.1)
81
82
  rb-fsevent (0.10.3)
82
83
  rb-inotify (0.9.10)
83
84
  ffi (>= 0.5.0, < 2)
@@ -116,12 +117,13 @@ GEM
116
117
  socksify (1.7.1)
117
118
  thor (0.20.0)
118
119
  thread_safe (0.3.6)
119
- tzinfo (1.2.5)
120
+ tzinfo (1.2.7)
120
121
  thread_safe (~> 0.1)
121
122
  unicode-display_width (1.4.0)
122
123
  wasabi (3.5.0)
123
124
  httpi (~> 2.0)
124
125
  nokogiri (>= 1.4.2)
126
+ zeitwerk (2.3.0)
125
127
 
126
128
  PLATFORMS
127
129
  ruby
@@ -136,4 +138,4 @@ DEPENDENCIES
136
138
  rubocop
137
139
 
138
140
  BUNDLED WITH
139
- 1.16.2
141
+ 2.1.4
data/README.md CHANGED
@@ -11,6 +11,7 @@ Ruby client para los web services de la AFIP.
11
11
  * ws_sr_constancia_inscripcion (WSConstanciaInscripcion)
12
12
  * ws_sr_padron_a100 (PersonaServiceA100)
13
13
  * ws_sr_padron_a4 (PersonaServiceA4)
14
+ * ws_sr_padron_a5 (PersonaServiceA5)
14
15
  * wconsdeclaracion (WConsDeclaracion)
15
16
 
16
17
  ## Uso
@@ -17,5 +17,6 @@ require 'afipws/wsaa'
17
17
  require 'afipws/wsfe'
18
18
  require 'afipws/ws_constancia_inscripcion'
19
19
  require 'afipws/persona_service_a4'
20
+ require 'afipws/persona_service_a5'
20
21
  require 'afipws/persona_service_a100'
21
22
  require 'afipws/w_cons_declaracion'
@@ -1,7 +1,7 @@
1
1
  module Afipws
2
2
  class Client
3
3
  def initialize savon_options
4
- @client = Savon.client savon_options.reverse_merge(soap_version: 2, ssl_version: :TLSv1)
4
+ @client = Savon.client savon_options.reverse_merge(soap_version: 2, ssl_version: :TLSv1_2)
5
5
  end
6
6
 
7
7
  def request action, body = nil
@@ -0,0 +1,35 @@
1
+ module Afipws
2
+ class PersonaServiceA5
3
+ WSDL = {
4
+ development: 'https://awshomo.afip.gov.ar/sr-padron/webservices/personaServiceA5?WSDL',
5
+ production: 'https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA5?WSDL',
6
+ test: Root + '/spec/fixtures/ws_sr_padron_a5.wsdl'
7
+ }.freeze
8
+
9
+
10
+ attr_reader :wsaa
11
+
12
+ def initialize options = {}
13
+ @cuit = options[:cuit]
14
+ @wsaa = WSAA.new options.merge(service: 'ws_sr_padron_a5')
15
+ @client = Client.new Hash(options[:savon]).reverse_merge(wsdl: WSDL[@wsaa.env], soap_version: 1)
16
+ end
17
+
18
+ def dummy
19
+ request(:dummy)[:return]
20
+ end
21
+
22
+ def get_persona id
23
+ message = @wsaa.auth.merge(cuitRepresentada: @cuit, idPersona: id)
24
+ request(:get_persona, message)[:persona_return]
25
+ end
26
+
27
+ private
28
+
29
+ def request action, body = nil
30
+ @client.request(action, body).to_hash[:"#{action}_response"]
31
+ rescue Savon::SOAPFault => f
32
+ raise WSError, f.message
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Afipws
2
- VERSION = '1.2.1'
2
+ VERSION = '1.3.2'
3
3
  end
@@ -16,7 +16,7 @@ module Afipws
16
16
  @ttl = options[:ttl] || 2400
17
17
  @cuit = options[:cuit]
18
18
  @client = Client.new Hash(options[:savon]).reverse_merge(wsdl: WSDL[@env])
19
- @ta_path = File.join(Dir.pwd, 'tmp', "#{@cuit}-#{@env}-#{@service}-ta.dump")
19
+ @ta_path = options[:ta_path] || File.join(Dir.pwd, 'tmp', "#{@cuit}-#{@env}-#{@service}-ta.dump")
20
20
  end
21
21
 
22
22
  def generar_tra service, ttl
@@ -89,7 +89,7 @@ module Afipws
89
89
  end
90
90
 
91
91
  def restore_ta
92
- Marshal.load(File.read(@ta_path)) if File.exist?(@ta_path)
92
+ Marshal.load(File.read(@ta_path)) if File.exist?(@ta_path) && !File.zero?(@ta_path)
93
93
  end
94
94
 
95
95
  def persist_ta ta
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ module Afipws
4
+ describe PersonaServiceA5 do
5
+ let(:ta) { {token: 't', sign: 's'} }
6
+ let(:ws) { PersonaServiceA5.new(cuit: '12345678912').tap { |ws| ws.wsaa.stubs auth: ta } }
7
+ let(:message) { ta.merge cuitRepresentada: '12345678912' }
8
+
9
+ context 'métodos API' do
10
+ it 'dummy' do
11
+ savon.expects(:dummy).returns(fixture('ws_sr_padron_a5/dummy/success'))
12
+ ws.dummy.should == { appserver: 'OK', authserver: 'OK', dbserver: 'OK' }
13
+ end
14
+
15
+ it 'get_persona' do
16
+ savon.expects(:get_persona)
17
+ .with(message: message.merge(idPersona: '98765432198'))
18
+ .returns(fixture('ws_sr_padron_a5/get_persona/success'))
19
+ ws.get_persona('98765432198').should have_key :datos_generales
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,283 @@
1
+ <wsdl:definitions name="PersonaServiceA5" targetNamespace="http://a5.soap.ws.server.puc.sr/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://a5.soap.ws.server.puc.sr/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
2
+ <wsdl:types>
3
+ <xs:schema elementFormDefault="unqualified" targetNamespace="http://a5.soap.ws.server.puc.sr/" version="1.0" xmlns:tns="http://a5.soap.ws.server.puc.sr/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
4
+ <xs:element name="dummy" type="tns:dummy"/>
5
+ <xs:element name="dummyResponse" type="tns:dummyResponse"/>
6
+ <xs:element name="getPersona" type="tns:getPersona"/>
7
+ <xs:element name="getPersonaList" type="tns:getPersonaList"/>
8
+ <xs:element name="getPersonaListResponse" type="tns:getPersonaListResponse"/>
9
+ <xs:element name="getPersonaResponse" type="tns:getPersonaResponse"/>
10
+ <xs:complexType name="getPersona">
11
+ <xs:sequence>
12
+ <xs:element name="token" type="xs:string"/>
13
+ <xs:element name="sign" type="xs:string"/>
14
+ <xs:element name="cuitRepresentada" type="xs:long"/>
15
+ <xs:element name="idPersona" type="xs:long"/>
16
+ </xs:sequence>
17
+ </xs:complexType>
18
+ <xs:complexType name="getPersonaResponse">
19
+ <xs:sequence>
20
+ <xs:element minOccurs="0" name="personaReturn" type="tns:personaReturn"/>
21
+ </xs:sequence>
22
+ </xs:complexType>
23
+ <xs:complexType name="personaReturn">
24
+ <xs:sequence>
25
+ <xs:element minOccurs="0" name="datosGenerales" type="tns:datosGenerales"/>
26
+ <xs:element minOccurs="0" name="datosMonotributo" type="tns:datosMonotributo"/>
27
+ <xs:element minOccurs="0" name="datosRegimenGeneral" type="tns:datosRegimenGeneral"/>
28
+ <xs:element minOccurs="0" name="errorConstancia" type="tns:errorConstancia"/>
29
+ <xs:element minOccurs="0" name="errorMonotributo" type="tns:errorMonotributo"/>
30
+ <xs:element minOccurs="0" name="errorRegimenGeneral" type="tns:errorRegimenGeneral"/>
31
+ <xs:element minOccurs="0" name="metadata" type="tns:metadata"/>
32
+ </xs:sequence>
33
+ </xs:complexType>
34
+ <xs:complexType name="datosGenerales">
35
+ <xs:sequence>
36
+ <xs:element minOccurs="0" name="apellido" type="xs:string"/>
37
+ <xs:element minOccurs="0" name="dependencia" type="tns:dependencia"/>
38
+ <xs:element minOccurs="0" name="domicilioFiscal" type="tns:domicilio"/>
39
+ <xs:element minOccurs="0" name="estadoClave" type="xs:string"/>
40
+ <xs:element minOccurs="0" name="fechaContratoSocial" type="xs:dateTime"/>
41
+ <xs:element minOccurs="0" name="idPersona" type="xs:long"/>
42
+ <xs:element minOccurs="0" name="mesCierre" type="xs:int"/>
43
+ <xs:element minOccurs="0" name="nombre" type="xs:string"/>
44
+ <xs:element minOccurs="0" name="razonSocial" type="xs:string"/>
45
+ <xs:element minOccurs="0" name="tipoClave" type="xs:string"/>
46
+ <xs:element minOccurs="0" name="tipoPersona" type="xs:string"/>
47
+ </xs:sequence>
48
+ </xs:complexType>
49
+ <xs:complexType name="dependencia">
50
+ <xs:sequence>
51
+ <xs:element minOccurs="0" name="codPostal" type="xs:string"/>
52
+ <xs:element minOccurs="0" name="descripcionDependencia" type="xs:string"/>
53
+ <xs:element minOccurs="0" name="descripcionProvincia" type="xs:string"/>
54
+ <xs:element minOccurs="0" name="direccion" type="xs:string"/>
55
+ <xs:element minOccurs="0" name="idDependencia" type="xs:int"/>
56
+ <xs:element minOccurs="0" name="idProvincia" type="xs:int"/>
57
+ <xs:element minOccurs="0" name="localidad" type="xs:string"/>
58
+ </xs:sequence>
59
+ </xs:complexType>
60
+ <xs:complexType name="domicilio">
61
+ <xs:sequence>
62
+ <xs:element minOccurs="0" name="codPostal" type="xs:string"/>
63
+ <xs:element minOccurs="0" name="datoAdicional" type="xs:string"/>
64
+ <xs:element minOccurs="0" name="descripcionProvincia" type="xs:string"/>
65
+ <xs:element minOccurs="0" name="direccion" type="xs:string"/>
66
+ <xs:element minOccurs="0" name="idProvincia" type="xs:int"/>
67
+ <xs:element minOccurs="0" name="localidad" type="xs:string"/>
68
+ <xs:element minOccurs="0" name="tipoDatoAdicional" type="xs:string"/>
69
+ <xs:element minOccurs="0" name="tipoDomicilio" type="xs:string"/>
70
+ </xs:sequence>
71
+ </xs:complexType>
72
+ <xs:complexType name="datosMonotributo">
73
+ <xs:sequence>
74
+ <xs:element minOccurs="0" name="actividadMonotributista" type="tns:actividad"/>
75
+ <xs:element minOccurs="0" name="categoriaMonotributo" type="tns:categoria"/>
76
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="componenteDeSociedad" nillable="true" type="tns:relacion"/>
77
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="impuesto" nillable="true" type="tns:impuesto"/>
78
+ </xs:sequence>
79
+ </xs:complexType>
80
+ <xs:complexType name="actividad">
81
+ <xs:sequence>
82
+ <xs:element minOccurs="0" name="descripcionActividad" type="xs:string"/>
83
+ <xs:element minOccurs="0" name="idActividad" type="xs:long"/>
84
+ <xs:element minOccurs="0" name="nomenclador" type="xs:int"/>
85
+ <xs:element minOccurs="0" name="orden" type="xs:int"/>
86
+ <xs:element minOccurs="0" name="periodo" type="xs:int"/>
87
+ </xs:sequence>
88
+ </xs:complexType>
89
+ <xs:complexType name="categoria">
90
+ <xs:sequence>
91
+ <xs:element minOccurs="0" name="descripcionCategoria" type="xs:string"/>
92
+ <xs:element minOccurs="0" name="idCategoria" type="xs:int"/>
93
+ <xs:element minOccurs="0" name="idImpuesto" type="xs:int"/>
94
+ <xs:element minOccurs="0" name="periodo" type="xs:int"/>
95
+ </xs:sequence>
96
+ </xs:complexType>
97
+ <xs:complexType name="relacion">
98
+ <xs:sequence>
99
+ <xs:element minOccurs="0" name="apellidoPersonaAsociada" type="xs:string"/>
100
+ <xs:element minOccurs="0" name="ffRelacion" type="xs:dateTime"/>
101
+ <xs:element minOccurs="0" name="ffVencimiento" type="xs:dateTime"/>
102
+ <xs:element minOccurs="0" name="idPersonaAsociada" type="xs:long"/>
103
+ <xs:element minOccurs="0" name="nombrePersonaAsociada" type="xs:string"/>
104
+ <xs:element minOccurs="0" name="razonSocialPersonaAsociada" type="xs:string"/>
105
+ <xs:element minOccurs="0" name="tipoComponente" type="xs:string"/>
106
+ </xs:sequence>
107
+ </xs:complexType>
108
+ <xs:complexType name="impuesto">
109
+ <xs:sequence>
110
+ <xs:element minOccurs="0" name="descripcionImpuesto" type="xs:string"/>
111
+ <xs:element minOccurs="0" name="idImpuesto" type="xs:int"/>
112
+ <xs:element minOccurs="0" name="periodo" type="xs:int"/>
113
+ </xs:sequence>
114
+ </xs:complexType>
115
+ <xs:complexType name="datosRegimenGeneral">
116
+ <xs:sequence>
117
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="actividad" nillable="true" type="tns:actividad"/>
118
+ <xs:element minOccurs="0" name="categoriaAutonomo" type="tns:categoria"/>
119
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="impuesto" nillable="true" type="tns:impuesto"/>
120
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="regimen" nillable="true" type="tns:regimen"/>
121
+ </xs:sequence>
122
+ </xs:complexType>
123
+ <xs:complexType name="regimen">
124
+ <xs:sequence>
125
+ <xs:element minOccurs="0" name="descripcionRegimen" type="xs:string"/>
126
+ <xs:element minOccurs="0" name="idImpuesto" type="xs:int"/>
127
+ <xs:element minOccurs="0" name="idRegimen" type="xs:int"/>
128
+ <xs:element minOccurs="0" name="periodo" type="xs:int"/>
129
+ <xs:element minOccurs="0" name="tipoRegimen" type="xs:string"/>
130
+ </xs:sequence>
131
+ </xs:complexType>
132
+ <xs:complexType name="errorConstancia">
133
+ <xs:sequence>
134
+ <xs:element minOccurs="0" name="apellido" type="xs:string"/>
135
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="error" nillable="true" type="xs:string"/>
136
+ <xs:element minOccurs="0" name="idPersona" type="xs:long"/>
137
+ <xs:element minOccurs="0" name="nombre" type="xs:string"/>
138
+ </xs:sequence>
139
+ </xs:complexType>
140
+ <xs:complexType name="errorMonotributo">
141
+ <xs:sequence>
142
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="error" nillable="true" type="xs:string"/>
143
+ <xs:element minOccurs="0" name="mensaje" type="xs:string"/>
144
+ </xs:sequence>
145
+ </xs:complexType>
146
+ <xs:complexType name="errorRegimenGeneral">
147
+ <xs:sequence>
148
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="error" nillable="true" type="xs:string"/>
149
+ <xs:element minOccurs="0" name="mensaje" type="xs:string"/>
150
+ </xs:sequence>
151
+ </xs:complexType>
152
+ <xs:complexType name="metadata">
153
+ <xs:sequence>
154
+ <xs:element minOccurs="0" name="fechaHora" type="xs:dateTime"/>
155
+ <xs:element minOccurs="0" name="servidor" type="xs:string"/>
156
+ </xs:sequence>
157
+ </xs:complexType>
158
+ <xs:complexType name="getPersonaList">
159
+ <xs:sequence>
160
+ <xs:element name="token" type="xs:string"/>
161
+ <xs:element name="sign" type="xs:string"/>
162
+ <xs:element name="cuitRepresentada" type="xs:long"/>
163
+ <xs:element maxOccurs="unbounded" name="idPersona" type="xs:long"/>
164
+ </xs:sequence>
165
+ </xs:complexType>
166
+ <xs:complexType name="getPersonaListResponse">
167
+ <xs:sequence>
168
+ <xs:element minOccurs="0" name="personaListReturn" type="tns:personaListReturn"/>
169
+ </xs:sequence>
170
+ </xs:complexType>
171
+ <xs:complexType name="personaListReturn">
172
+ <xs:sequence>
173
+ <xs:element minOccurs="0" name="metadata" type="tns:metadata"/>
174
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="persona" nillable="true" type="tns:persona"/>
175
+ </xs:sequence>
176
+ </xs:complexType>
177
+ <xs:complexType name="persona">
178
+ <xs:sequence>
179
+ <xs:element minOccurs="0" name="datosGenerales" type="tns:datosGenerales"/>
180
+ <xs:element minOccurs="0" name="datosMonotributo" type="tns:datosMonotributo"/>
181
+ <xs:element minOccurs="0" name="datosRegimenGeneral" type="tns:datosRegimenGeneral"/>
182
+ <xs:element minOccurs="0" name="errorConstancia" type="tns:errorConstancia"/>
183
+ <xs:element minOccurs="0" name="errorMonotributo" type="tns:errorMonotributo"/>
184
+ <xs:element minOccurs="0" name="errorRegimenGeneral" type="tns:errorRegimenGeneral"/>
185
+ </xs:sequence>
186
+ </xs:complexType>
187
+ <xs:complexType name="dummy">
188
+ <xs:sequence/>
189
+ </xs:complexType>
190
+ <xs:complexType name="dummyResponse">
191
+ <xs:sequence>
192
+ <xs:element minOccurs="0" name="return" type="tns:dummyReturn"/>
193
+ </xs:sequence>
194
+ </xs:complexType>
195
+ <xs:complexType name="dummyReturn">
196
+ <xs:sequence>
197
+ <xs:element minOccurs="0" name="appserver" type="xs:string"/>
198
+ <xs:element minOccurs="0" name="authserver" type="xs:string"/>
199
+ <xs:element minOccurs="0" name="dbserver" type="xs:string"/>
200
+ </xs:sequence>
201
+ </xs:complexType>
202
+ </xs:schema>
203
+ </wsdl:types>
204
+ <wsdl:message name="getPersonaListResponse">
205
+ <wsdl:part element="tns:getPersonaListResponse" name="parameters">
206
+ </wsdl:part>
207
+ </wsdl:message>
208
+ <wsdl:message name="dummyResponse">
209
+ <wsdl:part element="tns:dummyResponse" name="parameters">
210
+ </wsdl:part>
211
+ </wsdl:message>
212
+ <wsdl:message name="getPersona">
213
+ <wsdl:part element="tns:getPersona" name="parameters">
214
+ </wsdl:part>
215
+ </wsdl:message>
216
+ <wsdl:message name="getPersonaList">
217
+ <wsdl:part element="tns:getPersonaList" name="parameters">
218
+ </wsdl:part>
219
+ </wsdl:message>
220
+ <wsdl:message name="getPersonaResponse">
221
+ <wsdl:part element="tns:getPersonaResponse" name="parameters">
222
+ </wsdl:part>
223
+ </wsdl:message>
224
+ <wsdl:message name="dummy">
225
+ <wsdl:part element="tns:dummy" name="parameters">
226
+ </wsdl:part>
227
+ </wsdl:message>
228
+ <wsdl:portType name="PersonaServiceA5">
229
+ <wsdl:operation name="getPersona">
230
+ <wsdl:input message="tns:getPersona" name="getPersona">
231
+ </wsdl:input>
232
+ <wsdl:output message="tns:getPersonaResponse" name="getPersonaResponse">
233
+ </wsdl:output>
234
+ </wsdl:operation>
235
+ <wsdl:operation name="getPersonaList">
236
+ <wsdl:input message="tns:getPersonaList" name="getPersonaList">
237
+ </wsdl:input>
238
+ <wsdl:output message="tns:getPersonaListResponse" name="getPersonaListResponse">
239
+ </wsdl:output>
240
+ </wsdl:operation>
241
+ <wsdl:operation name="dummy">
242
+ <wsdl:input message="tns:dummy" name="dummy">
243
+ </wsdl:input>
244
+ <wsdl:output message="tns:dummyResponse" name="dummyResponse">
245
+ </wsdl:output>
246
+ </wsdl:operation>
247
+ </wsdl:portType>
248
+ <wsdl:binding name="PersonaServiceA5SoapBinding" type="tns:PersonaServiceA5">
249
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
250
+ <wsdl:operation name="getPersona">
251
+ <soap:operation soapAction="" style="document"/>
252
+ <wsdl:input name="getPersona">
253
+ <soap:body use="literal"/>
254
+ </wsdl:input>
255
+ <wsdl:output name="getPersonaResponse">
256
+ <soap:body use="literal"/>
257
+ </wsdl:output>
258
+ </wsdl:operation>
259
+ <wsdl:operation name="getPersonaList">
260
+ <soap:operation soapAction="" style="document"/>
261
+ <wsdl:input name="getPersonaList">
262
+ <soap:body use="literal"/>
263
+ </wsdl:input>
264
+ <wsdl:output name="getPersonaListResponse">
265
+ <soap:body use="literal"/>
266
+ </wsdl:output>
267
+ </wsdl:operation>
268
+ <wsdl:operation name="dummy">
269
+ <soap:operation soapAction="" style="document"/>
270
+ <wsdl:input name="dummy">
271
+ <soap:body use="literal"/>
272
+ </wsdl:input>
273
+ <wsdl:output name="dummyResponse">
274
+ <soap:body use="literal"/>
275
+ </wsdl:output>
276
+ </wsdl:operation>
277
+ </wsdl:binding>
278
+ <wsdl:service name="PersonaServiceA5">
279
+ <wsdl:port binding="tns:PersonaServiceA5SoapBinding" name="PersonaServiceA5Port">
280
+ <soap:address location="https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA5"/>
281
+ </wsdl:port>
282
+ </wsdl:service>
283
+ </wsdl:definitions>
@@ -0,0 +1,11 @@
1
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2
+ <soap:Body>
3
+ <ns2:dummyResponse xmlns:ns2="http://a100.soap.ws.server.pucParam.sr/">
4
+ <return>
5
+ <appserver>OK</appserver>
6
+ <authserver>OK</authserver>
7
+ <dbserver>OK</dbserver>
8
+ </return>
9
+ </ns2:dummyResponse>
10
+ </soap:Body>
11
+ </soap:Envelope>
@@ -0,0 +1,62 @@
1
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
2
+ <soap:Body>
3
+ <ns2:getPersonaResponse xmlns:ns2="http://a5.soap.ws.server.puc.sr/">
4
+ <personaReturn>
5
+ <datosGenerales>
6
+ <apellido>ALEXA</apellido>
7
+ <dependencia>
8
+ <codPostal>5000</codPostal>
9
+ <descripcionDependencia>AGENCIA-SEDE N.1 CORDOBA</descripcionDependencia>
10
+ <descripcionProvincia>CORDOBA</descripcionProvincia>
11
+ <direccion>BOULEVARD SAN JUAN 325 PB</direccion>
12
+ <idDependencia>272</idDependencia>
13
+ <idProvincia>3</idProvincia>
14
+ <localidad>CORDOBA</localidad>
15
+ </dependencia>
16
+ <domicilioFiscal>
17
+ <codPostal>5152</codPostal>
18
+ <descripcionProvincia>CORDOBA</descripcionProvincia>
19
+ <direccion>SAN MARTIN 256</direccion>
20
+ <idProvincia>3</idProvincia>
21
+ <localidad>VILLA CARLOS PAZ</localidad>
22
+ <tipoDomicilio>FISCAL</tipoDomicilio>
23
+ </domicilioFiscal>
24
+ <estadoClave>ACTIVO</estadoClave>
25
+ <idPersona>27255820422</idPersona>
26
+ <mesCierre>12</mesCierre>
27
+ <nombre>HILARY</nombre>
28
+ <tipoClave>CUIT</tipoClave>
29
+ <tipoPersona>FISICA</tipoPersona>
30
+ </datosGenerales>
31
+ <datosMonotributo>
32
+ <actividadMonotributista>
33
+ <descripcionActividad>VENTAS</descripcionActividad>
34
+ <idActividad>10</idActividad>
35
+ <nomenclador>1</nomenclador>
36
+ <orden>0</orden>
37
+ <periodo>201007</periodo>
38
+ </actividadMonotributista>
39
+ <categoriaMonotributo>
40
+ <descripcionCategoria>C VENTAS DE COSAS MUEBLES</descripcionCategoria>
41
+ <idCategoria>45</idCategoria>
42
+ <idImpuesto>20</idImpuesto>
43
+ <periodo>201007</periodo>
44
+ </categoriaMonotributo>
45
+ <componenteDeSociedad>
46
+ <ffRelacion>2008-11-25T06:41:21-03:00</ffRelacion>
47
+ <idPersonaAsociada>23168373384</idPersonaAsociada>
48
+ </componenteDeSociedad>
49
+ <impuesto>
50
+ <descripcionImpuesto>MONOTRIBUTO</descripcionImpuesto>
51
+ <idImpuesto>20</idImpuesto>
52
+ <periodo>201007</periodo>
53
+ </impuesto>
54
+ </datosMonotributo>
55
+ <metadata>
56
+ <fechaHora>2017-01-06T11:47:40.464-03:00</fechaHora>
57
+ <servidor>aws.afip.gob.ar</servidor>
58
+ </metadata>
59
+ </personaReturn>
60
+ </ns2:getPersonaResponse>
61
+ </soap:Body>
62
+ </soap:Envelope>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: afipws
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emmanuel Nicolau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-19 00:00:00.000000000 Z
11
+ date: 2020-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -174,6 +174,7 @@ files:
174
174
  - lib/afipws/core_ext/hash.rb
175
175
  - lib/afipws/persona_service_a100.rb
176
176
  - lib/afipws/persona_service_a4.rb
177
+ - lib/afipws/persona_service_a5.rb
177
178
  - lib/afipws/type_conversions.rb
178
179
  - lib/afipws/version.rb
179
180
  - lib/afipws/w_cons_declaracion.rb
@@ -184,6 +185,7 @@ files:
184
185
  - spec/afipws/core_ext/hash_spec.rb
185
186
  - spec/afipws/persona_service_a100_spec.rb
186
187
  - spec/afipws/persona_service_a4_spec.rb
188
+ - spec/afipws/persona_service_a5_spec.rb
187
189
  - spec/afipws/test.crt
188
190
  - spec/afipws/test.key
189
191
  - spec/afipws/type_conversions_spec.rb
@@ -210,6 +212,9 @@ files:
210
212
  - spec/fixtures/ws_sr_padron_a4.wsdl
211
213
  - spec/fixtures/ws_sr_padron_a4/dummy/success.xml
212
214
  - spec/fixtures/ws_sr_padron_a4/get_persona/success.xml
215
+ - spec/fixtures/ws_sr_padron_a5.wsdl
216
+ - spec/fixtures/ws_sr_padron_a5/dummy/success.xml
217
+ - spec/fixtures/ws_sr_padron_a5/get_persona/success.xml
213
218
  - spec/fixtures/wsaa/login_cms/fault.xml
214
219
  - spec/fixtures/wsaa/login_cms/success.xml
215
220
  - spec/fixtures/wsaa/login_cms/token_expirado.xml
@@ -266,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
266
271
  version: '0'
267
272
  requirements: []
268
273
  rubyforge_project: afipws
269
- rubygems_version: 2.5.1
274
+ rubygems_version: 2.7.3
270
275
  signing_key:
271
276
  specification_version: 4
272
277
  summary: Ruby client para los web services de la AFIP
@@ -274,6 +279,7 @@ test_files:
274
279
  - spec/afipws/core_ext/hash_spec.rb
275
280
  - spec/afipws/persona_service_a100_spec.rb
276
281
  - spec/afipws/persona_service_a4_spec.rb
282
+ - spec/afipws/persona_service_a5_spec.rb
277
283
  - spec/afipws/test.crt
278
284
  - spec/afipws/test.key
279
285
  - spec/afipws/type_conversions_spec.rb
@@ -300,6 +306,9 @@ test_files:
300
306
  - spec/fixtures/ws_sr_padron_a4.wsdl
301
307
  - spec/fixtures/ws_sr_padron_a4/dummy/success.xml
302
308
  - spec/fixtures/ws_sr_padron_a4/get_persona/success.xml
309
+ - spec/fixtures/ws_sr_padron_a5.wsdl
310
+ - spec/fixtures/ws_sr_padron_a5/dummy/success.xml
311
+ - spec/fixtures/ws_sr_padron_a5/get_persona/success.xml
303
312
  - spec/fixtures/wsaa/login_cms/fault.xml
304
313
  - spec/fixtures/wsaa/login_cms/success.xml
305
314
  - spec/fixtures/wsaa/login_cms/token_expirado.xml