Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[17.0] l10n_es_facturae_face error zeep.exceptions.ValidationError: Expected at least 1 items (minOccurs check) #4051

Open
metaOkami opened this issue Feb 27, 2025 · 0 comments

Comments

@metaOkami
Copy link

Buenos días, estoy intentando configurar y usar el módulo de envío de facturas a FACe, y me he encontrado con varios problemas:

Por un lado, configurando el módulo tal y como insinua el readme.rst, al intentar enviar una factura me daba el siguiente error en el job del envío edi:

Traceback (most recent call last):
File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_backend.py", line 308, in exchange_send
self._exchange_send(exchange_record)
File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_backend.py", line 381, in _exchange_send
return component.send()
File "/opt/odoo/odoo17/oca-addons/l10n-spain/l10n_es_facturae_face/components/edi_send_l10n_es_facturae_face.py", line 23, in send
response = self.send_webservice(
File "/opt/odoo/odoo17/oca-addons/l10n-spain/l10n_es_facturae_face/components/webservice_face.py", line 56, in send_webservice
client = self._get_client(public_crt, private_key)
File "/opt/odoo/odoo17/oca-addons/l10n-spain/l10n_es_facturae_face/components/webservice_face.py", line 39, in _get_client
return Client(
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/client.py", line 73, in init
self.wsdl = Document(wsdl, self.transport, settings=self.settings)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/wsdl.py", line 92, in init
self.load(location)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/wsdl.py", line 95, in load
document = self._get_xml_document(location)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/wsdl.py", line 155, in _get_xml_document
return load_external(
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/loader.py", line 87, in load_external
content = transport.load(url)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/transports.py", line 122, in load
content = self._load_remote_data(url)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/transports.py", line 135, in _load_remote_data
response.raise_for_status()
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/requests/models.py", line 943, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://se-face-webservice.redsara.es/facturasspp2

Decir, que subí el certificado tanto a https://se-integradores-face.redsara.es/inicio como a Odoo e igualmente seguía sin funcionar. Abrí un ticket al soporte de FACe sobre si el link del servicio era correcto o si me tenía que dar de alta en algún sitio más y me contestaron esto:

Image

Dejo los links por aquí:

Portales:
https://se-proveedores-face.redsara.es/inicio
https://se-organismos-face.redsara.es/inicio
https://se-integradores-face.redsara.es/inicio
Servicios web REST:
https://se-api-face.redsara.es/integrators/doc
https://se-api-face.redsara.es/providers/doc
https://se-api-face.redsara.es/organisms/doc
Servicios web SOAP nuevos:
https://se-ws-face.redsara.es/proveedores/v1/factura?wsdl
https://se-ws-face.redsara.es/organismos/v1/factura?wsdl
https://se-ws-face.redsara.es/organismos/v1/directorio?wsdl
Servicios web SOAP retro compatibles:
https://se-face-webservice.redsara.es/facturasrcf?wsdl
https://se-face-webservice.redsara.es/directoriosrcf?wsdl
https://se-face-webservice.redsara.es/facturasspp?wsdl
https://se-face-webservice.redsara.es/facturasnotificador?wsdl

Toda la documentación está publicada en el PAe: https://administracionelectronica.gob.es/ctt/face/descargas

Decidí finalmente probar con el ws https://se-face-webservice.redsara.es/facturasspp?wsdl ya que era el que más se parecía a lo que hay puesto como ws de test en el readme, y ahora me responde este error, que no consigo saber a qué se debe:

Traceback (most recent call last):
File "/opt/odoo/odoo17/odoo17-addons/custom-addons/queue_job/controllers/main.py", line 104, in runjob
self._try_perform_job(env, job)
File "/opt/odoo/odoo17/odoo17-addons/custom-addons/queue_job/controllers/main.py", line 36, in _try_perform_job
job.perform()
File "/opt/odoo/odoo17/odoo17-addons/custom-addons/queue_job/job.py", line 522, in perform
self.result = self.func(*tuple(self.args), **self.kwargs)
File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_exchange_record.py", line 323, in action_exchange_send
return self.backend_id.exchange_send(self)
File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_backend.py", line 308, in exchange_send
self._exchange_send(exchange_record)
File "/opt/odoo/odoo17/oca-addons/edi-framework/edi_oca/models/edi_backend.py", line 381, in _exchange_send
return component.send()
File "/opt/odoo/odoo17/oca-addons/l10n-spain/l10n_es_facturae_face/components/edi_send_l10n_es_facturae_face.py", line 23, in send
response = self.send_webservice(
File "/opt/odoo/odoo17/oca-addons/l10n-spain/l10n_es_facturae_face/components/webservice_face.py", line 69, in send_webservice
response = client.service.enviarFactura(invoice_call)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/proxy.py", line 46, in call
return self._proxy._binding.send(
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 123, in send
envelope, http_headers = self._create(
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/bindings/soap.py", line 73, in _create
serialized = operation_obj.create(*args, **kwargs)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/definitions.py", line 222, in create
return self.input.serialize(*args, **kwargs)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/wsdl/messages/soap.py", line 79, in serialize
self.body.render(body, body_value)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 232, in render
self._render_value_item(parent, value, render_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 256, in _render_value_item
return self.type.render(node, value, None, render_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/types/complex.py", line 295, in render
element.render(node, element_value, child_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/indicators.py", line 251, in render
element.render(parent, element_value, child_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 232, in render
self._render_value_item(parent, value, render_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 256, in _render_value_item
return self.type.render(node, value, None, render_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/types/complex.py", line 295, in render
element.render(node, element_value, child_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/indicators.py", line 251, in render
element.render(parent, element_value, child_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 232, in render
self._render_value_item(parent, value, render_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/element.py", line 256, in _render_value_item
return self.type.render(node, value, None, render_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/types/complex.py", line 295, in render
element.render(node, element_value, child_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/indicators.py", line 251, in render
element.render(parent, element_value, child_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/any.py", line 126, in render
self.validate(value, render_path)
File "/opt/odoo/odoo17/odoo-venv/lib/python3.10/site-packages/zeep/xsd/elements/any.py", line 172, in validate
raise exceptions.ValidationError(
zeep.exceptions.ValidationError: Expected at least 1 items (minOccurs check)

En conclusión, me gustaría que me confirmaseis si el link de el ws tanto de test como de producción que hay en el readme es usable, y en caso de que el readme esté equivocado, sería vital un pull request al respecto. En cualquier caso, por qué pueden estar dando estos errores? No he tenido mucho tiempo de revisar el código y de todas formas no veo nada raro...Puede ser que me falte configurar algo?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant