it seems to me that "response" as SoapboxResponse is not really used besides for returning headers. You could minimize the diff by doing something like this:

     headers = ()
     return_object = self.call_wrapper(method, soapbox_request, input_object)
     if not isinstance(return_object, SoapboxResponse):
         headers = response.soap_header
         return_object = response.content

But then may be it's the best to remove the SoapboxResponse and just return an Envelope? Because that's what is returned at the end of the day anyways and it allows passing any possible option/attribute.
(please treat that only as advice, no strong opinion on that - though I think both suggestions would lead to simpler code.)