No se puede conectar a la API de Soap SugarCRM
Pregunta
Acabo de comenzar un proyecto donde necesito insertar contactos en un sistema SugarCRM usando la interfaz SOAP.
Hasta ahora he creado una referencia al servicio http: // sugar -dev.walkinwifi.net/soap.php?wsdl=sugarsoap
Luego escribe un código como este
public SugarHelper()
{
//Create a new instance of the client proxy
this.sugarClient = new sugarsoapPortTypeClient();
//Set the default value
this.sessionId = String.Empty;
}
public bool Authenticate(string Username, string Password)
{
//Create an authentication object
user_auth user = new user_auth();
//Set the credentials
user.user_name = Username;
user.password = this.computeMD5String(Password);
//Try to authenticate
set_entry_result authentication_result = this.sugarClient.login(user, "");
esto te da la broma.
La última línea me da una excepción cuando se llama al inicio de sesión.
La excepción que obtengo tiene una excepción interna quejándose de que no puede conectarse a https: // sugar-dev.walkinwifi.net/soap.php
{"An error occurred while making the HTTP request to https://sugar-dev.walkinwifi.net/soap.php. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server."}
¿De dónde viene la parte https? No he usado otra referencia que no sea http, pero el error indica claramente https.
¿Puedo conectarme a SugarCRM soap a través de http o debo usar https?
En todos los ejemplos que puedo encontrar en la red, es http, pero la mayoría de ellos son php con muy C #.
Solución
Estoy buscando en el lugar equivocado. Dentro de la configuración de Soap de Sugar, especifique la url que se utilizará para las llamadas de jabón. Esto se establece en https://sugar-dev.walkinwifi.com .
Lo cambié a http y todo está bien.
Otros consejos
En cualquier caso, los servicios SOAP también deben funcionar a través de HTTPS. Personalmente no he tenido ningún problema, incluso con un cliente C #. Verifique que el certificado del servidor y la cadena de certificados sean válidos.
Adiós Antonio.