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

intial SOAP support for NF-e #121

Open
wants to merge 38 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9a958fe
initial NFe servers scraper/scraped URLs
rvalyi Mar 22, 2025
49fb3df
better scraper
rvalyi Mar 22, 2025
a97def0
test NF-e servers
rvalyi Mar 22, 2025
c33bb1b
add SOAP test deps
rvalyi Mar 22, 2025
9d3bfca
initial generic WSDL downloader
rvalyi Mar 22, 2025
ecd857b
initial NF-e WSDL downloader
rvalyi Mar 22, 2025
7419601
refactor: reusable servers_scrapers
rvalyi Mar 22, 2025
f986ba9
add CT-e scraper/servers
rvalyi Mar 22, 2025
b2d639d
refactor: reusable wsdl_downloader + generate SOAP bindings option
rvalyi Mar 22, 2025
e5dd8cf
add NF-e WSDL files
rvalyi Mar 22, 2025
dda54bd
add NF-e SOAP bindings
rvalyi Mar 22, 2025
a3a0dab
add NF-e initial SOAP client
rvalyi Mar 22, 2025
156862a
scoped files with v4_0; cleanup
rvalyi Mar 23, 2025
786db8e
clean up servers scraper
rvalyi Mar 23, 2025
99af2f7
fixed SOAP bindings generation
rvalyi Mar 23, 2025
aad719e
proper NFe SOAP bindings
rvalyi Mar 23, 2025
376e354
NFe SOAP client clean up
rvalyi Mar 23, 2025
d7fc2c2
add NFe SOAP client test
rvalyi Mar 23, 2025
70d0b7c
clean up CTe client files layout
rvalyi Mar 23, 2025
b4e8481
add brazil-fiscal-client test dep
rvalyi Mar 23, 2025
17d58b1
add decorator test dep
rvalyi Mar 23, 2025
6cc6879
added missing NFe client test fixture
rvalyi Mar 23, 2025
03afde8
mypy checker uses types-requests
rvalyi Mar 24, 2025
ee5ce65
pre-commit fixes
rvalyi Mar 24, 2025
7fdf016
don't format scraped servers list
rvalyi Mar 24, 2025
fdfbaf1
py3.8 compat
rvalyi Mar 24, 2025
5e1d42b
pre-commit fixes
rvalyi Mar 24, 2025
bb0d22c
pre-commit fixes
rvalyi Mar 24, 2025
3cbe2cb
fix typo
rvalyi Mar 24, 2025
b0fd129
pre-commit fix
rvalyi Mar 24, 2025
509aa08
consultar cadastro is not a national service anymore
rvalyi Mar 24, 2025
a8516d6
add CTe WSDL + SOAP bindings
rvalyi Mar 24, 2025
2f03dda
don't try to lint MDF-e scraped servers
rvalyi Mar 24, 2025
b1eeffe
add MDF-e servers and servers_scraper
rvalyi Mar 24, 2025
b584fa8
add MDF-e WSDL downloader and files
rvalyi Mar 24, 2025
f7b7f85
add MDFe SOAP bindings
rvalyi Mar 24, 2025
e0467cb
optional [soap] dependencies
rvalyi Mar 24, 2025
d6803bf
import NFe servers
rvalyi Mar 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -6,6 +6,9 @@ exclude: |
.*/wsdl/.*\.wsdl$|
.*/soap/.*\.py$|
nfelib/nfe/ws/edoc_legacy.py|
nfelib/nfe/client/v4_0/servers.py|
nfelib/cte/client/v4_0/servers.py|
nfelib/mdfe/client/v3_0/servers.py|
^README\.md$
repos:
@@ -27,7 +30,8 @@ repos:
hooks:
- id: mypy
files: ^(nfelib/)
args: [ "--check-untyped-defs", "--ignore-missing-imports" ]
additional_dependencies:
- types-requests
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
441 changes: 441 additions & 0 deletions nfelib/cte/bindings/v4_0/input_cte_tipos_basico_v4_00.py

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions nfelib/cte/bindings/v4_0/input_cte_v4_00.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""This file was generated by xsdata, v24.4, on 2024-04-08 21:52:20
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""
from dataclasses import dataclass

from nfelib.cte.bindings.v4_0.input_cte_tipos_basico_v4_00 import TinutCte

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte"


@dataclass
class InputCte(TinutCte):
"""
Schema XML de validação do Pedido de Inutilização de Numeração do Conhecimento
de Transportes eletrônico.
"""

class Meta:
name = "inputCTe"
namespace = "http://www.portalfiscal.inf.br/cte"
21 changes: 21 additions & 0 deletions nfelib/cte/bindings/v4_0/proc_input_cte_v4_00.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""This file was generated by xsdata, v24.4, on 2024-04-08 21:52:20
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""
from dataclasses import dataclass

from nfelib.cte.bindings.v4_0.input_cte_tipos_basico_v4_00 import TprocInputCte

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte"


@dataclass
class ProcInputCte(TprocInputCte):
"""
Pedido de inutilzação de numeração de CT-e processado.
"""

class Meta:
name = "procInputCTe"
namespace = "http://www.portalfiscal.inf.br/cte"
22 changes: 22 additions & 0 deletions nfelib/cte/bindings/v4_0/ret_input_cte_v4_00.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""This file was generated by xsdata, v24.4, on 2024-04-08 21:52:20
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""
from dataclasses import dataclass

from nfelib.cte.bindings.v4_0.input_cte_tipos_basico_v4_00 import TretInputCte

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte"


@dataclass
class RetInputCte(TretInputCte):
"""
Schema XML de validação do retorno do Pedido de Inutilização de Numeração do
CT-e.
"""

class Meta:
name = "retInputCTe"
namespace = "http://www.portalfiscal.inf.br/cte"
Empty file added nfelib/cte/client/__init__.py
Empty file.
Empty file.
109 changes: 109 additions & 0 deletions nfelib/cte/client/v4_0/servers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Auto-generated file. Do not edit manually.

# Constants
CTESTATUSSERVICOV4 = "CteStatusServicoV4"
CTECONSULTAV4 = "CteConsultaV4"
CTERECEPCAOEVENTOV4 = "CteRecepcaoEventoV4"
CTERECEPCAOOSV4 = "CTeRecepcaoOSV4"
CTERECEPCAOSINCV4 = "CTeRecepcaoSincV4"
CTERECEPCAOGTVEV4 = "CTeRecepcaoGTVeV4"
CTERECEPCAOSIMPV4 = "CTeRecepcaoSimpV4"

# Servers


servers = {
'MT': {
'prod_server': 'cte.sefaz.mt.gov.br',
'dev_server': 'homologacao.sefaz.mt.gov.br',
'CteStatusServicoV4': '/ctews2/services/CTeStatusServicoV4?wsdl',
'CteConsultaV4': '/ctews2/services/CTeConsultaV4?wsdl',
'CteRecepcaoEventoV4': '/ctews2/services/CTeRecepcaoEventoV4?wsdl',
'CTeRecepcaoOSV4': '/ctews/services/CTeRecepcaoOSV4?wsdl',
'CTeRecepcaoSincV4': '/ctews2/services/CTeRecepcaoSincV4?wsdl',
'CTeRecepcaoGTVeV4': '/ctews2/services/CTeRecepcaoGTVeV4?wsdl',
'CTeRecepcaoSimpV4': '/cte-ws/services/CTeRecepcaoSimpV4',
},
'MS': {
'prod_server': 'producao.cte.ms.gov.br',
'dev_server': 'homologacao.cte.ms.gov.br',
'CteStatusServicoV4': '/ws/CTeStatusServicoV4',
'CteConsultaV4': '/ws/CTeConsultaV4',
'CteRecepcaoEventoV4': '/ws/CTeRecepcaoEventoV4',
'CTeRecepcaoOSV4': '/ws/CTeRecepcaoOSV4',
'CTeRecepcaoSincV4': '/ws/CTeRecepcaoSincV4',
'CTeRecepcaoGTVeV4': '/ws/CTeRecepcaoGTVeV4',
'CTeRecepcaoSimpV4': '/ws/CTeRecepcaoSimpV4',
},
'MG': {
'prod_server': 'cte.fazenda.mg.gov.br',
'dev_server': 'hcte.fazenda.mg.gov.br',
'CteStatusServicoV4': '/cte/services/CTeStatusServicoV4',
'CteConsultaV4': '/cte/services/CTeConsultaV4',
'CteRecepcaoEventoV4': '/cte/services/CTeRecepcaoEventoV4',
'CTeRecepcaoOSV4': '/cte/services/CTeRecepcaoOSV4',
'CTeRecepcaoSincV4': '/cte/services/CTeRecepcaoSincV4',
'CTeRecepcaoGTVeV4': '/cte/services/CTeRecepcaoGTVeV4',
'CTeRecepcaoSimpV4': '/cte/services/CTeRecepcaoSimpV4',
},
'PR': {
'prod_server': 'cte.fazenda.pr.gov.br',
'dev_server': 'homologacao.cte.fazenda.pr.gov.br',
'CteStatusServicoV4': '/cte4/CTeStatusServicoV4?wsdl',
'CteConsultaV4': '/cte4/CTeConsultaV4?wsdl',
'CteRecepcaoEventoV4': '/cte4/CTeRecepcaoEventoV4?wsdl',
'CTeRecepcaoOSV4': '/cte4/CTeRecepcaoOSV4?wsdl',
'CTeRecepcaoSincV4': '/cte4/CTeRecepcaoSincV4?wsdl',
'CTeRecepcaoGTVeV4': '/cte4/CTeRecepcaoGTVeV4?wsdl',
'CTeRecepcaoSimpV4': '/cte4/CTeRecepcaoSimpV4',
},
'RS': {
'prod_server': 'cte.svrs.rs.gov.br',
'dev_server': 'cte-homologacao.svrs.rs.gov.br',
'CteStatusServicoV4': '/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx',
'CteConsultaV4': '/ws/CTeConsultaV4/CTeConsultaV4.asmx',
'CteRecepcaoEventoV4': '/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx',
'CTeRecepcaoOSV4': '/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx',
'CTeRecepcaoSincV4': '/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx',
'CTeRecepcaoGTVeV4': '/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx',
'CTeRecepcaoSimpV4': '/ws/CTeRecepcaoSimpV4/CTeRecepcaoSimpV4.asmx',
},
'SP': {
'prod_server': 'nfe.fazenda.sp.gov.br',
'dev_server': 'homologacao.nfe.fazenda.sp.gov.br',
'CteStatusServicoV4': '/CTeWS/WS/CTeStatusServicoV4.asmx',
'CteConsultaV4': '/CTeWS/WS/CTeConsultaV4.asmx',
'CteRecepcaoEventoV4': '/CTeWS/WS/CTeRecepcaoEventoV4.asmx',
'CTeRecepcaoOSV4': '/CTeWS/WS/CTeRecepcaoOSV4.asmx',
'CTeRecepcaoSincV4': '/CTeWS/WS/CTeRecepcaoSincV4.asmx',
'CTeRecepcaoGTVeV4': '/CTeWS/WS/CTeRecepcaoGTVeV4.asmx',
'CTeRecepcaoSimpV4': '/CTeWS/WS/CTeRecepcaoSimpV4.asmx',
},
'SVRS': {
'prod_server': 'cte.svrs.rs.gov.br',
'dev_server': 'cte-homologacao.svrs.rs.gov.br',
'CteStatusServicoV4': '/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx',
'CteConsultaV4': '/ws/CTeConsultaV4/CTeConsultaV4.asmx',
'CteRecepcaoEventoV4': '/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx',
'CTeRecepcaoOSV4': '/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx',
'CTeRecepcaoSincV4': '/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx',
'CTeRecepcaoGTVeV4': '/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx',
'CTeRecepcaoSimpV4': '/ws/CTeRecepcaoSimpV4/CTeRecepcaoSimpV4.asmx',
},
'SVSP': {
'prod_server': 'nfe.fazenda.sp.gov.br',
'dev_server': 'homologacao.nfe.fazenda.sp.gov.br',
'CteStatusServicoV4': '/CTeWS/WS/CTeStatusServicoV4.asmx',
'CteConsultaV4': '/CTeWS/WS/CTeConsultaV4.asmx',
'CteRecepcaoEventoV4': '/CTeWS/WS/CTeRecepcaoEventoV4.asmx',
'CTeRecepcaoOSV4': '/CTeWS/WS/CTeRecepcaoOSV4.asmx',
'CTeRecepcaoSincV4': '/CTeWS/WS/CTeRecepcaoSincV4.asmx',
'CTeRecepcaoGTVeV4': '/CTeWS/WS/CTeRecepcaoGTVeV4.asmx',
'CTeRecepcaoSimpV4': '/CTeWS/WS/CTeRecepcaoSimpV4.asmx',
},
'AN': {
'prod_server': 'www1.cte.fazenda.gov.br',
'dev_server': 'hom1.cte.fazenda.gov.br',
},
}

19 changes: 19 additions & 0 deletions nfelib/cte/client/v4_0/servers_scraper.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from pathlib import Path

from nfelib.utils.servers_scraper import fetch_servers, save_servers

# Constants
PROD_URL = "https://www.cte.fazenda.gov.br/portal/webServices.aspx"
DEV_URL = "https://hom.cte.fazenda.gov.br/portal/webServices.aspx"
OUTPUT_FILE = Path("nfelib/cte/client/servers.py")


def main():
"""Cli entry point."""
servers, constants = fetch_servers(PROD_URL, DEV_URL)
if servers:
save_servers(servers, constants, OUTPUT_FILE)


if __name__ == "__main__":
main()
31 changes: 31 additions & 0 deletions nfelib/cte/client/v4_0/wsdl_downloader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import logging
import sys

from nfelib.utils.wsdl_downloader import download_wsdl_files


def main() -> None:
"""Cli entry point."""
logging.basicConfig(level=logging.INFO)

generate = False
if "--generate" in sys.argv:
generate = True
sys.argv.remove(
"--generate"
) # Remove the --generate flag to avoid interfering with argparse

# Call the generic download_wsdl_files method with CTe-specific URLs
download_wsdl_files(
"https://cte.svrs.rs.gov.br/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx",
"https://cte.svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx",
"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx",
"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx",
"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx",
"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx",
generate=generate,
)


if __name__ == "__main__":
main()
6 changes: 6 additions & 0 deletions nfelib/cte/soap/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:18
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""
# nothing here
21 changes: 21 additions & 0 deletions nfelib/cte/soap/v4_0/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:23
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from nfelib.cte.soap.v4_0.cterecepcaoeventov4 import (
CteRecepcaoEventoV4Soap12CteRecepcaoEvento,
CteRecepcaoEventoV4Soap12CteRecepcaoEventoInput,
CteRecepcaoEventoV4Soap12CteRecepcaoEventoOutput,
CteDadosMsg,
CteRecepcaoEventoResult,
)

__all__ = [
"CteRecepcaoEventoV4Soap12CteRecepcaoEvento",
"CteRecepcaoEventoV4Soap12CteRecepcaoEventoInput",
"CteRecepcaoEventoV4Soap12CteRecepcaoEventoOutput",
"CteDadosMsg",
"CteRecepcaoEventoResult",
]
141 changes: 141 additions & 0 deletions nfelib/cte/soap/v4_0/cteconsultav4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:19
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4"


@dataclass
class CteConsultaCtresult(CommonMixin):
class Meta:
name = "cteConsultaCTResult"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteDadosMsg(CommonMixin):
class Meta:
name = "cteDadosMsg"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteConsultaV4Soap12CteConsultaCtInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteConsultaV4Soap12CteConsultaCtInput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
cteDadosMsg: Optional[CteDadosMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4",
},
)


@dataclass
class CteConsultaV4Soap12CteConsultaCtOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteConsultaV4Soap12CteConsultaCtOutput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
cteConsultaCTResult: Optional[CteConsultaCtresult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4",
},
)
Fault: Optional[
"CteConsultaV4Soap12CteConsultaCtOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)


class CteConsultaV4Soap12CteConsultaCt:
style = "document"
location = "https://cte.svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = (
"http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4/cteConsultaCT"
)
input = CteConsultaV4Soap12CteConsultaCtInput
output = CteConsultaV4Soap12CteConsultaCtOutput
147 changes: 147 additions & 0 deletions nfelib/cte/soap/v4_0/cterecepcaoeventov4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:23
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4"


@dataclass
class CteDadosMsg(CommonMixin):
class Meta:
name = "cteDadosMsg"
namespace = (
"http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteRecepcaoEventoResult(CommonMixin):
class Meta:
name = "cteRecepcaoEventoResult"
namespace = (
"http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteRecepcaoEventoV4Soap12CteRecepcaoEventoInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoEventoV4Soap12CteRecepcaoEventoInput.Body"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)

@dataclass
class Body(CommonMixin):
cteDadosMsg: Optional[CteDadosMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4",
},
)


@dataclass
class CteRecepcaoEventoV4Soap12CteRecepcaoEventoOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoEventoV4Soap12CteRecepcaoEventoOutput.Body"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)

@dataclass
class Body(CommonMixin):
cteRecepcaoEventoResult: Optional[CteRecepcaoEventoResult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4",
},
)
Fault: Optional[
"CteRecepcaoEventoV4Soap12CteRecepcaoEventoOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)


class CteRecepcaoEventoV4Soap12CteRecepcaoEvento:
style = "document"
location = "https://cte.svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4/cteRecepcaoEvento"
input = CteRecepcaoEventoV4Soap12CteRecepcaoEventoInput
output = CteRecepcaoEventoV4Soap12CteRecepcaoEventoOutput
139 changes: 139 additions & 0 deletions nfelib/cte/soap/v4_0/cterecepcaogtvev4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:22
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4"


@dataclass
class CteRecepcaoGtveV4Soap12CteRecepcaoGtveInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoGtveV4Soap12CteRecepcaoGtveInput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
cteDadosMsg: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4",
},
)


@dataclass
class CteDadosMsg(CommonMixin):
class Meta:
name = "cteDadosMsg"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4"

value: str = field(
default="",
metadata={
"required": True,
},
)


@dataclass
class CteRecepcaoGtveResult(CommonMixin):
class Meta:
name = "cteRecepcaoGTVeResult"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteRecepcaoGtveV4Soap12CteRecepcaoGtveOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoGtveV4Soap12CteRecepcaoGtveOutput.Body"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)

@dataclass
class Body(CommonMixin):
cteRecepcaoGTVeResult: Optional[CteRecepcaoGtveResult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4",
},
)
Fault: Optional[
"CteRecepcaoGtveV4Soap12CteRecepcaoGtveOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)


class CteRecepcaoGtveV4Soap12CteRecepcaoGtve:
style = "document"
location = "https://cte.svrs.rs.gov.br/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4/cteRecepcaoGTVe"
input = CteRecepcaoGtveV4Soap12CteRecepcaoGtveInput
output = CteRecepcaoGtveV4Soap12CteRecepcaoGtveOutput
141 changes: 141 additions & 0 deletions nfelib/cte/soap/v4_0/cterecepcaoosv4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:21
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4"


@dataclass
class CteRecepcaoOsv4Soap12CteRecepcaoOsInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoOsv4Soap12CteRecepcaoOsInput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
cteDadosMsg: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4",
},
)


@dataclass
class CteDadosMsg(CommonMixin):
class Meta:
name = "cteDadosMsg"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4"

value: str = field(
default="",
metadata={
"required": True,
},
)


@dataclass
class CteRecepcaoOsresult(CommonMixin):
class Meta:
name = "cteRecepcaoOSResult"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteRecepcaoOsv4Soap12CteRecepcaoOsOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoOsv4Soap12CteRecepcaoOsOutput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
cteRecepcaoOSResult: Optional[CteRecepcaoOsresult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4",
},
)
Fault: Optional[
"CteRecepcaoOsv4Soap12CteRecepcaoOsOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)


class CteRecepcaoOsv4Soap12CteRecepcaoOs:
style = "document"
location = (
"https://cte.svrs.rs.gov.br/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx"
)
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = (
"http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4/cteRecepcaoOS"
)
input = CteRecepcaoOsv4Soap12CteRecepcaoOsInput
output = CteRecepcaoOsv4Soap12CteRecepcaoOsOutput
139 changes: 139 additions & 0 deletions nfelib/cte/soap/v4_0/cterecepcaosincv4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:20
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4"


@dataclass
class CteRecepcaoSincV4Soap12CteRecepcaoInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoSincV4Soap12CteRecepcaoInput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
cteDadosMsg: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4",
},
)


@dataclass
class CteDadosMsg(CommonMixin):
class Meta:
name = "cteDadosMsg"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4"

value: str = field(
default="",
metadata={
"required": True,
},
)


@dataclass
class CteRecepcaoResult(CommonMixin):
class Meta:
name = "cteRecepcaoResult"
namespace = "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteRecepcaoSincV4Soap12CteRecepcaoOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteRecepcaoSincV4Soap12CteRecepcaoOutput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
cteRecepcaoResult: Optional[CteRecepcaoResult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4",
},
)
Fault: Optional[
"CteRecepcaoSincV4Soap12CteRecepcaoOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)


class CteRecepcaoSincV4Soap12CteRecepcao:
style = "document"
location = "https://cte.svrs.rs.gov.br/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = (
"http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4/cteRecepcao"
)
input = CteRecepcaoSincV4Soap12CteRecepcaoInput
output = CteRecepcaoSincV4Soap12CteRecepcaoOutput
147 changes: 147 additions & 0 deletions nfelib/cte/soap/v4_0/ctestatusservicov4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:11:18
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4"


@dataclass
class CteDadosMsg(CommonMixin):
class Meta:
name = "cteDadosMsg"
namespace = (
"http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteStatusServicoCtresult(CommonMixin):
class Meta:
name = "cteStatusServicoCTResult"
namespace = (
"http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class CteStatusServicoV4Soap12CteStatusServicoCtInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteStatusServicoV4Soap12CteStatusServicoCtInput.Body"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)

@dataclass
class Body(CommonMixin):
cteDadosMsg: Optional[CteDadosMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4",
},
)


@dataclass
class CteStatusServicoV4Soap12CteStatusServicoCtOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["CteStatusServicoV4Soap12CteStatusServicoCtOutput.Body"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)

@dataclass
class Body(CommonMixin):
cteStatusServicoCTResult: Optional[CteStatusServicoCtresult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4",
},
)
Fault: Optional[
"CteStatusServicoV4Soap12CteStatusServicoCtOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)


class CteStatusServicoV4Soap12CteStatusServicoCt:
style = "document"
location = "https://cte.svrs.rs.gov.br/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = "http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4/cteStatusServicoCT"
input = CteStatusServicoV4Soap12CteStatusServicoCtInput
output = CteStatusServicoV4Soap12CteStatusServicoCtOutput
50 changes: 50 additions & 0 deletions nfelib/cte/wsdl/v4_0/cteconsultav4.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4">
<s:element name="cteDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="cteConsultaCTResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="cteConsultaCTSoap12In">
<wsdl:part name="cteDadosMsg" element="tns:cteDadosMsg" />
</wsdl:message>
<wsdl:message name="cteConsultaCTSoap12Out">
<wsdl:part name="cteConsultaCTResult" element="tns:cteConsultaCTResult" />
</wsdl:message>
<wsdl:portType name="CTeConsultaV4Soap12">
<wsdl:operation name="cteConsultaCT">
<wsdl:input message="tns:cteConsultaCTSoap12In" />
<wsdl:output message="tns:cteConsultaCTSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CTeConsultaV4Soap12" type="tns:CTeConsultaV4Soap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="cteConsultaCT">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4/cteConsultaCT" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CTeConsultaV4">
<wsdl:port name="CTeConsultaV4Soap12" binding="tns:CTeConsultaV4Soap12">
<soap12:address location="https://cte.svrs.rs.gov.br/ws/CTeConsultaV4/CTeConsultaV4.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
50 changes: 50 additions & 0 deletions nfelib/cte/wsdl/v4_0/cterecepcaoeventov4.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4">
<s:element name="cteDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="cteRecepcaoEventoResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="cteRecepcaoEventoSoap12In">
<wsdl:part name="cteDadosMsg" element="tns:cteDadosMsg" />
</wsdl:message>
<wsdl:message name="cteRecepcaoEventoSoap12Out">
<wsdl:part name="cteRecepcaoEventoResult" element="tns:cteRecepcaoEventoResult" />
</wsdl:message>
<wsdl:portType name="CTeRecepcaoEventoV4Soap12">
<wsdl:operation name="cteRecepcaoEvento">
<wsdl:input message="tns:cteRecepcaoEventoSoap12In" />
<wsdl:output message="tns:cteRecepcaoEventoSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CTeRecepcaoEventoV4Soap12" type="tns:CTeRecepcaoEventoV4Soap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="cteRecepcaoEvento">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoEventoV4/cteRecepcaoEvento" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CTeRecepcaoEventoV4">
<wsdl:port name="CTeRecepcaoEventoV4Soap12" binding="tns:CTeRecepcaoEventoV4Soap12">
<soap12:address location="https://cte.svrs.rs.gov.br/ws/CTeRecepcaoEventoV4/CTeRecepcaoEventoV4.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
44 changes: 44 additions & 0 deletions nfelib/cte/wsdl/v4_0/cterecepcaogtvev4.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4">
<s:element name="cteDadosMsg" type="s:string" />
<s:element name="cteRecepcaoGTVeResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="cteRecepcaoGTVeSoap12In">
<wsdl:part name="cteDadosMsg" element="tns:cteDadosMsg" />
</wsdl:message>
<wsdl:message name="cteRecepcaoGTVeSoap12Out">
<wsdl:part name="cteRecepcaoGTVeResult" element="tns:cteRecepcaoGTVeResult" />
</wsdl:message>
<wsdl:portType name="CTeRecepcaoGTVeV4Soap12">
<wsdl:operation name="cteRecepcaoGTVe">
<wsdl:input message="tns:cteRecepcaoGTVeSoap12In" />
<wsdl:output message="tns:cteRecepcaoGTVeSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CTeRecepcaoGTVeV4Soap12" type="tns:CTeRecepcaoGTVeV4Soap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="cteRecepcaoGTVe">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoGTVeV4/cteRecepcaoGTVe" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CTeRecepcaoGTVeV4">
<wsdl:port name="CTeRecepcaoGTVeV4Soap12" binding="tns:CTeRecepcaoGTVeV4Soap12">
<soap12:address location="https://cte.svrs.rs.gov.br/ws/CTeRecepcaoGTVeV4/CTeRecepcaoGTVeV4.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
44 changes: 44 additions & 0 deletions nfelib/cte/wsdl/v4_0/cterecepcaoosv4.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4">
<s:element name="cteDadosMsg" type="s:string" />
<s:element name="cteRecepcaoOSResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="cteRecepcaoOSSoap12In">
<wsdl:part name="cteDadosMsg" element="tns:cteDadosMsg" />
</wsdl:message>
<wsdl:message name="cteRecepcaoOSSoap12Out">
<wsdl:part name="cteRecepcaoOSResult" element="tns:cteRecepcaoOSResult" />
</wsdl:message>
<wsdl:portType name="CTeRecepcaoOSV4Soap12">
<wsdl:operation name="cteRecepcaoOS">
<wsdl:input message="tns:cteRecepcaoOSSoap12In" />
<wsdl:output message="tns:cteRecepcaoOSSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CTeRecepcaoOSV4Soap12" type="tns:CTeRecepcaoOSV4Soap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="cteRecepcaoOS">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoOSV4/cteRecepcaoOS" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CTeRecepcaoOSV4">
<wsdl:port name="CTeRecepcaoOSV4Soap12" binding="tns:CTeRecepcaoOSV4Soap12">
<soap12:address location="https://cte.svrs.rs.gov.br/ws/CTeRecepcaoOSV4/CTeRecepcaoOSV4.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
44 changes: 44 additions & 0 deletions nfelib/cte/wsdl/v4_0/cterecepcaosincv4.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4">
<s:element name="cteDadosMsg" type="s:string" />
<s:element name="cteRecepcaoResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="cteRecepcaoSoap12In">
<wsdl:part name="cteDadosMsg" element="tns:cteDadosMsg" />
</wsdl:message>
<wsdl:message name="cteRecepcaoSoap12Out">
<wsdl:part name="cteRecepcaoResult" element="tns:cteRecepcaoResult" />
</wsdl:message>
<wsdl:portType name="CTeRecepcaoSincV4Soap12">
<wsdl:operation name="cteRecepcao">
<wsdl:input message="tns:cteRecepcaoSoap12In" />
<wsdl:output message="tns:cteRecepcaoSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CTeRecepcaoSincV4Soap12" type="tns:CTeRecepcaoSincV4Soap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="cteRecepcao">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4/cteRecepcao" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CTeRecepcaoSincV4">
<wsdl:port name="CTeRecepcaoSincV4Soap12" binding="tns:CTeRecepcaoSincV4Soap12">
<soap12:address location="https://cte.svrs.rs.gov.br/ws/CTeRecepcaoSincV4/CTeRecepcaoSincV4.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
50 changes: 50 additions & 0 deletions nfelib/cte/wsdl/v4_0/ctestatusservicov4.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4">
<s:element name="cteDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="cteStatusServicoCTResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="cteStatusServicoCTSoap12In">
<wsdl:part name="cteDadosMsg" element="tns:cteDadosMsg" />
</wsdl:message>
<wsdl:message name="cteStatusServicoCTSoap12Out">
<wsdl:part name="cteStatusServicoCTResult" element="tns:cteStatusServicoCTResult" />
</wsdl:message>
<wsdl:portType name="CTeStatusServicoV4Soap12">
<wsdl:operation name="cteStatusServicoCT">
<wsdl:input message="tns:cteStatusServicoCTSoap12In" />
<wsdl:output message="tns:cteStatusServicoCTSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CTeStatusServicoV4Soap12" type="tns:CTeStatusServicoV4Soap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="cteStatusServicoCT">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/cte/wsdl/CTeStatusServicoV4/cteStatusServicoCT" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CTeStatusServicoV4">
<wsdl:port name="CTeStatusServicoV4Soap12" binding="tns:CTeStatusServicoV4Soap12">
<soap12:address location="https://cte.svrs.rs.gov.br/ws/CTeStatusServicoV4/CTeStatusServicoV4.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
51 changes: 51 additions & 0 deletions nfelib/mdfe/client/v3_0/servers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Auto-generated file. Do not edit manually.

# Constants
MDFERECEPCAOEVENTO = "MDFeRecepcaoEvento"
MDFECONSULTA = "MDFeConsulta"
MDFESTATUSSERVICO = "MDFeStatusServico"
MDFECONSNAOENC = "MDFeConsNaoEnc"
MDFEDISTRIBUICAODFE = "MDFeDistribuicaoDFe"
MDFERECEPCAOSINC = "MDFeRecepcaoSinc"
QRCODE = "QR Code"

# Servers


servers = {
'SVRS': {
'prod_server': 'mdfe.svrs.rs.gov.br',
'dev_server': 'mdfe-homologacao.svrs.rs.gov.br',
'services': {
'MDFeRecepcaoEvento': {
'prod': '/ws/MDFeRecepcaoEvento/MDFeRecepcaoEvento.asmx',
'dev': '/ws/MDFeRecepcaoEvento/MDFeRecepcaoEvento.asmx',
},
'MDFeConsulta': {
'prod': '/ws/MDFeConsulta/MDFeConsulta.asmx',
'dev': '/ws/MDFeConsulta/MDFeConsulta.asmx',
},
'MDFeStatusServico': {
'prod': '/ws/MDFeStatusServico/MDFeStatusServico.asmx',
'dev': '/ws/MDFeStatusServico/MDFeStatusServico.asmx',
},
'MDFeConsNaoEnc': {
'prod': '/ws/MDFeConsNaoEnc/MDFeConsNaoEnc.asmx',
'dev': '/ws/MDFeConsNaoEnc/MDFeConsNaoEnc.asmx',
},
'MDFeDistribuicaoDFe': {
'prod': '/ws/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx',
'dev': '/ws/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx',
},
'MDFeRecepcaoSinc': {
'prod': '/ws/MDFeRecepcaoSinc/MDFeRecepcaoSinc.asmx',
'dev': '/ws/MDFeRecepcaoSinc/MDFeRecepcaoSinc.asmx',
},
'QR Code': {
'prod': '/mdfe/qrCode',
'dev': '/mdfe/qrCode',
},
},
},
}

130 changes: 130 additions & 0 deletions nfelib/mdfe/client/v3_0/servers_scraper.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Copyright (C) 2024 Raphaël Valyi - Akretion <raphael.valyi@akretion.com.br>

from __future__ import annotations # Python 3.8 compat

import logging
from pathlib import Path
from typing import Any

import requests
from bs4 import BeautifulSoup
from xsdata.formats.dataclass.serializers import PycodeSerializer

# Constants
MDFE_SVRS_URL = "https://dfe-portal.svrs.rs.gov.br/Mdfe/Servicos"
OUTPUT_FILE = Path("nfelib/nfe/client/servers_mdfe.py")

# Configure logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


def fetch_mdfe_servers(url: str) -> dict[Any, Any]:
"""Fetches the MDFe server actions for production and homologation."""
try:
# Fetch the page content
response = requests.get(url)
response.raise_for_status() # Raise an exception for HTTP errors

# Parse the HTML content
soup = BeautifulSoup(response.content, "lxml")

# Initialize dictionaries to store server actions
servers: dict[Any, Any] = {
"SVRS": {
"prod_server": "mdfe.svrs.rs.gov.br",
"dev_server": "mdfe-homologacao.svrs.rs.gov.br",
"services": {},
}
}

# Find all tables with server information
tables = soup.find_all("table")
for table in tables:
# Determine if the table is for production or homologation
caption = table.find("caption")
if not caption:
continue

if "Produção" in caption.text:
environment = "prod"
elif "Homologação" in caption.text:
environment = "dev"
else:
continue

# Extract server actions from the table
rows = table.find_all("tr")[1:] # Skip the header row
for row in rows:
cols = row.find_all("td")
if len(cols) < 4: # Ensure there are enough columns
continue

service_name = cols[1].text.strip()
service_url = cols[3].text.strip()

# Add the service to the servers dictionary
if service_name not in servers["SVRS"]["services"]:
servers["SVRS"]["services"][service_name] = {}

servers["SVRS"]["services"][service_name][environment] = "/" + "/".join(
service_url.split("/")[3:]
)

logger.info("Successfully fetched MDFe servers.")
return servers

except requests.RequestException as e:
logger.error(f"Failed to fetch MDFe servers: {e}")
return {}
except Exception as e:
logger.error(f"An unexpected error occurred: {e}")
return {}


def save_servers(servers: dict[str, Any], output_file: Path) -> None:
"""Saves the extracted server data and constants as a Python file."""
# Generate the constants section
constants = {
"MDFERECEPCAOEVENTO": "MDFeRecepcaoEvento",
"MDFECONSULTA": "MDFeConsulta",
"MDFESTATUSSERVICO": "MDFeStatusServico",
"MDFECONSNAOENC": "MDFeConsNaoEnc",
"MDFEDISTRIBUICAODFE": "MDFeDistribuicaoDFe",
"MDFERECEPCAOSINC": "MDFeRecepcaoSinc",
"QRCODE": "QR Code",
}
constants_section = "\n".join(
[f'{key} = "{value}"' for key, value in constants.items()]
)

# Use PycodeSerializer to format the servers dictionary
serializer = PycodeSerializer()
formatted_servers = serializer.render(servers, var_name="servers")

# Write the formatted output to the file
content = f"""# Auto-generated file. Do not edit manually.
# Constants
{constants_section}
# Servers
{formatted_servers}
"""
output_file.parent.mkdir(parents=True, exist_ok=True)
output_file.write_text(content, encoding="utf-8")
logger.info(f"MDFe servers and constants saved to {output_file}")


def main():
"""Cli entry point."""
# Fetch the MDFe server actions
servers = fetch_mdfe_servers(MDFE_SVRS_URL)

# Save the results to a file
if servers:
save_servers(servers, OUTPUT_FILE)


if __name__ == "__main__":
main()
32 changes: 32 additions & 0 deletions nfelib/mdfe/client/v3_0/wsdl_downloader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import logging
import sys

from nfelib.utils.wsdl_downloader import download_wsdl_files


def main() -> None:
"""Cli entry point."""
logging.basicConfig(level=logging.INFO)

generate = False
if "--generate" in sys.argv:
generate = True
sys.argv.remove(
"--generate"
) # Remove the --generate flag to avoid interfering with argparse

# Call the generic download_wsdl_files method with MDFe-specific URLs
download_wsdl_files(
"https://mdfe.svrs.rs.gov.br/ws/MDFeRecepcaoEvento/MDFeRecepcaoEvento.asmx",
"https://mdfe.svrs.rs.gov.br/ws/MDFeConsulta/MDFeConsulta.asmx",
"https://mdfe.svrs.rs.gov.br/ws/MDFeConsulta/MDFeConsulta.asmx",
"https://mdfe.svrs.rs.gov.br/ws/MDFeConsNaoEnc/MDFeConsNaoEnc.asmx",
"https://mdfe.svrs.rs.gov.br/ws/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx",
"https://mdfe.svrs.rs.gov.br/ws/MDFeRecepcaoSinc/MDFeRecepcaoSinc.asmx",
# "https://dfe-portal.svrs.rs.gov.br/Mdfe/QrCode", # not a wsdl!
generate=generate,
)


if __name__ == "__main__":
main()
6 changes: 6 additions & 0 deletions nfelib/mdfe/soap/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:09:49
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""
# nothing here
21 changes: 21 additions & 0 deletions nfelib/mdfe/soap/v3_0/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:18:28
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from nfelib.mdfe.soap.v3_0.mdferecepcaosinc import (
MdfeRecepcaoSincSoap12MdfeRecepcao,
MdfeRecepcaoSincSoap12MdfeRecepcaoInput,
MdfeRecepcaoSincSoap12MdfeRecepcaoOutput,
MdfeDadosMsg,
MdfeRecepcaoResult,
)

__all__ = [
"MdfeRecepcaoSincSoap12MdfeRecepcao",
"MdfeRecepcaoSincSoap12MdfeRecepcaoInput",
"MdfeRecepcaoSincSoap12MdfeRecepcaoOutput",
"MdfeDadosMsg",
"MdfeRecepcaoResult",
]
202 changes: 202 additions & 0 deletions nfelib/mdfe/soap/v3_0/mdfeconsnaoenc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:18:26
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import Dict, List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc"


@dataclass
class MdfeCabecMsg(CommonMixin):
class Meta:
name = "mdfeCabecMsg"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc"

cUF: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
versaoDados: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
any_attributes: Dict[str, str] = field(
default_factory=dict,
metadata={
"type": "Attributes",
"namespace": "##any",
},
)


@dataclass
class MdfeConsNaoEncResult(CommonMixin):
class Meta:
name = "mdfeConsNaoEncResult"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeDadosMsg(CommonMixin):
class Meta:
name = "mdfeDadosMsg"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeConsNaoEncSoap12MdfeConsNaoEncInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeConsNaoEncSoap12MdfeConsNaoEncInput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)
Header: Optional["MdfeConsNaoEncSoap12MdfeConsNaoEncInput.Header"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeDadosMsg: Optional[MdfeDadosMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc",
},
)


@dataclass
class MdfeConsNaoEncSoap12MdfeConsNaoEncOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeConsNaoEncSoap12MdfeConsNaoEncOutput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)
Header: Optional["MdfeConsNaoEncSoap12MdfeConsNaoEncOutput.Header"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)

@dataclass
class Body(CommonMixin):
mdfeConsNaoEncResult: Optional[MdfeConsNaoEncResult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc",
},
)
Fault: Optional[
"MdfeConsNaoEncSoap12MdfeConsNaoEncOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc",
},
)


class MdfeConsNaoEncSoap12MdfeConsNaoEnc:
style = "document"
location = (
"https://mdfe.svrs.rs.gov.br/ws/MDFeConsNaoEnc/MDFeConsNaoEnc.asmx"
)
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc/mdfeConsNaoEnc"
input = MdfeConsNaoEncSoap12MdfeConsNaoEncInput
output = MdfeConsNaoEncSoap12MdfeConsNaoEncOutput
200 changes: 200 additions & 0 deletions nfelib/mdfe/soap/v3_0/mdfeconsulta.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:18:25
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import Dict, List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta"


@dataclass
class MdfeCabecMsg(CommonMixin):
class Meta:
name = "mdfeCabecMsg"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta"

cUF: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
versaoDados: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
any_attributes: Dict[str, str] = field(
default_factory=dict,
metadata={
"type": "Attributes",
"namespace": "##any",
},
)


@dataclass
class MdfeConsultaMdfresult(CommonMixin):
class Meta:
name = "mdfeConsultaMDFResult"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeDadosMsg(CommonMixin):
class Meta:
name = "mdfeDadosMsg"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeConsultaSoap12MdfeConsultaMdfInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeConsultaSoap12MdfeConsultaMdfInput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)
Header: Optional["MdfeConsultaSoap12MdfeConsultaMdfInput.Header"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeDadosMsg: Optional[MdfeDadosMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta",
},
)


@dataclass
class MdfeConsultaSoap12MdfeConsultaMdfOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeConsultaSoap12MdfeConsultaMdfOutput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)
Header: Optional["MdfeConsultaSoap12MdfeConsultaMdfOutput.Header"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeConsultaMDFResult: Optional[MdfeConsultaMdfresult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta",
},
)
Fault: Optional[
"MdfeConsultaSoap12MdfeConsultaMdfOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta",
},
)


class MdfeConsultaSoap12MdfeConsultaMdf:
style = "document"
location = "https://mdfe.svrs.rs.gov.br/ws/MDFeConsulta/MDFeConsulta.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = (
"http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta/mdfeConsultaMDF"
)
input = MdfeConsultaSoap12MdfeConsultaMdfInput
output = MdfeConsultaSoap12MdfeConsultaMdfOutput
214 changes: 214 additions & 0 deletions nfelib/mdfe/soap/v3_0/mdfedistribuicaodfe.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:18:27
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import Dict, List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"


@dataclass
class MdfeCabecMsg(CommonMixin):
class Meta:
name = "mdfeCabecMsg"
namespace = (
"http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"
)

cUF: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
versaoDados: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
any_attributes: Dict[str, str] = field(
default_factory=dict,
metadata={
"type": "Attributes",
"namespace": "##any",
},
)


@dataclass
class MdfeDadosMsg(CommonMixin):
class Meta:
name = "mdfeDadosMsg"
namespace = (
"http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeDistDfeInteresseResult(CommonMixin):
class Meta:
name = "mdfeDistDFeInteresseResult"
namespace = (
"http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional[
"MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput.Body"
] = field(
default=None,
metadata={
"type": "Element",
},
)
Header: Optional[
"MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput.Header"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeDadosMsg: Optional[MdfeDadosMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
},
)


@dataclass
class MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional[
"MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput.Body"
] = field(
default=None,
metadata={
"type": "Element",
},
)
Header: Optional[
"MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput.Header"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeDistDFeInteresseResult: Optional[MdfeDistDfeInteresseResult] = (
field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
},
)
)
Fault: Optional[
"MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe",
},
)


class MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresse:
style = "document"
location = "https://mdfe.svrs.rs.gov.br/ws/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe/mdfeDistDFeInteresse"
input = MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseInput
output = MdfeDistribuicaoDfeSoap12MdfeDistDfeInteresseOutput
212 changes: 212 additions & 0 deletions nfelib/mdfe/soap/v3_0/mdferecepcaoevento.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:18:22
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import Dict, List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento"


@dataclass
class MdfeCabecMsg(CommonMixin):
class Meta:
name = "mdfeCabecMsg"
namespace = (
"http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento"
)

cUF: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
versaoDados: Optional[str] = field(
default=None,
metadata={
"type": "Element",
},
)
any_attributes: Dict[str, str] = field(
default_factory=dict,
metadata={
"type": "Attributes",
"namespace": "##any",
},
)


@dataclass
class MdfeDadosMsg(CommonMixin):
class Meta:
name = "mdfeDadosMsg"
namespace = (
"http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeRecepcaoEventoResult(CommonMixin):
class Meta:
name = "mdfeRecepcaoEventoResult"
namespace = (
"http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento"
)

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoInput.Body"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)
Header: Optional[
"MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoInput.Header"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeDadosMsg: Optional[MdfeDadosMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento",
},
)


@dataclass
class MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoOutput.Body"] = (
field(
default=None,
metadata={
"type": "Element",
},
)
)
Header: Optional[
"MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoOutput.Header"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeRecepcaoEventoResult: Optional[MdfeRecepcaoEventoResult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento",
},
)
Fault: Optional[
"MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)

@dataclass
class Header(CommonMixin):
mdfeCabecMsg: Optional[MdfeCabecMsg] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento",
},
)


class MdfeRecepcaoEventoSoap12MdfeRecepcaoEvento:
style = "document"
location = "https://mdfe.svrs.rs.gov.br/ws/MDFeRecepcaoEvento/MDFeRecepcaoEvento.asmx"
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento/mdfeRecepcaoEvento"
input = MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoInput
output = MdfeRecepcaoEventoSoap12MdfeRecepcaoEventoOutput
139 changes: 139 additions & 0 deletions nfelib/mdfe/soap/v3_0/mdferecepcaosinc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
"""This file was generated by xsdata, v24.2.1, on 2025-03-24 16:18:28
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from dataclasses import dataclass, field
from nfelib import CommonMixin
from typing import List, Optional

__NAMESPACE__ = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc"


@dataclass
class MdfeRecepcaoSincSoap12MdfeRecepcaoInput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeRecepcaoSincSoap12MdfeRecepcaoInput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeDadosMsg: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc",
},
)


@dataclass
class MdfeDadosMsg(CommonMixin):
class Meta:
name = "mdfeDadosMsg"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc"

value: str = field(
default="",
metadata={
"required": True,
},
)


@dataclass
class MdfeRecepcaoResult(CommonMixin):
class Meta:
name = "mdfeRecepcaoResult"
namespace = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc"

content: List[object] = field(
default_factory=list,
metadata={
"type": "Wildcard",
"namespace": "##any",
"mixed": True,
},
)


@dataclass
class MdfeRecepcaoSincSoap12MdfeRecepcaoOutput(CommonMixin):
class Meta:
name = "Envelope"
namespace = "http://schemas.xmlsoap.org/soap/envelope/"

Body: Optional["MdfeRecepcaoSincSoap12MdfeRecepcaoOutput.Body"] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Body(CommonMixin):
mdfeRecepcaoResult: Optional[MdfeRecepcaoResult] = field(
default=None,
metadata={
"type": "Element",
"namespace": "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc",
},
)
Fault: Optional[
"MdfeRecepcaoSincSoap12MdfeRecepcaoOutput.Body.Fault"
] = field(
default=None,
metadata={
"type": "Element",
},
)

@dataclass
class Fault(CommonMixin):
faultcode: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultstring: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
faultactor: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)
detail: Optional[str] = field(
default=None,
metadata={
"type": "Element",
"namespace": "",
},
)


class MdfeRecepcaoSincSoap12MdfeRecepcao:
style = "document"
location = (
"https://mdfe.svrs.rs.gov.br/ws/MDFeRecepcaoSinc/MDFeRecepcaoSinc.asmx"
)
transport = "http://schemas.xmlsoap.org/soap/http"
soapAction = "http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc/mdfeRecepcao"
input = MdfeRecepcaoSincSoap12MdfeRecepcaoInput
output = MdfeRecepcaoSincSoap12MdfeRecepcaoOutput
63 changes: 63 additions & 0 deletions nfelib/mdfe/wsdl/v3_0/mdfeconsnaoenc.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc">
<s:element name="mdfeDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeConsNaoEncResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeCabecMsg" type="tns:mdfeCabecMsg" />
<s:complexType name="mdfeCabecMsg">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="cUF" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="versaoDados" type="s:string" />
</s:sequence>
<s:anyAttribute />
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="mdfeConsNaoEncSoap12In">
<wsdl:part name="mdfeDadosMsg" element="tns:mdfeDadosMsg" />
</wsdl:message>
<wsdl:message name="mdfeConsNaoEncSoap12Out">
<wsdl:part name="mdfeConsNaoEncResult" element="tns:mdfeConsNaoEncResult" />
</wsdl:message>
<wsdl:message name="mdfeConsNaoEncmdfeCabecMsg">
<wsdl:part name="mdfeCabecMsg" element="tns:mdfeCabecMsg" />
</wsdl:message>
<wsdl:portType name="MDFeConsNaoEncSoap12">
<wsdl:operation name="mdfeConsNaoEnc">
<wsdl:input message="tns:mdfeConsNaoEncSoap12In" />
<wsdl:output message="tns:mdfeConsNaoEncSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MDFeConsNaoEncSoap12" type="tns:MDFeConsNaoEncSoap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="mdfeConsNaoEnc">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsNaoEnc/mdfeConsNaoEnc" style="document" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeConsNaoEncmdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeConsNaoEncmdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MDFeConsNaoEnc">
<wsdl:port name="MDFeConsNaoEncSoap12" binding="tns:MDFeConsNaoEncSoap12">
<soap12:address location="https://mdfe.svrs.rs.gov.br/ws/MDFeConsNaoEnc/MDFeConsNaoEnc.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
63 changes: 63 additions & 0 deletions nfelib/mdfe/wsdl/v3_0/mdfeconsulta.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta">
<s:element name="mdfeDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeConsultaMDFResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeCabecMsg" type="tns:mdfeCabecMsg" />
<s:complexType name="mdfeCabecMsg">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="cUF" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="versaoDados" type="s:string" />
</s:sequence>
<s:anyAttribute />
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="mdfeConsultaMDFSoap12In">
<wsdl:part name="mdfeDadosMsg" element="tns:mdfeDadosMsg" />
</wsdl:message>
<wsdl:message name="mdfeConsultaMDFSoap12Out">
<wsdl:part name="mdfeConsultaMDFResult" element="tns:mdfeConsultaMDFResult" />
</wsdl:message>
<wsdl:message name="mdfeConsultaMDFmdfeCabecMsg">
<wsdl:part name="mdfeCabecMsg" element="tns:mdfeCabecMsg" />
</wsdl:message>
<wsdl:portType name="MDFeConsultaSoap12">
<wsdl:operation name="mdfeConsultaMDF">
<wsdl:input message="tns:mdfeConsultaMDFSoap12In" />
<wsdl:output message="tns:mdfeConsultaMDFSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MDFeConsultaSoap12" type="tns:MDFeConsultaSoap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="mdfeConsultaMDF">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeConsulta/mdfeConsultaMDF" style="document" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeConsultaMDFmdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeConsultaMDFmdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MDFeConsulta">
<wsdl:port name="MDFeConsultaSoap12" binding="tns:MDFeConsultaSoap12">
<soap12:address location="https://mdfe.svrs.rs.gov.br/ws/MDFeConsulta/MDFeConsulta.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
63 changes: 63 additions & 0 deletions nfelib/mdfe/wsdl/v3_0/mdfedistribuicaodfe.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe">
<s:element name="mdfeDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeDistDFeInteresseResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeCabecMsg" type="tns:mdfeCabecMsg" />
<s:complexType name="mdfeCabecMsg">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="cUF" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="versaoDados" type="s:string" />
</s:sequence>
<s:anyAttribute />
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="mdfeDistDFeInteresseSoap12In">
<wsdl:part name="mdfeDadosMsg" element="tns:mdfeDadosMsg" />
</wsdl:message>
<wsdl:message name="mdfeDistDFeInteresseSoap12Out">
<wsdl:part name="mdfeDistDFeInteresseResult" element="tns:mdfeDistDFeInteresseResult" />
</wsdl:message>
<wsdl:message name="mdfeDistDFeInteressemdfeCabecMsg">
<wsdl:part name="mdfeCabecMsg" element="tns:mdfeCabecMsg" />
</wsdl:message>
<wsdl:portType name="MDFeDistribuicaoDFeSoap12">
<wsdl:operation name="mdfeDistDFeInteresse">
<wsdl:input message="tns:mdfeDistDFeInteresseSoap12In" />
<wsdl:output message="tns:mdfeDistDFeInteresseSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MDFeDistribuicaoDFeSoap12" type="tns:MDFeDistribuicaoDFeSoap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="mdfeDistDFeInteresse">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeDistribuicaoDFe/mdfeDistDFeInteresse" style="document" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeDistDFeInteressemdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeDistDFeInteressemdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MDFeDistribuicaoDFe">
<wsdl:port name="MDFeDistribuicaoDFeSoap12" binding="tns:MDFeDistribuicaoDFeSoap12">
<soap12:address location="https://mdfe.svrs.rs.gov.br/ws/MDFeDistribuicaoDFe/MDFeDistribuicaoDFe.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
63 changes: 63 additions & 0 deletions nfelib/mdfe/wsdl/v3_0/mdferecepcaoevento.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento">
<s:element name="mdfeDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeRecepcaoEventoResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="mdfeCabecMsg" type="tns:mdfeCabecMsg" />
<s:complexType name="mdfeCabecMsg">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="cUF" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="versaoDados" type="s:string" />
</s:sequence>
<s:anyAttribute />
</s:complexType>
</s:schema>
</wsdl:types>
<wsdl:message name="mdfeRecepcaoEventoSoap12In">
<wsdl:part name="mdfeDadosMsg" element="tns:mdfeDadosMsg" />
</wsdl:message>
<wsdl:message name="mdfeRecepcaoEventoSoap12Out">
<wsdl:part name="mdfeRecepcaoEventoResult" element="tns:mdfeRecepcaoEventoResult" />
</wsdl:message>
<wsdl:message name="mdfeRecepcaoEventomdfeCabecMsg">
<wsdl:part name="mdfeCabecMsg" element="tns:mdfeCabecMsg" />
</wsdl:message>
<wsdl:portType name="MDFeRecepcaoEventoSoap12">
<wsdl:operation name="mdfeRecepcaoEvento">
<wsdl:input message="tns:mdfeRecepcaoEventoSoap12In" />
<wsdl:output message="tns:mdfeRecepcaoEventoSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MDFeRecepcaoEventoSoap12" type="tns:MDFeRecepcaoEventoSoap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="mdfeRecepcaoEvento">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoEvento/mdfeRecepcaoEvento" style="document" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeRecepcaoEventomdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
<soap12:header message="tns:mdfeRecepcaoEventomdfeCabecMsg" part="mdfeCabecMsg" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MDFeRecepcaoEvento">
<wsdl:port name="MDFeRecepcaoEventoSoap12" binding="tns:MDFeRecepcaoEventoSoap12">
<soap12:address location="https://mdfe.svrs.rs.gov.br/ws/MDFeRecepcaoEvento/MDFeRecepcaoEvento.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
44 changes: 44 additions & 0 deletions nfelib/mdfe/wsdl/v3_0/mdferecepcaosinc.wsdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc">
<s:element name="mdfeDadosMsg" type="s:string" />
<s:element name="mdfeRecepcaoResult">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="mdfeRecepcaoSoap12In">
<wsdl:part name="mdfeDadosMsg" element="tns:mdfeDadosMsg" />
</wsdl:message>
<wsdl:message name="mdfeRecepcaoSoap12Out">
<wsdl:part name="mdfeRecepcaoResult" element="tns:mdfeRecepcaoResult" />
</wsdl:message>
<wsdl:portType name="MDFeRecepcaoSincSoap12">
<wsdl:operation name="mdfeRecepcao">
<wsdl:input message="tns:mdfeRecepcaoSoap12In" />
<wsdl:output message="tns:mdfeRecepcaoSoap12Out" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MDFeRecepcaoSincSoap12" type="tns:MDFeRecepcaoSincSoap12">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="mdfeRecepcao">
<soap12:operation soapAction="http://www.portalfiscal.inf.br/mdfe/wsdl/MDFeRecepcaoSinc/mdfeRecepcao" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MDFeRecepcaoSinc">
<wsdl:port name="MDFeRecepcaoSincSoap12" binding="tns:MDFeRecepcaoSincSoap12">
<soap12:address location="https://mdfe.svrs.rs.gov.br/ws/MDFeRecepcaoSinc/MDFeRecepcaoSinc.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Loading