From a4d4034fd021d4a8dd885f44d4e2fb573beb1a01 Mon Sep 17 00:00:00 2001 From: Pavel Perestoronin Date: Tue, 7 Nov 2023 18:29:30 +0100 Subject: [PATCH] FIX: support calls without payload in Zeep --- combadge/support/http/abc.py | 6 ------ combadge/support/zeep/backends/async_.py | 2 +- combadge/support/zeep/backends/sync.py | 2 +- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/combadge/support/http/abc.py b/combadge/support/http/abc.py index 6644cd4..db87976 100644 --- a/combadge/support/http/abc.py +++ b/combadge/support/http/abc.py @@ -82,12 +82,6 @@ def ensure_payload(self) -> dict: self.payload = {} return self.payload - def get_payload(self) -> dict: - """Get a validated request payload.""" - if (payload := self.payload) is None: - raise ValueError("a request requires a non-empty payload") - return payload - class SupportsStatusCode(Protocol): """Supports a read-only status code attribute or property.""" diff --git a/combadge/support/zeep/backends/async_.py b/combadge/support/zeep/backends/async_.py index 35593f3..5b3cf25 100644 --- a/combadge/support/zeep/backends/async_.py +++ b/combadge/support/zeep/backends/async_.py @@ -113,7 +113,7 @@ async def bound_method(self: BaseBoundService[ZeepBackend], *args: Any, **kwargs operation = backend._get_operation(request.get_operation_name()) try: async with self.backend._request_with(request): - response = await operation(**request.get_payload()) + response = await operation(**(request.payload or {})) except Fault as e: return backend._parse_soap_fault(e, fault_type) else: diff --git a/combadge/support/zeep/backends/sync.py b/combadge/support/zeep/backends/sync.py index a2ed257..9a23db2 100644 --- a/combadge/support/zeep/backends/sync.py +++ b/combadge/support/zeep/backends/sync.py @@ -92,7 +92,7 @@ def bound_method(self: BaseBoundService[ZeepBackend], *args: Any, **kwargs: Any) operation = backend._get_operation(request.get_operation_name()) try: with self.backend._request_with(request): - response = operation(**request.get_payload()) + response = operation(**(request.payload or {})) except Fault as e: return backend._parse_soap_fault(e, fault_type) else: