AfipSDK / afip.php

Libreria para usar los Web Services de AFIP
https://afipsdk.com/
MIT License
269 stars 119 forks source link

SOAP Fault: HTTP Could not connect to host #5

Closed guillebalmacedaonline closed 6 years ago

guillebalmacedaonline commented 6 years ago

Buenos dias ivanalemunioz tengo el siguiente problema al seguir todos los pasos. Ya busque en google pero no encontre solucion, puede ayudarme con esto? SOAP Fault: HTTP Could not connect to host

ivanalemunioz commented 6 years ago

Hola guimax, es probable que el web service esté caído o funcionando mal, a cual estás intentando ingresar?

El El dom, 17 jun. 2018 a las 01:29, guimax notifications@github.com escribió:

Buenos dias ivanalemunioz tengo el siguiente problema al seguir todos los pasos. Ya busque en google pero no encontre solucion, puede ayudarme con esto? SOAP Fault: HTTP Could not connect to host

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ivanalemunioz/afip.php/issues/5, or mute the thread https://github.com/notifications/unsubscribe-auth/Aaa8Tik18-VhdSqpo-Wk0keOYsrrOXp3ks5t9dsNgaJpZM4UqtCF .

guillebalmacedaonline commented 6 years ago

Gracias por la pronta respuesta mi amigo. Estoy con intención de usar el webservice para facturación electrónica. Es posible que exista una actualización en el mismo??

ivanalemunioz commented 6 years ago

Mmm qué extraño, el de facturación siempre funciona casi perfecto, puede que por alguna razón tú computadora no esté pudiendo conectarse a los web services?

El El dom, 17 jun. 2018 a las 10:29, guimax notifications@github.com escribió:

Gracias por la pronta respuesta mi amigo. Estoy con intención de usar el webservice para facturación electrónica. Es posible que exista una actualización en el mismo??

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/ivanalemunioz/afip.php/issues/5#issuecomment-397879158, or mute the thread https://github.com/notifications/unsubscribe-auth/Aaa8Tj5j7tEK8k6REkemrmp8yf_ewmj4ks5t9lmfgaJpZM4UqtCF .

guillebalmacedaonline commented 6 years ago

Es posible, voy a instalar otra version de xamp y desactivar firewall y antivirus para ver si ayuda. Sino probar en otra PC.

guillebalmacedaonline commented 6 years ago

Definitivamente era un problema con la version de mi xamp. Actualice a la ultima version y funciona de 10. Gracias

pablosanchez commented 5 years ago

Hola a todos. Antes que nada Ivan, muchas gracias por tú aporte. Me ha servido de mucho.

Utilizo Linux y quería dejar mi experiencia. Para los que esten utilizando Fedora o cualquier sistema que utilice SELinux el problema puede venir de ahí. En mi caso tuve que establecer SELinux en modo Permissive para corregir ese problema.

chgalvez commented 4 years ago

Hola a todos. Tuve este problema en un droplet Debian en DigitalOcean, pero supongo que es lo mismo para cualqueir servidor Debian 9 o 10. Despues de horas de buscar, resultó que hay que comentar o remover la linea:

CipherString = DEFAULT@SECLEVEL=2

del archivo /etc/ssl/openssl.cnf.

Evidentemente choca con el nivel de seguridad de cifrado con el ultimo cliente de OPENSSL. Espero que les sea de ayuda.

BrunoContartese1 commented 4 years ago

Buen día; Re abro este issue; desde ayer no estaría conectándose y tirando el error SOAP Fault: HTTP Could not connect to host

No se si tiene algo que ver con el cambio que está haciendo AFIP a TLS 1.2, o simplemente andan mal los ws.

Saludos..

arieltallerpd commented 4 years ago

Quizá a alguien le sirva de ayuda, con PHP 7.4 y la extension SOAP se recibe ese error. Un downgrade a la version 7.2 y funciona de nuevo. Y deshabilitar el cache: ini_set('soap.wsdl_cache_enabled',0); ini_set('soap.wsdl_cache_ttl',0);

jplarrea commented 4 years ago

Quizá a alguien le sirva de ayuda, con PHP 7.4 y la extension SOAP se recibe ese error. Un downgrade a la version 7.2 y funciona de nuevo. Y deshabilitar el cache: ini_set('soap.wsdl_cache_enabled',0); ini_set('soap.wsdl_cache_ttl',0);

no hay otra forma? no quiero hacer un downgrade del servidor, estoy usando ubuntu 20.04 lts y lo unico que me falla es eso.

arieltallerpd commented 4 years ago

Quizá a alguien le sirva de ayuda, con PHP 7.4 y la extension SOAP se recibe ese error. Un downgrade a la version 7.2 y funciona de nuevo. Y deshabilitar el cache: ini_set('soap.wsdl_cache_enabled',0); ini_set('soap.wsdl_cache_ttl',0);

no hay otra forma? no quiero hacer un downgrade del servidor, estoy usando ubuntu 20.04 lts y lo unico que me falla es eso.

Algo que me queda en duda es si deshabilitar el cache soap directamente desde el php.ini en 7.4 funcione. Busca la sección [soap] en el php.ini y establece los siguientes parámetros en 0:

soap.wsdl_cache_enabled=0 soap.wsdl_cache_ttl=0

Recordá reiniciar Apache (sudo systemctl restart apache2)

chgalvez commented 4 years ago

No probaron cambiar el nivel de seguridad en el archivo /etc/ssl/openssl.cnf?

CipherString = DEFAULT@SECLEVEL=2

al final de todo, como cito mas arriba. Con eso deberia solucionarse.

jplarrea commented 4 years ago

No probaron cambiar el nivel de seguridad en el archivo /etc/ssl/openssl.cnf?

CipherString = DEFAULT@SECLEVEL=2

al final de todo, como cito mas arriba. Con eso deberia solucionarse.

no existe esa linea en ubuntu 20.04 LTS, la agregué en ese archivo igualmente y sigue sin funcionar.

jplarrea commented 4 years ago

Quizá a alguien le sirva de ayuda, con PHP 7.4 y la extension SOAP se recibe ese error. Un downgrade a la version 7.2 y funciona de nuevo. Y deshabilitar el cache: ini_set('soap.wsdl_cache_enabled',0); ini_set('soap.wsdl_cache_ttl',0);

no hay otra forma? no quiero hacer un downgrade del servidor, estoy usando ubuntu 20.04 lts y lo unico que me falla es eso.

Algo que me queda en duda es si deshabilitar el cache soap directamente desde el php.ini en 7.4 funcione. Busca la sección [soap] en el php.ini y establece los siguientes parámetros en 0:

soap.wsdl_cache_enabled=0 soap.wsdl_cache_ttl=0

Recordá reiniciar Apache (sudo systemctl restart apache2)

tampoco funciona

jplarrea commented 4 years ago

No probaron cambiar el nivel de seguridad en el archivo /etc/ssl/openssl.cnf? CipherString = DEFAULT@SECLEVEL=2 al final de todo, como cito mas arriba. Con eso deberia solucionarse.

no existe esa linea en ubuntu 20.04 LTS, la agregué en ese archivo igualmente y sigue sin funcionar.

aca encontré la solución!

https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level

en el archivo /etc/ssl/openssl.cnf al principio se pone: openssl_conf = default_conf

abajo del todo del archivo:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT:@SECLEVEL=1

juanig98 commented 4 years ago

Funciona bien! Muchas gracias!

No probaron cambiar el nivel de seguridad en el archivo /etc/ssl/openssl.cnf? CipherString = DEFAULT@SECLEVEL=2 al final de todo, como cito mas arriba. Con eso deberia solucionarse.

no existe esa linea en ubuntu 20.04 LTS, la agregué en ese archivo igualmente y sigue sin funcionar.

aca encontré la solución!

https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level

en el archivo /etc/ssl/openssl.cnf al principio se pone: openssl_conf = default_conf

abajo del todo del archivo:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT:@SECLEVEL=1

alejandro-fiore commented 3 years ago

Para los que usan CentOS 8 el CipherString lo editan con: sudo vim /etc/crypto-policies/back-ends/opensslcnf.config

Al menos en mi caso bastó con cambiar @SECLEVEL=2 por @SECLEVEL=1 y agregarle al new SoapClient el stream_context: 'stream_context' => stream_context_create(['ssl'=> ['verify_peer'=> false,'verify_peer_name'=> false]]) en el array de configuración.

maganius commented 3 years ago

No probaron cambiar el nivel de seguridad en el archivo /etc/ssl/openssl.cnf? CipherString = DEFAULT@SECLEVEL=2 al final de todo, como cito mas arriba. Con eso deberia solucionarse.

no existe esa linea en ubuntu 20.04 LTS, la agregué en ese archivo igualmente y sigue sin funcionar.

aca encontré la solución!

https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level

en el archivo /etc/ssl/openssl.cnf al principio se pone: openssl_conf = default_conf

abajo del todo del archivo:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT:@SECLEVEL=1

yo tengo el mismo problema pero es algo mas raro aun, tengo una libreria para usar SOAP y con esta no me puedo conectar al WS dice Could not connect to host pero si me conecto con el cliente nativo de SAOP se puede conectar normalmente asi que imagino que es algun tipo de configuracion que tengo mal al enviar el soap pero no estoy encontrando donde o cual.

esta es la configuracion que envia la libreria:

array: [
  "cache_wsdl" => 0
  "connection_timeout" => 5
  "exceptions" => true
  "features" => 5
  "soap_version" => 2
  "trace" => true
]

y sin la libreria lo envio sin opciones de esta forma:

$client = new \SoapClient($ws_url);

de esta ultima si funciona bien, obviamente intente quitarle las opciones que envia la libreria pero de todas formas me devuelve el mismo error

calabresem commented 3 years ago

Dejo otra solución con la que pude resolver el mismo problema en PHP 7.4. En los parámetros de creación del stream_context, le agrego el cipher a usar:

$stream_opts = ['ssl' => 
                    [
                        'ciphers' => 'AES256-SHA',
                        'verify_peer' => false,
                        'verify_peer_name' => false
                    ]
                ];
fran81 commented 3 years ago

Dejo otra solución con la que pude resolver el mismo problema en PHP 7.4. En los parámetros de creación del stream_context, le agrego el cipher a usar:

$stream_opts = ['ssl' => 
                    [
                        'ciphers' => 'AES256-SHA',
                        'verify_peer' => false,
                        'verify_peer_name' => false
                    ]
                ];

Muchas gracias, funcionó para mi.

jcpatio commented 3 years ago

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT:@SECLEVEL=1

muchísimas gracias por ayudarme con esa solución gracias me ayudaste mucho no conseguía que era

kukolin commented 3 years ago

Dejo otra solución con la que pude resolver el mismo problema en PHP 7.4. En los parámetros de creación del stream_context, le agrego el cipher a usar:

$stream_opts = ['ssl' => 
                    [
                        'ciphers' => 'AES256-SHA',
                        'verify_peer' => false,
                        'verify_peer_name' => false
                    ]
                ];

Este me funcionó perfecto! En mi caso, estaba usando CentOS 8 pero no puedo acceder al config del OpenSSL porque es un hosting web. Se solucinó cuando agregué el parámetro 'ciphers' en el stream_context. Muchas gracias!

guillebalmacedaonline commented 2 years ago

en el archivo /etc/ssl/openssl.cnf al principio se pone: openssl_conf = default_conf

abajo del todo del archivo:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT:@SECLEVEL=1

Funciona perfectamente. Tuve problema en server ubuntu con php 7.4 Tener en cuenta que si tocaron en el php.ini: soap.wsdl_cache_enabled soap.wsdl_cache_ttl vuelvan al valor por defecto, que es soap.wsdl_cache_enabled=1 soap.wsdl_cache_ttl=86400

Saludos.

nanocarp01 commented 2 years ago

No probaron cambiar el nivel de seguridad en el archivo /etc/ssl/openssl.cnf?

CipherString = DEFAULT@SECLEVEL=2

al final de todo, como cito mas arriba. Con eso deberia solucionarse.

no encuentro esa linea dentro del archivo

aledc7 commented 2 years ago

Hola a todos. Tuve este problema en un droplet Debian en DigitalOcean, pero supongo que es lo mismo para cualqueir servidor Debian 9 o 10. Despues de horas de buscar, resultó que hay que comentar o remover la linea:

CipherString = DEFAULT@SECLEVEL=2

del archivo /etc/ssl/openssl.cnf.

Evidentemente choca con el nivel de seguridad de cifrado con el ultimo cliente de OPENSSL. Espero que les sea de ayuda.

Mil Gracias hermano!!! después de horas de búsqueda, ya no sabía por donde más buscar. Gracias de nuevo.

Nicolass83 commented 2 years ago

Dejo otra solución con la que pude resolver el mismo problema en PHP 7.4. En los parámetros de creación del stream_context, le agrego el cipher a usar:

$stream_opts = ['ssl' => 
                    [
                        'ciphers' => 'AES256-SHA',
                        'verify_peer' => false,
                        'verify_peer_name' => false
                    ]
                ];

Este me funcionó perfecto! En mi caso, estaba usando CentOS 8 pero no puedo acceder al config del OpenSSL porque es un hosting web. Se solucinó cuando agregué el parámetro 'ciphers' en el stream_context. Muchas gracias!

A donde realizan esta modificacion?...

NicoMachado commented 1 year ago

Buenos Dias Se que el issue está cerrado, pero busco la misma solución, para un sistema que no he modificado en 2 años, o mas! Esta corriendo en XAMPP en Windows la version es muy antigua PHP 5.3 Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

La versión productiva evidentemente sigue funcionando, mi problema esta en mi maquina con Windows 10. El error que tengo es : SoapFault::__set_state(array( 'message' => 'Could not connect to host'...)

Asi tengo el llamado al WebService getTiposDoc()

                   $opts = array(
                        'ssl' => array('ciphers' => 'AES256-SHA',
                                 'verify_peer'=>false, 
                                 'verify_peer_name'=>false        //Agregado
                            )
                    );
                    $client_wsfe = new SoapClient($prefijo.WSFEV1, array(       //WSDL
                                'trace' => true,
                                'encoding' => 'UTF-8',
                                'cache_wsdl' => WSDL_CACHE_BOTH,
                                //'ssl_method' => SOAP_SSL_METHOD_SSLv3,
                                'stream_context' => stream_context_create($opts),
                                "exceptions" => false,

                                //AGREGADO
                                'verifypeer' => false, 
                                'verifyhost' => false, 
                                'soap_version' => SOAP_1_2,
                                "connection_timeout" => 180,       //AGREGADO

                            ));

Quiero entender que parámetros necesita SoapClient() para luego ir a modificar Afip.php en mi version local...

Desde ya muchas gracias!

rata71 commented 1 year ago

Hola @NicoMachado, consulta... haz encontrado la solucion? Muchas gracias

Rosamunda commented 7 months ago

Buenas, perdón que reabra este ticket, pero estoy teniendo el mismo problema, y la solución de modificar CipherString = DEFAULT@SECLEVEL=2 no duncionó porque ya estaba de esta forma (el archivo que modifiqué era /etc/crypto-policies/back-ends/opensslcnf.config).

El sistema operativo es Alma9, que entiendo es la continuación de CentOS.

Leí sobre la solución que modifica los "parámetros de creación del stream_context" (?).

$stream_opts = ['ssl' => 
                    [
                        'ciphers' => 'AES256-SHA',
                        'verify_peer' => false,
                        'verify_peer_name' => false
                    ]
                ];

Perdón mi ignorancia, pero dónde se modifica eso? Tengo la versión 0.5 del SDK de Afip y no veo dónde modifcar eso. $stream_opts no aparece en Afip.php

En ElectronicBilling.php tengo, será por mi versión de SOAP?:

    var $soap_version   = SOAP_1_2;
    var $WSDL           = 'wsfe-production.wsdl';
    var $URL            = 'https://servicios1.afip.gov.ar/wsfev1/service.asmx';
    var $WSDL_TEST      = 'wsfe.wsdl';
    var $URL_TEST       = 'https://wswhomo.afip.gov.ar/wsfev1/service.asmx';
ivanalemunioz commented 7 months ago

@Rosamunda Deberías buscar en el código donde se hace el new SoapClient y agregarle:

'stream_context' => stream_context_create(['ssl' => 
    [
        'ciphers' => 'AES256-SHA',
        'verify_peer' => false,
        'verify_peer_name' => false
    ]
])
Rosamunda commented 7 months ago

Muchas gracias @ivanalemunioz !!

ale-softplace commented 2 months ago

Hola!! no me funciona nada de eso que proponen que más puedo probar?

NOTA: estoy en un hosting y no puedo modificar el archivo que mencionan

gracias!

jplarrea commented 2 months ago

Sin modificar archivo lo veo dificil.

Funciona perfecto para Ubutu 24 LTS con PHP 8.3

El El lun, 19 ago 2024 a la(s) 15:08, SoftPlace Software < @.***> escribió:

Hola!! no me funciona nada de eso que proponen que más puedo probar?

NOTA: estoy en un hosting y no puedo modificar el archivo que mencionan

gracias!

— Reply to this email directly, view it on GitHub https://github.com/AfipSDK/afip.php/issues/5#issuecomment-2297144405, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAUT5WKDEAQPMC5Q2GNSVXLZSIYARAVCNFSM4FFK2CC2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMRZG4YTINBUGA2Q . You are receiving this because you commented.Message ID: <AfipSDK/afip. @.***>

ale-softplace commented 2 months ago

pasaron la forma de hacerlo con php pasando un array en el new soapClient()

pero no me funcionó quizá alguien me pueda dar una idea mas gracias!

Nicolass83 commented 2 months ago

Cuál es tu error?

Obtener Outlook para Androidhttps://aka.ms/AAb9ysg


From: SoftPlace Software @.> Sent: Monday, August 19, 2024 3:22:29 PM To: AfipSDK/afip.php @.> Cc: Nicolass83 @.>; Comment @.> Subject: Re: [AfipSDK/afip.php] SOAP Fault: HTTP Could not connect to host (#5)

pasaron la forma de hacerlo con php pasando un array en el new soapClient()

pero no me funcionó quizá alguien me pueda dar una idea mas gracias!

— Reply to this email directly, view it on GitHubhttps://github.com/AfipSDK/afip.php/issues/5#issuecomment-2297170408, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOKER7ZNY4DK62SDK5E7BCLZSIZWLAVCNFSM4FFK2CC2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMRZG4YTOMBUGA4A. You are receiving this because you commented.Message ID: @.***>

ivanalemunioz commented 2 months ago

Otra opción es descargar cacert.pem y pasarselo al SoapClient options

'stream_context' => stream_context_create(
    [
        'ssl'=> [
            'ciphers'=> 'AES256-SHA',
            'verify_peer'=> true,
            'cafile'   => __DIR__ . '/cacert.pem',
            'verify_peer_name'=> true
        ]
    ]
)

En este caso el cacert.pem estaria en la misma carpeta que el archivo Afip.php __DIR__ . '/cacert.pem'

ebalmaceda commented 4 weeks ago

Me encuentro con este problema al mudar un sistema de Centos 7 a AlmaLinux, intente lo que sugieren aca pero no logro solucionarlo, me faltará habilitar algun puerto o algo similar?

ivanalemunioz commented 4 weeks ago

@ebalmaceda Probaste con la ultima respuesta que puse? Con el cacert

ebalmaceda commented 4 weeks ago
        'ciphers' => 'AES256-SHA',
        'verify_peer' => false,
        'verify_peer_name' => false

@ivanalemunioz Gracias por tu pronta respuesta! Al final pude solucionarlo con esta opción que cito.

Intente tambien tu alternativa, creo que el secreto estaba en: 'verify_peer' => false, 'verify_peer_name' => false

Lo que nunca voy a entender es porque si funcionaba bien, al mudarlo de server me surgio este problema. Gracias de nuevo por tu trabajo!! Me salvaron!