Saltar al contenido

Cambiar la URL del servicio en Python Zeep

Este post fue evaluado por expertos para que tengas la garantía de la exactitud de nuestro tutorial.

Solución:

Esto debería ser posible a través de http://docs.python-zeep.org/en/master/client.html#creating-new-serviceproxy-objects

Saludos (autor de zeep)

Para un punto final en un servidor interno, no accesible a través de Internet, puerto 80 reenviado mediante ssh a localhost: 8080 Hice el siguiente fragmento, copia el enlace del servicio y aplica una traducción a la dirección de enlace para crear un nuevo servicio.

def get_service(client, translation):
    if translation:
        service_binding = client.service._binding.name
        service_address = client.service._binding_options['address']
        return client.create_service(
            service_binding,
            service_address.replace(*translation, 1))
    else:
        return client.service

# ssh port forwarded internal.example.com:80 to localhost:8080

client = zeep.Client(wsdl="localhost:8080/endpoint?WSDL")

# client.service now points to the unreachable url internal.example.com/endpoint

service = get_service(client=client, translation=('internal.example.com', 'localhost:8080'))

# service now points to localhost:8080/endpoint

Otro truco rápido podría ser.

client.service._binding_options["address"] = your_url

valoraciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *