afipws 1.2.1 → 1.3.2

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